GNU Linux-libre 6.1.90-gnu
[releases.git] / arch / arm / boot / dts / qcom-msm8960-cdp.dts
1 // SPDX-License-Identifier: GPL-2.0
2 #include <dt-bindings/input/input.h>
3
4 #include "qcom-msm8960.dtsi"
5
6 / {
7         model = "Qualcomm MSM8960 CDP";
8         compatible = "qcom,msm8960-cdp", "qcom,msm8960";
9
10         aliases {
11                 serial0 = &gsbi5_serial;
12         };
13
14         chosen {
15                 stdout-path = "serial0:115200n8";
16         };
17
18         regulators {
19                 compatible = "simple-bus";
20
21                 ext_l2: gpio-regulator@91 {
22                         compatible = "regulator-fixed";
23                         regulator-name = "ext_l2";
24                         gpio = <&msmgpio 91 0>;
25                         startup-delay-us = <10000>;
26                         enable-active-high;
27                 };
28         };
29 };
30
31 &gsbi1 {
32         qcom,mode = <GSBI_PROT_SPI>;
33         pinctrl-names = "default";
34         pinctrl-0 = <&spi1_default>;
35         status = "okay";
36 };
37
38 &gsbi1_spi {
39         status = "okay";
40
41         ethernet@0 {
42                 compatible = "micrel,ks8851";
43                 reg = <0>;
44                 interrupt-parent = <&msmgpio>;
45                 interrupts = <90 8>;
46                 spi-max-frequency = <5400000>;
47                 vdd-supply = <&ext_l2>;
48                 vdd-io-supply = <&pm8921_lvs6>;
49                 reset-gpios = <&msmgpio 89 0>;
50         };
51 };
52
53 &gsbi5 {
54         qcom,mode = <GSBI_PROT_I2C_UART>;
55         status = "okay";
56 };
57
58 &gsbi5_serial {
59         status = "okay";
60 };
61
62 &msmgpio {
63         spi1_default: spi1_default {
64                  mux {
65                         pins = "gpio6", "gpio7", "gpio9";
66                         function = "gsbi1";
67                  };
68
69                  mosi {
70                         pins = "gpio6";
71                         drive-strength = <12>;
72                         bias-disable;
73                  };
74
75                  miso {
76                         pins = "gpio7";
77                         drive-strength = <12>;
78                         bias-disable;
79                  };
80
81                  cs {
82                         pins = "gpio8";
83                         drive-strength = <12>;
84                         bias-disable;
85                         output-low;
86                  };
87
88                  clk {
89                         pins = "gpio9";
90                         drive-strength = <12>;
91                         bias-disable;
92                  };
93         };
94 };
95
96 &pmicintc {
97         keypad@148 {
98                 linux,keymap = <
99                         MATRIX_KEY(0, 0, KEY_VOLUMEUP)
100                         MATRIX_KEY(0, 1, KEY_VOLUMEDOWN)
101                         MATRIX_KEY(0, 2, KEY_CAMERA_FOCUS)
102                         MATRIX_KEY(0, 3, KEY_CAMERA)
103                         >;
104                 keypad,num-rows = <1>;
105                 keypad,num-columns = <5>;
106         };
107 };
108
109 &rpm {
110         regulators {
111                 compatible = "qcom,rpm-pm8921-regulators";
112                 vin_lvs1_3_6-supply = <&pm8921_s4>;
113                 vin_lvs2-supply = <&pm8921_s4>;
114                 vin_lvs4_5_7-supply = <&pm8921_s4>;
115                 vdd_ncp-supply = <&pm8921_l6>;
116                 vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
117                 vdd_l21_l23_l29-supply = <&pm8921_s8>;
118                 vdd_l24-supply = <&pm8921_s1>;
119                 vdd_l25-supply = <&pm8921_s1>;
120                 vdd_l27-supply = <&pm8921_s7>;
121                 vdd_l28-supply = <&pm8921_s7>;
122
123                 /* Buck SMPS */
124                 pm8921_s1: s1 {
125                         regulator-always-on;
126                         regulator-min-microvolt = <1225000>;
127                         regulator-max-microvolt = <1225000>;
128                         qcom,switch-mode-frequency = <3200000>;
129                         bias-pull-down;
130                 };
131
132                 pm8921_s2: s2 {
133                         regulator-min-microvolt = <1300000>;
134                         regulator-max-microvolt = <1300000>;
135                         qcom,switch-mode-frequency = <1600000>;
136                         bias-pull-down;
137                 };
138
139                 pm8921_s3: s3 {
140                         regulator-min-microvolt = <500000>;
141                         regulator-max-microvolt = <1150000>;
142                         qcom,switch-mode-frequency = <4800000>;
143                         bias-pull-down;
144                 };
145
146                 pm8921_s4: s4 {
147                         regulator-always-on;
148                         regulator-min-microvolt = <1800000>;
149                         regulator-max-microvolt = <1800000>;
150                         qcom,switch-mode-frequency = <1600000>;
151                         bias-pull-down;
152                         qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;
153                 };
154
155                 pm8921_s7: s7 {
156                         regulator-min-microvolt = <1150000>;
157                         regulator-max-microvolt = <1150000>;
158                         qcom,switch-mode-frequency = <3200000>;
159                         bias-pull-down;
160                 };
161
162                 pm8921_s8: s8 {
163                         regulator-always-on;
164                         regulator-min-microvolt = <2050000>;
165                         regulator-max-microvolt = <2050000>;
166                         qcom,switch-mode-frequency = <1600000>;
167                         bias-pull-down;
168                 };
169
170                 /* PMOS LDO */
171                 pm8921_l1: l1 {
172                         regulator-always-on;
173                         regulator-min-microvolt = <1050000>;
174                         regulator-max-microvolt = <1050000>;
175                         bias-pull-down;
176                 };
177
178                 pm8921_l2: l2 {
179                         regulator-min-microvolt = <1200000>;
180                         regulator-max-microvolt = <1200000>;
181                         bias-pull-down;
182                 };
183
184                 pm8921_l3: l3 {
185                         regulator-min-microvolt = <3075000>;
186                         regulator-max-microvolt = <3075000>;
187                         bias-pull-down;
188                 };
189
190                 pm8921_l4: l4 {
191                         regulator-always-on;
192                         regulator-min-microvolt = <1800000>;
193                         regulator-max-microvolt = <1800000>;
194                         bias-pull-down;
195                 };
196
197                 pm8921_l5: l5 {
198                         regulator-min-microvolt = <2950000>;
199                         regulator-max-microvolt = <2950000>;
200                         bias-pull-down;
201                 };
202
203                 pm8921_l6: l6 {
204                         regulator-min-microvolt = <2950000>;
205                         regulator-max-microvolt = <2950000>;
206                         bias-pull-down;
207                 };
208
209                 pm8921_l7: l7 {
210                         regulator-always-on;
211                         regulator-min-microvolt = <1850000>;
212                         regulator-max-microvolt = <2950000>;
213                         bias-pull-down;
214                 };
215
216                 pm8921_l8: l8 {
217                         regulator-min-microvolt = <2800000>;
218                         regulator-max-microvolt = <3000000>;
219                         bias-pull-down;
220                 };
221
222                 pm8921_l9: l9 {
223                         regulator-min-microvolt = <3000000>;
224                         regulator-max-microvolt = <3000000>;
225                         bias-pull-down;
226                 };
227
228                 pm8921_l10: l10 {
229                         regulator-min-microvolt = <3000000>;
230                         regulator-max-microvolt = <3000000>;
231                         bias-pull-down;
232                 };
233
234                 pm8921_l11: l11 {
235                         regulator-min-microvolt = <2850000>;
236                         regulator-max-microvolt = <2850000>;
237                         bias-pull-down;
238                 };
239
240                 pm8921_l12: l12 {
241                         regulator-min-microvolt = <1200000>;
242                         regulator-max-microvolt = <1200000>;
243                         bias-pull-down;
244                 };
245
246                 pm8921_l14: l14 {
247                         regulator-min-microvolt = <1800000>;
248                         regulator-max-microvolt = <1800000>;
249                         bias-pull-down;
250                 };
251
252                 pm8921_l15: l15 {
253                         regulator-min-microvolt = <1800000>;
254                         regulator-max-microvolt = <2950000>;
255                         bias-pull-down;
256                 };
257
258                 pm8921_l16: l16 {
259                         regulator-min-microvolt = <2800000>;
260                         regulator-max-microvolt = <2800000>;
261                         bias-pull-down;
262                 };
263
264                 pm8921_l17: l17 {
265                         regulator-min-microvolt = <1800000>;
266                         regulator-max-microvolt = <2950000>;
267                         bias-pull-down;
268                 };
269
270                 pm8921_l18: l18 {
271                         regulator-min-microvolt = <1300000>;
272                         regulator-max-microvolt = <1300000>;
273                         bias-pull-down;
274                 };
275
276                 pm8921_l21: l21 {
277                         regulator-min-microvolt = <1900000>;
278                         regulator-max-microvolt = <1900000>;
279                         bias-pull-down;
280                 };
281
282                 pm8921_l22: l22 {
283                         regulator-min-microvolt = <2750000>;
284                         regulator-max-microvolt = <2750000>;
285                         bias-pull-down;
286                 };
287
288                 pm8921_l23: l23 {
289                         regulator-always-on;
290                         regulator-min-microvolt = <1800000>;
291                         regulator-max-microvolt = <1800000>;
292                         bias-pull-down;
293                 };
294
295                 pm8921_l24: l24 {
296                         regulator-min-microvolt = <750000>;
297                         regulator-max-microvolt = <1150000>;
298                         bias-pull-down;
299                 };
300
301                 pm8921_l25: l25 {
302                         regulator-always-on;
303                         regulator-min-microvolt = <1250000>;
304                         regulator-max-microvolt = <1250000>;
305                         bias-pull-down;
306                 };
307
308                 /* Low Voltage Switch */
309                 pm8921_lvs1: lvs1 {
310                         bias-pull-down;
311                 };
312
313                 pm8921_lvs2: lvs2 {
314                         bias-pull-down;
315                 };
316
317                 pm8921_lvs3: lvs3 {
318                         bias-pull-down;
319                 };
320
321                 pm8921_lvs4: lvs4 {
322                         bias-pull-down;
323                 };
324
325                 pm8921_lvs5: lvs5 {
326                         bias-pull-down;
327                 };
328
329                 pm8921_lvs6: lvs6 {
330                         bias-pull-down;
331                 };
332
333                 pm8921_lvs7: lvs7 {
334                         bias-pull-down;
335                 };
336
337                 pm8921_ncp: ncp {
338                         regulator-min-microvolt = <1800000>;
339                         regulator-max-microvolt = <1800000>;
340                         qcom,switch-mode-frequency = <1600000>;
341                 };
342         };
343 };
344
345 /* eMMC */
346 &sdcc1 {
347         status = "okay";
348 };
349
350 /* External micro SD card */
351 &sdcc3 {
352         status = "okay";
353 };