Loading...
Note: File does not exist in v4.17.
1// SPDX-License-Identifier: GPL-2.0
2#include "qcom-msm8974.dtsi"
3#include "pm8841.dtsi"
4#include "pm8941.dtsi"
5#include <dt-bindings/input/input.h>
6#include <dt-bindings/leds/common.h>
7#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
8
9/ {
10 aliases {
11 serial0 = &blsp1_uart2;
12 };
13
14 chosen {
15 stdout-path = "serial0:115200n8";
16 };
17
18 gpio-keys {
19 compatible = "gpio-keys";
20
21 pinctrl-names = "default";
22 pinctrl-0 = <&gpio_keys_pin_a>;
23
24 key-volume-down {
25 label = "volume_down";
26 gpios = <&pm8941_gpios 2 GPIO_ACTIVE_LOW>;
27 linux,input-type = <1>;
28 linux,code = <KEY_VOLUMEDOWN>;
29 };
30
31 key-camera-snapshot {
32 label = "camera_snapshot";
33 gpios = <&pm8941_gpios 3 GPIO_ACTIVE_LOW>;
34 linux,input-type = <1>;
35 linux,code = <KEY_CAMERA>;
36 };
37
38 key-camera-focus {
39 label = "camera_focus";
40 gpios = <&pm8941_gpios 4 GPIO_ACTIVE_LOW>;
41 linux,input-type = <1>;
42 linux,code = <KEY_CAMERA_FOCUS>;
43 };
44
45 key-volume-up {
46 label = "volume_up";
47 gpios = <&pm8941_gpios 5 GPIO_ACTIVE_LOW>;
48 linux,input-type = <1>;
49 linux,code = <KEY_VOLUMEUP>;
50 };
51 };
52
53 reserved-memory {
54 #address-cells = <1>;
55 #size-cells = <1>;
56 ranges;
57
58 ramoops@3e8e0000 {
59 compatible = "ramoops";
60 reg = <0x3e8e0000 0x200000>;
61
62 console-size = <0x100000>;
63 record-size = <0x10000>;
64 ftrace-size = <0x10000>;
65 pmsg-size = <0x80000>;
66 };
67 };
68
69 vreg_boost: vreg-boost {
70 compatible = "regulator-fixed";
71
72 regulator-name = "vreg-boost";
73 regulator-min-microvolt = <3150000>;
74 regulator-max-microvolt = <3150000>;
75
76 regulator-always-on;
77 regulator-boot-on;
78
79 gpio = <&pm8941_gpios 21 GPIO_ACTIVE_HIGH>;
80 enable-active-high;
81
82 pinctrl-names = "default";
83 pinctrl-0 = <&boost_bypass_n_pin>;
84 };
85
86 vreg_vph_pwr: vreg-vph-pwr {
87 compatible = "regulator-fixed";
88 regulator-name = "vph-pwr";
89
90 regulator-min-microvolt = <3600000>;
91 regulator-max-microvolt = <3600000>;
92
93 regulator-always-on;
94 };
95};
96
97&blsp1_i2c2 {
98 status = "okay";
99 clock-frequency = <355000>;
100
101 synaptics@2c {
102 compatible = "syna,rmi4-i2c";
103 reg = <0x2c>;
104
105 interrupts-extended = <&tlmm 61 IRQ_TYPE_EDGE_FALLING>;
106
107 #address-cells = <1>;
108 #size-cells = <0>;
109
110 vdd-supply = <&pm8941_l22>;
111 vio-supply = <&pm8941_lvs3>;
112
113 pinctrl-names = "default";
114 pinctrl-0 = <&ts_int_pin>;
115
116 syna,startup-delay-ms = <10>;
117
118 rmi4-f01@1 {
119 reg = <0x1>;
120 syna,nosleep-mode = <1>;
121 };
122
123 rmi4-f11@11 {
124 reg = <0x11>;
125 touchscreen-inverted-x;
126 syna,sensor-type = <1>;
127 };
128 };
129};
130
131&blsp1_i2c6 {
132 status = "okay";
133 clock-frequency = <355000>;
134
135 nfc@28 {
136 compatible = "nxp,pn544-i2c";
137 reg = <0x28>;
138
139 interrupt-parent = <&tlmm>;
140 interrupts = <59 IRQ_TYPE_EDGE_RISING>;
141
142 enable-gpios = <&pm8941_gpios 23 GPIO_ACTIVE_HIGH>;
143 firmware-gpios = <&tlmm 77 GPIO_ACTIVE_HIGH>;
144 };
145};
146
147&blsp1_uart2 {
148 status = "okay";
149};
150
151&blsp2_dma {
152 qcom,controlled-remotely;
153};
154
155&blsp2_i2c5 {
156 status = "okay";
157 clock-frequency = <355000>;
158
159 /* sii8334 MHL HDMI bridge */
160};
161
162&pm8941_coincell {
163 status = "okay";
164 qcom,rset-ohms = <2100>;
165 qcom,vset-millivolts = <3000>;
166};
167
168&pm8941_gpios {
169 gpio_keys_pin_a: gpio-keys-active-state {
170 pins = "gpio2", "gpio3", "gpio4", "gpio5";
171 function = "normal";
172
173 bias-pull-up;
174 power-source = <PM8941_GPIO_S3>;
175 };
176};
177
178&pm8941_lpg {
179 status = "okay";
180
181 qcom,power-source = <1>;
182
183 multi-led {
184 color = <LED_COLOR_ID_RGB>;
185 function = LED_FUNCTION_STATUS;
186
187 #address-cells = <1>;
188 #size-cells = <0>;
189
190 led@5 {
191 reg = <5>;
192 color = <LED_COLOR_ID_BLUE>;
193 };
194
195 led@6 {
196 reg = <6>;
197 color = <LED_COLOR_ID_GREEN>;
198 };
199
200 led@7 {
201 reg = <7>;
202 color = <LED_COLOR_ID_RED>;
203 };
204 };
205};
206
207&pm8941_wled {
208 status = "okay";
209
210 qcom,cs-out;
211 qcom,current-limit = <20>;
212 qcom,current-boost-limit = <805>;
213 qcom,switching-freq = <1600>;
214 qcom,ovp = <29>;
215 qcom,num-strings = <2>;
216};
217
218&remoteproc_adsp {
219 cx-supply = <&pm8841_s2>;
220 status = "okay";
221};
222
223&remoteproc_mss {
224 cx-supply = <&pm8841_s2>;
225 mss-supply = <&pm8841_s3>;
226 mx-supply = <&pm8841_s1>;
227 pll-supply = <&pm8941_l12>;
228 status = "okay";
229};
230
231&rpm_requests {
232 regulators-0 {
233 compatible = "qcom,rpm-pm8841-regulators";
234
235 pm8841_s1: s1 {
236 regulator-min-microvolt = <675000>;
237 regulator-max-microvolt = <1050000>;
238 };
239
240 pm8841_s2: s2 {
241 regulator-min-microvolt = <500000>;
242 regulator-max-microvolt = <1050000>;
243 };
244
245 pm8841_s3: s3 {
246 regulator-min-microvolt = <500000>;
247 regulator-max-microvolt = <1050000>;
248 };
249
250 pm8841_s4: s4 {
251 regulator-min-microvolt = <500000>;
252 regulator-max-microvolt = <1050000>;
253 };
254 };
255
256 regulators-1 {
257 compatible = "qcom,rpm-pm8941-regulators";
258
259 vdd_l1_l3-supply = <&pm8941_s1>;
260 vdd_l2_lvs1_2_3-supply = <&pm8941_s3>;
261 vdd_l4_l11-supply = <&pm8941_s1>;
262 vdd_l5_l7-supply = <&pm8941_s2>;
263 vdd_l6_l12_l14_l15-supply = <&pm8941_s2>;
264 vdd_l9_l10_l17_l22-supply = <&vreg_boost>;
265 vdd_l13_l20_l23_l24-supply = <&vreg_boost>;
266 vdd_l21-supply = <&vreg_boost>;
267
268 pm8941_s1: s1 {
269 regulator-min-microvolt = <1300000>;
270 regulator-max-microvolt = <1300000>;
271 regulator-always-on;
272 regulator-boot-on;
273 };
274
275 pm8941_s2: s2 {
276 regulator-min-microvolt = <2150000>;
277 regulator-max-microvolt = <2150000>;
278 regulator-boot-on;
279 };
280
281 pm8941_s3: s3 {
282 regulator-min-microvolt = <1800000>;
283 regulator-max-microvolt = <1800000>;
284 regulator-always-on;
285 regulator-boot-on;
286 };
287
288 pm8941_s4: s4 {
289 regulator-min-microvolt = <5000000>;
290 regulator-max-microvolt = <5000000>;
291 };
292
293 pm8941_l1: l1 {
294 regulator-min-microvolt = <1225000>;
295 regulator-max-microvolt = <1225000>;
296 regulator-always-on;
297 regulator-boot-on;
298 };
299
300 pm8941_l2: l2 {
301 regulator-min-microvolt = <1200000>;
302 regulator-max-microvolt = <1200000>;
303 };
304
305 pm8941_l3: l3 {
306 regulator-min-microvolt = <1200000>;
307 regulator-max-microvolt = <1200000>;
308 };
309
310 pm8941_l4: l4 {
311 regulator-min-microvolt = <1225000>;
312 regulator-max-microvolt = <1225000>;
313 };
314
315 pm8941_l5: l5 {
316 regulator-min-microvolt = <1800000>;
317 regulator-max-microvolt = <1800000>;
318 };
319
320 pm8941_l6: l6 {
321 regulator-min-microvolt = <1800000>;
322 regulator-max-microvolt = <1800000>;
323 regulator-boot-on;
324 };
325
326 pm8941_l7: l7 {
327 regulator-min-microvolt = <1800000>;
328 regulator-max-microvolt = <1800000>;
329 regulator-boot-on;
330 };
331
332 pm8941_l8: l8 {
333 regulator-min-microvolt = <1800000>;
334 regulator-max-microvolt = <1800000>;
335 };
336
337 pm8941_l9: l9 {
338 regulator-min-microvolt = <1800000>;
339 regulator-max-microvolt = <2950000>;
340 };
341
342 pm8941_l11: l11 {
343 regulator-min-microvolt = <1300000>;
344 regulator-max-microvolt = <1350000>;
345 };
346
347 pm8941_l12: l12 {
348 regulator-min-microvolt = <1800000>;
349 regulator-max-microvolt = <1800000>;
350 regulator-always-on;
351 regulator-boot-on;
352 };
353
354 pm8941_l13: l13 {
355 regulator-min-microvolt = <1800000>;
356 regulator-max-microvolt = <2950000>;
357 regulator-boot-on;
358 };
359
360 pm8941_l14: l14 {
361 regulator-min-microvolt = <1800000>;
362 regulator-max-microvolt = <1800000>;
363 };
364
365 pm8941_l15: l15 {
366 regulator-min-microvolt = <2050000>;
367 regulator-max-microvolt = <2050000>;
368 };
369
370 pm8941_l16: l16 {
371 regulator-min-microvolt = <2700000>;
372 regulator-max-microvolt = <2700000>;
373 };
374
375 pm8941_l17: l17 {
376 regulator-min-microvolt = <2700000>;
377 regulator-max-microvolt = <2700000>;
378 };
379
380 pm8941_l18: l18 {
381 regulator-min-microvolt = <2850000>;
382 regulator-max-microvolt = <2850000>;
383 };
384
385 pm8941_l19: l19 {
386 regulator-min-microvolt = <3300000>;
387 regulator-max-microvolt = <3300000>;
388 };
389
390 pm8941_l20: l20 {
391 regulator-min-microvolt = <2950000>;
392 regulator-max-microvolt = <2950000>;
393 regulator-system-load = <200000>;
394 regulator-allow-set-load;
395 regulator-boot-on;
396 };
397
398 pm8941_l21: l21 {
399 regulator-min-microvolt = <2950000>;
400 regulator-max-microvolt = <2950000>;
401 regulator-boot-on;
402 };
403
404 pm8941_l22: l22 {
405 regulator-min-microvolt = <3000000>;
406 regulator-max-microvolt = <3000000>;
407 };
408
409 pm8941_l23: l23 {
410 regulator-min-microvolt = <2800000>;
411 regulator-max-microvolt = <2800000>;
412 };
413
414 pm8941_l24: l24 {
415 regulator-min-microvolt = <3075000>;
416 regulator-max-microvolt = <3075000>;
417 regulator-boot-on;
418 };
419
420 pm8941_lvs3: lvs3 {};
421 };
422};
423
424&sdhc_1 {
425 status = "okay";
426
427 vmmc-supply = <&pm8941_l20>;
428 vqmmc-supply = <&pm8941_s3>;
429
430 pinctrl-names = "default", "sleep";
431 pinctrl-0 = <&sdc1_on>;
432 pinctrl-1 = <&sdc1_off>;
433};
434
435&sdhc_2 {
436 status = "okay";
437
438 vmmc-supply = <&pm8941_l21>;
439 vqmmc-supply = <&pm8941_l13>;
440
441 cd-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>;
442
443 pinctrl-names = "default", "sleep";
444 pinctrl-0 = <&sdc2_on>;
445 pinctrl-1 = <&sdc2_off>;
446};
447
448&smbb {
449 qcom,fast-charge-safe-current = <1500000>;
450 qcom,fast-charge-current-limit = <1500000>;
451 qcom,dc-current-limit = <1800000>;
452 qcom,fast-charge-safe-voltage = <4400000>;
453 qcom,fast-charge-high-threshold-voltage = <4350000>;
454 qcom,fast-charge-low-threshold-voltage = <3400000>;
455 qcom,auto-recharge-threshold-voltage = <4200000>;
456 qcom,minimum-input-voltage = <4300000>;
457
458 status = "okay";
459};
460
461&tlmm {
462 ts_int_pin: touch-int-state {
463 pins = "gpio61";
464 function = "gpio";
465 drive-strength = <2>;
466 bias-disable;
467 };
468
469 sdc1_on: sdc1-on-state {
470 clk-pins {
471 pins = "sdc1_clk";
472 drive-strength = <16>;
473 bias-disable;
474 };
475
476 cmd-data-pins {
477 pins = "sdc1_cmd", "sdc1_data";
478 drive-strength = <10>;
479 bias-pull-up;
480 };
481 };
482
483 sdc2_on: sdc-on-state {
484 clk-pins {
485 pins = "sdc2_clk";
486 drive-strength = <10>;
487 bias-disable;
488 };
489
490 cmd-data-pins {
491 pins = "sdc2_cmd", "sdc2_data";
492 drive-strength = <6>;
493 bias-pull-up;
494 };
495
496 cd-pins {
497 pins = "gpio62";
498 function = "gpio";
499 drive-strength = <2>;
500 bias-disable;
501 };
502 };
503};
504
505&usb {
506 status = "okay";
507
508 phys = <&usb_hs1_phy>;
509 phy-select = <&tcsr 0xb000 0>;
510 extcon = <&smbb>, <&usb_id>;
511 vbus-supply = <&chg_otg>;
512
513 hnp-disable;
514 srp-disable;
515 adp-disable;
516};
517
518&usb_hs1_phy {
519 status = "okay";
520
521 v1p8-supply = <&pm8941_l6>;
522 v3p3-supply = <&pm8941_l24>;
523
524 extcon = <&smbb>;
525 qcom,init-seq = /bits/ 8 <0x1 0x64>;
526};