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