0001 // SPDX-License-Identifier: GPL-2.0
0002 #include <dt-bindings/input/input.h>
0003
0004 #include "qcom-msm8960.dtsi"
0005
0006 / {
0007 model = "Qualcomm MSM8960 CDP";
0008 compatible = "qcom,msm8960-cdp", "qcom,msm8960";
0009
0010 aliases {
0011 serial0 = &gsbi5_serial;
0012 };
0013
0014 chosen {
0015 stdout-path = "serial0:115200n8";
0016 };
0017
0018 soc {
0019 gsbi@16400000 {
0020 status = "okay";
0021 qcom,mode = <GSBI_PROT_I2C_UART>;
0022 serial@16440000 {
0023 status = "okay";
0024 };
0025 };
0026
0027 amba {
0028 /* eMMC */
0029 sdcc1: mmc@12400000 {
0030 status = "okay";
0031 };
0032
0033 /* External micro SD card */
0034 sdcc3: mmc@12180000 {
0035 status = "okay";
0036 };
0037 };
0038
0039 rpm@108000 {
0040 regulators {
0041 compatible = "qcom,rpm-pm8921-regulators";
0042 vin_lvs1_3_6-supply = <&pm8921_s4>;
0043 vin_lvs2-supply = <&pm8921_s4>;
0044 vin_lvs4_5_7-supply = <&pm8921_s4>;
0045 vdd_ncp-supply = <&pm8921_l6>;
0046 vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
0047 vdd_l21_l23_l29-supply = <&pm8921_s8>;
0048 vdd_l24-supply = <&pm8921_s1>;
0049 vdd_l25-supply = <&pm8921_s1>;
0050 vdd_l27-supply = <&pm8921_s7>;
0051 vdd_l28-supply = <&pm8921_s7>;
0052
0053 /* Buck SMPS */
0054 pm8921_s1: s1 {
0055 regulator-always-on;
0056 regulator-min-microvolt = <1225000>;
0057 regulator-max-microvolt = <1225000>;
0058 qcom,switch-mode-frequency = <3200000>;
0059 bias-pull-down;
0060 };
0061
0062 pm8921_s2: s2 {
0063 regulator-min-microvolt = <1300000>;
0064 regulator-max-microvolt = <1300000>;
0065 qcom,switch-mode-frequency = <1600000>;
0066 bias-pull-down;
0067 };
0068
0069 pm8921_s3: s3 {
0070 regulator-min-microvolt = <500000>;
0071 regulator-max-microvolt = <1150000>;
0072 qcom,switch-mode-frequency = <4800000>;
0073 bias-pull-down;
0074 };
0075
0076 pm8921_s4: s4 {
0077 regulator-always-on;
0078 regulator-min-microvolt = <1800000>;
0079 regulator-max-microvolt = <1800000>;
0080 qcom,switch-mode-frequency = <1600000>;
0081 bias-pull-down;
0082 qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;
0083 };
0084
0085 pm8921_s7: s7 {
0086 regulator-min-microvolt = <1150000>;
0087 regulator-max-microvolt = <1150000>;
0088 qcom,switch-mode-frequency = <3200000>;
0089 bias-pull-down;
0090 };
0091
0092 pm8921_s8: s8 {
0093 regulator-always-on;
0094 regulator-min-microvolt = <2050000>;
0095 regulator-max-microvolt = <2050000>;
0096 qcom,switch-mode-frequency = <1600000>;
0097 bias-pull-down;
0098 };
0099
0100 /* PMOS LDO */
0101 pm8921_l1: l1 {
0102 regulator-always-on;
0103 regulator-min-microvolt = <1050000>;
0104 regulator-max-microvolt = <1050000>;
0105 bias-pull-down;
0106 };
0107
0108 pm8921_l2: l2 {
0109 regulator-min-microvolt = <1200000>;
0110 regulator-max-microvolt = <1200000>;
0111 bias-pull-down;
0112 };
0113
0114 pm8921_l3: l3 {
0115 regulator-min-microvolt = <3075000>;
0116 regulator-max-microvolt = <3075000>;
0117 bias-pull-down;
0118 };
0119
0120 pm8921_l4: l4 {
0121 regulator-always-on;
0122 regulator-min-microvolt = <1800000>;
0123 regulator-max-microvolt = <1800000>;
0124 bias-pull-down;
0125 };
0126
0127 pm8921_l5: l5 {
0128 regulator-min-microvolt = <2950000>;
0129 regulator-max-microvolt = <2950000>;
0130 bias-pull-down;
0131 };
0132
0133 pm8921_l6: l6 {
0134 regulator-min-microvolt = <2950000>;
0135 regulator-max-microvolt = <2950000>;
0136 bias-pull-down;
0137 };
0138
0139 pm8921_l7: l7 {
0140 regulator-always-on;
0141 regulator-min-microvolt = <1850000>;
0142 regulator-max-microvolt = <2950000>;
0143 bias-pull-down;
0144 };
0145
0146 pm8921_l8: l8 {
0147 regulator-min-microvolt = <2800000>;
0148 regulator-max-microvolt = <3000000>;
0149 bias-pull-down;
0150 };
0151
0152 pm8921_l9: l9 {
0153 regulator-min-microvolt = <3000000>;
0154 regulator-max-microvolt = <3000000>;
0155 bias-pull-down;
0156 };
0157
0158 pm8921_l10: l10 {
0159 regulator-min-microvolt = <3000000>;
0160 regulator-max-microvolt = <3000000>;
0161 bias-pull-down;
0162 };
0163
0164 pm8921_l11: l11 {
0165 regulator-min-microvolt = <2850000>;
0166 regulator-max-microvolt = <2850000>;
0167 bias-pull-down;
0168 };
0169
0170 pm8921_l12: l12 {
0171 regulator-min-microvolt = <1200000>;
0172 regulator-max-microvolt = <1200000>;
0173 bias-pull-down;
0174 };
0175
0176 pm8921_l14: l14 {
0177 regulator-min-microvolt = <1800000>;
0178 regulator-max-microvolt = <1800000>;
0179 bias-pull-down;
0180 };
0181
0182 pm8921_l15: l15 {
0183 regulator-min-microvolt = <1800000>;
0184 regulator-max-microvolt = <2950000>;
0185 bias-pull-down;
0186 };
0187
0188 pm8921_l16: l16 {
0189 regulator-min-microvolt = <2800000>;
0190 regulator-max-microvolt = <2800000>;
0191 bias-pull-down;
0192 };
0193
0194 pm8921_l17: l17 {
0195 regulator-min-microvolt = <1800000>;
0196 regulator-max-microvolt = <2950000>;
0197 bias-pull-down;
0198 };
0199
0200 pm8921_l18: l18 {
0201 regulator-min-microvolt = <1300000>;
0202 regulator-max-microvolt = <1300000>;
0203 bias-pull-down;
0204 };
0205
0206 pm8921_l21: l21 {
0207 regulator-min-microvolt = <1900000>;
0208 regulator-max-microvolt = <1900000>;
0209 bias-pull-down;
0210 };
0211
0212 pm8921_l22: l22 {
0213 regulator-min-microvolt = <2750000>;
0214 regulator-max-microvolt = <2750000>;
0215 bias-pull-down;
0216 };
0217
0218 pm8921_l23: l23 {
0219 regulator-always-on;
0220 regulator-min-microvolt = <1800000>;
0221 regulator-max-microvolt = <1800000>;
0222 bias-pull-down;
0223 };
0224
0225 pm8921_l24: l24 {
0226 regulator-min-microvolt = <750000>;
0227 regulator-max-microvolt = <1150000>;
0228 bias-pull-down;
0229 };
0230
0231 pm8921_l25: l25 {
0232 regulator-always-on;
0233 regulator-min-microvolt = <1250000>;
0234 regulator-max-microvolt = <1250000>;
0235 bias-pull-down;
0236 };
0237
0238 /* Low Voltage Switch */
0239 pm8921_lvs1: lvs1 {
0240 bias-pull-down;
0241 };
0242
0243 pm8921_lvs2: lvs2 {
0244 bias-pull-down;
0245 };
0246
0247 pm8921_lvs3: lvs3 {
0248 bias-pull-down;
0249 };
0250
0251 pm8921_lvs4: lvs4 {
0252 bias-pull-down;
0253 };
0254
0255 pm8921_lvs5: lvs5 {
0256 bias-pull-down;
0257 };
0258
0259 pm8921_lvs6: lvs6 {
0260 bias-pull-down;
0261 };
0262
0263 pm8921_lvs7: lvs7 {
0264 bias-pull-down;
0265 };
0266
0267 pm8921_ncp: ncp {
0268 regulator-min-microvolt = <1800000>;
0269 regulator-max-microvolt = <1800000>;
0270 qcom,switch-mode-frequency = <1600000>;
0271 };
0272 };
0273 };
0274
0275 gsbi@16000000 {
0276 status = "okay";
0277 qcom,mode = <GSBI_PROT_SPI>;
0278 pinctrl-names = "default";
0279 pinctrl-0 = <&spi1_default>;
0280 spi@16080000 {
0281 status = "okay";
0282 ethernet@0 {
0283 compatible = "micrel,ks8851";
0284 reg = <0>;
0285 interrupt-parent = <&msmgpio>;
0286 interrupts = <90 8>;
0287 spi-max-frequency = <5400000>;
0288 vdd-supply = <&ext_l2>;
0289 vdd-io-supply = <&pm8921_lvs6>;
0290 reset-gpios = <&msmgpio 89 0>;
0291 };
0292 };
0293 };
0294
0295 pinctrl@800000 {
0296 spi1_default: spi1_default {
0297 mux {
0298 pins = "gpio6", "gpio7", "gpio9";
0299 function = "gsbi1";
0300 };
0301
0302 mosi {
0303 pins = "gpio6";
0304 drive-strength = <12>;
0305 bias-disable;
0306 };
0307
0308 miso {
0309 pins = "gpio7";
0310 drive-strength = <12>;
0311 bias-disable;
0312 };
0313
0314 cs {
0315 pins = "gpio8";
0316 drive-strength = <12>;
0317 bias-disable;
0318 output-low;
0319 };
0320
0321 clk {
0322 pins = "gpio9";
0323 drive-strength = <12>;
0324 bias-disable;
0325 };
0326 };
0327 };
0328 };
0329
0330 regulators {
0331 compatible = "simple-bus";
0332
0333 ext_l2: gpio-regulator@91 {
0334 compatible = "regulator-fixed";
0335 regulator-name = "ext_l2";
0336 gpio = <&msmgpio 91 0>;
0337 startup-delay-us = <10000>;
0338 enable-active-high;
0339 };
0340 };
0341 };
0342
0343 &pmicintc {
0344 keypad@148 {
0345 linux,keymap = <
0346 MATRIX_KEY(0, 0, KEY_VOLUMEUP)
0347 MATRIX_KEY(0, 1, KEY_VOLUMEDOWN)
0348 MATRIX_KEY(0, 2, KEY_CAMERA_FOCUS)
0349 MATRIX_KEY(0, 3, KEY_CAMERA)
0350 >;
0351 keypad,num-rows = <1>;
0352 keypad,num-columns = <5>;
0353 };
0354 };