1 // SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 #include <dt-bindings/input/input.h>
3 #include <dt-bindings/gpio/gpio.h>
4 #include <dt-bindings/leds/common.h>
5 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
6 #include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
7 #include "qcom-msm8660.dtsi"
8
9 / {
10 model = "Qualcomm APQ8060 Dragonboard";
11 compatible = "qcom,apq8060-dragonboard", "qcom,msm8660";
12
13 aliases {
14 serial0 = &gsbi12_serial;
15 };
16
17 chosen {
18 stdout-path = "serial0:115200n8";
19 };
20
21 regulators {
22 compatible = "simple-bus";
23
24 /* Main power of the board: 3.7V */
25 vph: regulator-fixed {
26 compatible = "regulator-fixed";
27 regulator-min-microvolt = <3700000>;
28 regulator-max-microvolt = <3700000>;
29 regulator-name = "VPH";
30 regulator-type = "voltage";
31 regulator-always-on;
32 regulator-boot-on;
33 };
34
35 /* GPIO controlled ethernet power regulator */
36 dragon_veth: xc622a331mrg {
37 compatible = "regulator-fixed";
38 regulator-name = "XC6222A331MR-G";
39 regulator-min-microvolt = <3300000>;
40 regulator-max-microvolt = <3300000>;
41 vin-supply = <&vph>;
42 gpio = <&pm8058_gpio 40 GPIO_ACTIVE_HIGH>;
43 enable-active-high;
44 pinctrl-names = "default";
45 pinctrl-0 = <&dragon_veth_gpios>;
46 regulator-always-on;
47 };
48
49 /* VDDvario fixed regulator */
50 dragon_vario: nds332p {
51 compatible = "regulator-fixed";
52 regulator-name = "NDS332P";
53 regulator-min-microvolt = <1800000>;
54 regulator-max-microvolt = <1800000>;
55 vin-supply = <&pm8058_s3>;
56 };
57
58 /* This is a levelshifter for SDCC5 */
59 dragon_vio_txb: txb0104rgyr {
60 compatible = "regulator-fixed";
61 regulator-name = "Dragon SDCC levelshifter";
62 vin-supply = <&pm8058_l14>;
63 regulator-always-on;
64 };
65 };
66
67 /*
68 * Capella CM3605 light and proximity sensor mounted directly
69 * on the sensor board.
70 */
71 cm3605 {
72 compatible = "capella,cm3605";
73 vdd-supply = <&pm8058_l14>; // 2.85V
74 aset-gpios = <&pm8058_gpio 35 GPIO_ACTIVE_LOW>;
75 capella,aset-resistance-ohms = <100000>;
76 /* Trig on both edges - getting close or far away */
77 interrupts-extended = <&pm8058_gpio 34 IRQ_TYPE_EDGE_BOTH>;
78 /* MPP05 analog input to the XOADC */
79 io-channels = <&xoadc 0x00 0x05>;
80 io-channel-names = "aout";
81 pinctrl-names = "default";
82 pinctrl-0 = <&dragon_cm3605_gpios>, <&dragon_cm3605_mpps>;
83 };
84
85 soc {
86 pinctrl@800000 {
87 /* eMMC pins, all 8 data lines connected */
88 dragon_sdcc1_pins: sdcc1 {
89 mux {
90 pins = "gpio159", "gpio160", "gpio161",
91 "gpio162", "gpio163", "gpio164",
92 "gpio165", "gpio166", "gpio167",
93 "gpio168";
94 function = "sdc1";
95 };
96 clk {
97 pins = "gpio167"; /* SDC1 CLK */
98 drive-strength = <16>;
99 bias-disable;
100 };
101 cmd {
102 pins = "gpio168"; /* SDC1 CMD */
103 drive-strength = <10>;
104 bias-pull-up;
105 };
106 data {
107 /* SDC1 D0 to D7 */
108 pins = "gpio159", "gpio160", "gpio161", "gpio162",
109 "gpio163", "gpio164", "gpio165", "gpio166";
110 drive-strength = <10>;
111 bias-pull-up;
112 };
113 };
114
115 /*
116 * The SDCC3 pins are hardcoded (non-muxable) but need some pin
117 * configuration.
118 */
119 dragon_sdcc3_pins: sdcc3 {
120 clk {
121 pins = "sdc3_clk";
122 drive-strength = <8>;
123 bias-disable;
124 };
125 cmd {
126 pins = "sdc3_cmd";
127 drive-strength = <8>;
128 bias-pull-up;
129 };
130 data {
131 pins = "sdc3_data";
132 drive-strength = <8>;
133 bias-pull-up;
134 };
135 };
136
137 /* Second SD card slot pins */
138 dragon_sdcc5_pins: sdcc5 {
139 mux {
140 pins = "gpio95", "gpio96", "gpio97",
141 "gpio98", "gpio99", "gpio100";
142 function = "sdc5";
143 };
144 clk {
145 pins = "gpio97"; /* SDC5 CLK */
146 drive-strength = <16>;
147 bias-disable;
148 };
149 cmd {
150 pins = "gpio95"; /* SDC5 CMD */
151 drive-strength = <10>;
152 bias-pull-up;
153 };
154 data {
155 /* SDC5 D0 to D3 */
156 pins = "gpio96", "gpio98", "gpio99", "gpio100";
157 drive-strength = <10>;
158 bias-pull-up;
159 };
160 };
161
162 dragon_gsbi8_i2c_pins: gsbi8_i2c {
163 mux {
164 pins = "gpio64", "gpio65";
165 function = "gsbi8";
166 };
167 pinconf {
168 pins = "gpio64", "gpio65";
169 drive-strength = <16>;
170 /* These have external pull-up 2.2kOhm to 1.8V */
171 bias-disable;
172 };
173 };
174
175 dragon_gsbi12_i2c_pins: gsbi12_i2c {
176 mux {
177 pins = "gpio115", "gpio116";
178 function = "gsbi12";
179 };
180 pinconf {
181 pins = "gpio115", "gpio116";
182 drive-strength = <16>;
183 /* These have external pull-up 4.7kOhm to 1.8V */
184 bias-disable;
185 };
186 };
187
188 /* Primary serial port uart 0 pins */
189 dragon_gsbi12_serial_pins: gsbi12_serial {
190 mux {
191 pins = "gpio117", "gpio118";
192 function = "gsbi12";
193 };
194 tx {
195 pins = "gpio117";
196 drive-strength = <8>;
197 bias-disable;
198 };
199 rx {
200 pins = "gpio118";
201 drive-strength = <2>;
202 bias-pull-up;
203 };
204 };
205
206 dragon_ebi2_pins: ebi2 {
207 /*
208 * Pins used by EBI2 on the Dragonboard, actually only
209 * CS2 is used by a real peripheral. CS0 is just
210 * routed to a test point.
211 */
212 mux0 {
213 pins =
214 /* "gpio39", CS1A_N this is not good to mux */
215 "gpio40", /* CS2A_N */
216 "gpio134"; /* CS0_N testpoint TP29 */
217 function = "ebi2cs";
218 };
219 mux1 {
220 pins =
221 /* EBI2_ADDR_7 downto EBI2_ADDR_0 address bus */
222 "gpio123", "gpio124", "gpio125", "gpio126",
223 "gpio127", "gpio128", "gpio129", "gpio130",
224 /* EBI2_DATA_15 downto EBI2_DATA_0 data bus */
225 "gpio135", "gpio136", "gpio137", "gpio138",
226 "gpio139", "gpio140", "gpio141", "gpio142",
227 "gpio143", "gpio144", "gpio145", "gpio146",
228 "gpio147", "gpio148", "gpio149", "gpio150",
229 "gpio151", /* EBI2_OE_N */
230 "gpio153", /* EBI2_ADV */
231 "gpio157"; /* EBI2_WE_N */
232 function = "ebi2";
233 };
234 };
235
236 /* Interrupt line for the KXSD9 accelerometer */
237 dragon_kxsd9_gpios: kxsd9 {
238 irq {
239 pins = "gpio57"; /* IRQ line */
240 bias-pull-up;
241 };
242 };
243 };
244
245 qcom,ssbi@500000 {
246 pmic@0 {
247 keypad@148 {
248 linux,keymap = <
249 MATRIX_KEY(0, 0, KEY_MENU)
250 MATRIX_KEY(0, 2, KEY_1)
251 MATRIX_KEY(0, 3, KEY_4)
252 MATRIX_KEY(0, 4, KEY_7)
253 MATRIX_KEY(1, 0, KEY_UP)
254 MATRIX_KEY(1, 1, KEY_LEFT)
255 MATRIX_KEY(1, 2, KEY_DOWN)
256 MATRIX_KEY(1, 3, KEY_5)
257 MATRIX_KEY(1, 3, KEY_8)
258 MATRIX_KEY(2, 0, KEY_HOME)
259 MATRIX_KEY(2, 1, KEY_REPLY)
260 MATRIX_KEY(2, 2, KEY_2)
261 MATRIX_KEY(2, 3, KEY_6)
262 MATRIX_KEY(3, 0, KEY_VOLUMEUP)
263 MATRIX_KEY(3, 1, KEY_RIGHT)
264 MATRIX_KEY(3, 2, KEY_3)
265 MATRIX_KEY(3, 3, KEY_9)
266 MATRIX_KEY(3, 4, KEY_SWITCHVIDEOMODE)
267 MATRIX_KEY(4, 0, KEY_VOLUMEDOWN)
268 MATRIX_KEY(4, 1, KEY_BACK)
269 MATRIX_KEY(4, 2, KEY_CAMERA)
270 MATRIX_KEY(4, 3, KEY_KBDILLUMTOGGLE)
271 >;
272 keypad,num-rows = <6>;
273 keypad,num-columns = <5>;
274 };
275
276 gpio@150 {
277 dragon_ethernet_gpios: ethernet-state {
278 pinconf {
279 pins = "gpio7";
280 function = "normal";
281 input-enable;
282 bias-disable;
283 power-source = <PM8058_GPIO_S3>;
284 };
285 };
286 dragon_bmp085_gpios: bmp085-state {
287 pinconf {
288 pins = "gpio16";
289 function = "normal";
290 input-enable;
291 bias-disable;
292 power-source = <PM8058_GPIO_S3>;
293 };
294 };
295 dragon_mpu3050_gpios: mpu3050-state {
296 pinconf {
297 pins = "gpio17";
298 function = "normal";
299 input-enable;
300 bias-disable;
301 power-source = <PM8058_GPIO_S3>;
302 };
303 };
304 dragon_sdcc3_gpios: sdcc3-state {
305 pinconf {
306 pins = "gpio22";
307 function = "normal";
308 input-enable;
309 bias-disable;
310 power-source = <PM8058_GPIO_S3>;
311 };
312 };
313 dragon_sdcc5_gpios: sdcc5-state {
314 pinconf {
315 pins = "gpio26";
316 function = "normal";
317 input-enable;
318 bias-pull-up;
319 qcom,pull-up-strength = <PMIC_GPIO_PULL_UP_30>;
320 power-source = <PM8058_GPIO_S3>;
321 };
322 };
323 dragon_ak8975_gpios: ak8975-state {
324 pinconf {
325 pins = "gpio33";
326 function = "normal";
327 input-enable;
328 bias-disable;
329 power-source = <PM8058_GPIO_S3>;
330 };
331 };
332 dragon_cm3605_gpios: cm3605-state {
333 /* Pin 34 connected to the proxy IRQ */
334 gpio34-pins {
335 pins = "gpio34";
336 function = "normal";
337 input-enable;
338 bias-disable;
339 power-source = <PM8058_GPIO_S3>;
340 };
341 /* Pin 35 connected to ASET */
342 gpio35-pins {
343 pins = "gpio35";
344 function = "normal";
345 output-high;
346 bias-disable;
347 power-source = <PM8058_GPIO_S3>;
348 };
349 };
350 dragon_veth_gpios: veth-state {
351 pinconf {
352 pins = "gpio40";
353 function = "normal";
354 bias-disable;
355 drive-push-pull;
356 };
357 };
358 };
359
360 mpps@50 {
361 dragon_cm3605_mpps: cm3605-mpps-state {
362 mpp5 {
363 pins = "mpp5";
364 function = "analog";
365 input-enable;
366 bias-high-impedance;
367 /* Let's use channel 5 */
368 qcom,amux-route = <PMIC_MPP_AMUX_ROUTE_CH5>;
369 power-source = <PM8058_GPIO_S3>;
370 };
371 };
372 };
373
374 xoadc@197 {
375 /* Reference voltage 2.2 V */
376 xoadc-ref-supply = <&pm8058_l18>;
377
378 /* Board-specific channels */
379 mpp5@5 {
380 /* Connected to AOUT of ALS sensor */
381 reg = <0x00 0x05>;
382 };
383 mpp6@6 {
384 /* Connected to test point TP43 */
385 reg = <0x00 0x06>;
386 };
387 mpp7@7 {
388 /* Connected to battery thermistor */
389 reg = <0x00 0x07>;
390 };
391 mpp8@8 {
392 /* Connected to battery ID detector */
393 reg = <0x00 0x08>;
394 };
395 mpp9@9 {
396 /* Connected to XO thermistor */
397 reg = <0x00 0x09>;
398 };
399 };
400
401 led@48 {
402 /*
403 * The keypad LED @0x48 is routed to
404 * the sensor board where it is
405 * connected to an infrared LED
406 * SFH4650 (60mW, @850nm) next to the
407 * ambient light and proximity sensor
408 * Capella Microsystems CM3605.
409 */
410 compatible = "qcom,pm8058-keypad-led";
411 reg = <0x48>;
412 label = "pm8058:infrared:proximitysensor";
413 default-state = "off";
414 linux,default-trigger = "cm3605";
415 };
416 led@131 {
417 compatible = "qcom,pm8058-led";
418 reg = <0x131>;
419 label = "pm8058:red";
420 color = <LED_COLOR_ID_RED>;
421 default-state = "off";
422 };
423 led@132 {
424 /*
425 * This is actually green too on my
426 * board, but documented as yellow.
427 */
428 compatible = "qcom,pm8058-led";
429 reg = <0x132>;
430 label = "pm8058:yellow";
431 color = <LED_COLOR_ID_YELLOW>;
432 default-state = "off";
433 linux,default-trigger = "mmc0";
434 };
435 led@133 {
436 compatible = "qcom,pm8058-led";
437 reg = <0x133>;
438 label = "pm8058:green";
439 function = LED_FUNCTION_HEARTBEAT;
440 color = <LED_COLOR_ID_GREEN>;
441 default-state = "on";
442 linux,default-trigger = "heartbeat";
443 };
444 };
445 };
446
447 gsbi@19800000 {
448 status = "okay";
449 qcom,mode = <GSBI_PROT_I2C>;
450
451 i2c@19880000 {
452 status = "okay";
453 pinctrl-names = "default";
454 pinctrl-0 = <&dragon_gsbi8_i2c_pins>;
455
456 eeprom@52 {
457 /* A 16KiB Platform ID EEPROM on the CPU carrier board */
458 compatible = "atmel,24c128";
459 reg = <0x52>;
460 vcc-supply = <&pm8058_s3>;
461 pagesize = <64>;
462 };
463 wm8903: wm8903@1a {
464 /* This Woolfson Micro device has an unrouted interrupt line */
465 compatible = "wlf,wm8903";
466 reg = <0x1a>;
467
468 AVDD-supply = <&pm8058_l16>;
469 CPVDD-supply = <&pm8058_l16>;
470 DBVDD-supply = <&pm8058_s3>;
471 DCVDD-supply = <&pm8058_l0>;
472
473 gpio-controller;
474 #gpio-cells = <2>;
475
476 micdet-cfg = <0>;
477 micdet-delay = <100>;
478 gpio-cfg = <0xffffffff 0xffffffff 0 0xffffffff 0xffffffff>;
479 };
480 };
481 };
482
483 gsbi@19c00000 {
484 status = "okay";
485 qcom,mode = <GSBI_PROT_I2C_UART>;
486
487 serial@19c40000 {
488 status = "okay";
489 pinctrl-names = "default";
490 pinctrl-0 = <&dragon_gsbi12_serial_pins>;
491 };
492
493 i2c@19c80000 {
494 status = "okay";
495 pinctrl-names = "default";
496 pinctrl-0 = <&dragon_gsbi12_i2c_pins>;
497
498 ak8975@c {
499 compatible = "asahi-kasei,ak8975";
500 reg = <0x0c>;
501 interrupt-parent = <&pm8058_gpio>;
502 interrupts = <33 IRQ_TYPE_EDGE_RISING>;
503 pinctrl-names = "default";
504 pinctrl-0 = <&dragon_ak8975_gpios>;
505 vid-supply = <&pm8058_lvs0>; // 1.8V
506 vdd-supply = <&pm8058_l14>; // 2.85V
507 };
508 bmp085@77 {
509 compatible = "bosch,bmp085";
510 reg = <0x77>;
511 interrupt-parent = <&pm8058_gpio>;
512 interrupts = <16 IRQ_TYPE_EDGE_RISING>;
513 reset-gpios = <&tlmm 86 GPIO_ACTIVE_LOW>;
514 pinctrl-names = "default";
515 pinctrl-0 = <&dragon_bmp085_gpios>;
516 vddd-supply = <&pm8058_lvs0>; // 1.8V
517 vdda-supply = <&pm8058_l14>; // 2.85V
518 };
519 mpu3050@68 {
520 compatible = "invensense,mpu3050";
521 reg = <0x68>;
522 /*
523 * GPIO17 is pulled high by a 10k
524 * resistor to VLOGIC so needs to be
525 * active low/falling edge.
526 */
527 interrupts-extended = <&pm8058_gpio 17 IRQ_TYPE_EDGE_FALLING>;
528 pinctrl-names = "default";
529 pinctrl-0 = <&dragon_mpu3050_gpios>;
530 vlogic-supply = <&pm8058_lvs0>; // 1.8V
531 vdd-supply = <&pm8058_l14>; // 2.85V
532
533 /*
534 * The MPU-3050 acts as a hub for the
535 * accelerometer.
536 */
537 i2c-gate {
538 #address-cells = <1>;
539 #size-cells = <0>;
540
541 kxsd9@18 {
542 compatible = "kionix,kxsd9";
543 reg = <0x18>;
544 interrupt-parent = <&tlmm>;
545 interrupts = <57 IRQ_TYPE_EDGE_FALLING>;
546 pinctrl-names = "default";
547 pinctrl-0 = <&dragon_kxsd9_gpios>;
548 iovdd-supply = <&pm8058_lvs0>; // 1.8V
549 vdd-supply = <&pm8058_l14>; // 2.85V
550 };
551 };
552 };
553 };
554 };
555
556 external-bus@1a100000 {
557 /* The EBI2 will instantiate first, then populate its children */
558 status = "okay";
559 pinctrl-names = "default";
560 pinctrl-0 = <&dragon_ebi2_pins>;
561
562 /*
563 * An on-board SMSC LAN9221 chip for "debug ethernet",
564 * which is actually just an ordinary ethernet on the
565 * EBI2. This has a 25MHz chrystal next to it, so no
566 * clocking is needed.
567 */
568 ethernet@2,0 {
569 compatible = "smsc,lan9221", "smsc,lan9115";
570 reg = <2 0x0 0x100>;
571 /*
572 * The second interrupt is the PME interrupt
573 * for network wakeup, connected to the TLMM.
574 */
575 interrupts-extended = <&pm8058_gpio 7 IRQ_TYPE_EDGE_FALLING>,
576 <&tlmm 29 IRQ_TYPE_EDGE_RISING>;
577 reset-gpios = <&tlmm 30 GPIO_ACTIVE_LOW>;
578 vdd33a-supply = <&dragon_veth>;
579 vddvario-supply = <&dragon_vario>;
580 pinctrl-names = "default";
581 pinctrl-0 = <&dragon_ethernet_gpios>;
582 phy-mode = "mii";
583 reg-io-width = <2>;
584 smsc,force-external-phy;
585 smsc,irq-push-pull;
586
587 /*
588 * SLOW chipselect config
589 * Delay 9 cycles (140ns@64MHz) between SMSC
590 * LAN9221 Ethernet controller reads and writes
591 * on CS2.
592 */
593 qcom,xmem-recovery-cycles = <0>;
594 qcom,xmem-write-hold-cycles = <3>;
595 qcom,xmem-write-delta-cycles = <31>;
596 qcom,xmem-read-delta-cycles = <28>;
597 qcom,xmem-write-wait-cycles = <9>;
598 qcom,xmem-read-wait-cycles = <9>;
599 };
600 };
601
602 rpm@104000 {
603 /*
604 * Set up of the PMIC RPM regulators for this board
605 * PM8901 supplies "preliminary regulators" whatever
606 * that means
607 */
608 pm8901-regulators {
609 vdd_l0-supply = <&pm8901_s4>;
610 vdd_l1-supply = <&vph>;
611 vdd_l2-supply = <&vph>;
612 vdd_l3-supply = <&vph>;
613 vdd_l4-supply = <&vph>;
614 vdd_l5-supply = <&vph>;
615 vdd_l6-supply = <&vph>;
616 /* vdd_s0-supply, vdd_s1-supply: SAW regulators */
617 vdd_s2-supply = <&vph>;
618 vdd_s3-supply = <&vph>;
619 vdd_s4-supply = <&vph>;
620 lvs0_in-supply = <&pm8058_s3>;
621 lvs1_in-supply = <&pm8901_s4>;
622 lvs2_in-supply = <&pm8058_l0>;
623 lvs3_in-supply = <&pm8058_s2>;
624 mvs_in-supply = <&pm8058_s3>;
625
626 l0 {
627 regulator-min-microvolt = <1200000>;
628 regulator-max-microvolt = <1200000>;
629 bias-pull-down;
630 };
631 l1 {
632 regulator-min-microvolt = <3300000>;
633 regulator-max-microvolt = <3300000>;
634 bias-pull-down;
635 };
636 l2 {
637 regulator-min-microvolt = <2850000>;
638 regulator-max-microvolt = <3300000>;
639 bias-pull-down;
640 };
641 l3 {
642 regulator-min-microvolt = <3300000>;
643 regulator-max-microvolt = <3300000>;
644 bias-pull-down;
645 };
646 l4 {
647 regulator-min-microvolt = <2600000>;
648 regulator-max-microvolt = <2600000>;
649 bias-pull-down;
650 };
651 l5 {
652 regulator-min-microvolt = <2850000>;
653 regulator-max-microvolt = <2850000>;
654 bias-pull-down;
655 };
656 l6 {
657 regulator-min-microvolt = <2200000>;
658 regulator-max-microvolt = <2200000>;
659 bias-pull-down;
660 };
661
662 /* s0 and s1 are SAW regulators controlled over SPM */
663 s2 {
664 regulator-min-microvolt = <1300000>;
665 regulator-max-microvolt = <1300000>;
666 qcom,switch-mode-frequency = <1600000>;
667 bias-pull-down;
668 };
669 s3 {
670 regulator-min-microvolt = <1100000>;
671 regulator-max-microvolt = <1100000>;
672 qcom,switch-mode-frequency = <1600000>;
673 bias-pull-down;
674 };
675 s4 {
676 regulator-min-microvolt = <1225000>;
677 regulator-max-microvolt = <1225000>;
678 qcom,switch-mode-frequency = <1600000>;
679 bias-pull-down;
680 };
681
682 /* LVS0 thru 3 and mvs are just switches */
683 lvs0 {
684 regulator-always-on;
685 };
686 lvs1 { };
687 lvs2 { };
688 lvs3 { };
689 mvs { };
690
691 };
692
693 pm8058-regulators {
694 vdd_l0_l1_lvs-supply = <&pm8058_s3>;
695 vdd_l2_l11_l12-supply = <&vph>;
696 vdd_l3_l4_l5-supply = <&vph>;
697 vdd_l6_l7-supply = <&vph>;
698 vdd_l8-supply = <&vph>;
699 vdd_l9-supply = <&vph>;
700 vdd_l10-supply = <&vph>;
701 vdd_l13_l16-supply = <&pm8058_s4>;
702 vdd_l14_l15-supply = <&vph>;
703 vdd_l17_l18-supply = <&vph>;
704 vdd_l19_l20-supply = <&vph>;
705 vdd_l21-supply = <&pm8058_s3>;
706 vdd_l22-supply = <&pm8058_s3>;
707 vdd_l23_l24_l25-supply = <&pm8058_s3>;
708 vdd_s0-supply = <&vph>;
709 vdd_s1-supply = <&vph>;
710 vdd_s2-supply = <&vph>;
711 vdd_s3-supply = <&vph>;
712 vdd_s4-supply = <&vph>;
713 vdd_ncp-supply = <&vph>;
714
715 l0 {
716 regulator-min-microvolt = <1200000>;
717 regulator-max-microvolt = <1200000>;
718 bias-pull-down;
719 };
720 l1 {
721 regulator-min-microvolt = <1200000>;
722 regulator-max-microvolt = <1200000>;
723 bias-pull-down;
724 };
725 l2 {
726 regulator-min-microvolt = <1800000>;
727 regulator-max-microvolt = <2600000>;
728 bias-pull-down;
729 };
730 l3 {
731 regulator-min-microvolt = <1800000>;
732 regulator-max-microvolt = <1800000>;
733 bias-pull-down;
734 };
735 l4 {
736 regulator-min-microvolt = <2850000>;
737 regulator-max-microvolt = <2850000>;
738 bias-pull-down;
739 };
740 l5 {
741 regulator-min-microvolt = <2850000>;
742 regulator-max-microvolt = <2850000>;
743 bias-pull-down;
744 };
745 l6 {
746 regulator-min-microvolt = <3000000>;
747 regulator-max-microvolt = <3600000>;
748 bias-pull-down;
749 };
750 l7 {
751 regulator-min-microvolt = <1800000>;
752 regulator-max-microvolt = <1800000>;
753 bias-pull-down;
754 };
755 l8 {
756 regulator-min-microvolt = <2900000>;
757 regulator-max-microvolt = <3050000>;
758 bias-pull-down;
759 };
760 l9 {
761 regulator-min-microvolt = <1800000>;
762 regulator-max-microvolt = <1800000>;
763 bias-pull-down;
764 };
765 l10 {
766 regulator-min-microvolt = <2600000>;
767 regulator-max-microvolt = <2600000>;
768 bias-pull-down;
769 };
770 l11 {
771 regulator-min-microvolt = <1500000>;
772 regulator-max-microvolt = <1500000>;
773 bias-pull-down;
774 };
775 l12 {
776 regulator-min-microvolt = <2900000>;
777 regulator-max-microvolt = <2900000>;
778 bias-pull-down;
779 };
780 l13 {
781 regulator-min-microvolt = <2050000>;
782 regulator-max-microvolt = <2050000>;
783 bias-pull-down;
784 };
785 l14 {
786 regulator-min-microvolt = <2850000>;
787 regulator-max-microvolt = <2850000>;
788 };
789 l15 {
790 regulator-min-microvolt = <2850000>;
791 regulator-max-microvolt = <2850000>;
792 bias-pull-down;
793 };
794 l16 {
795 regulator-min-microvolt = <1800000>;
796 regulator-max-microvolt = <1800000>;
797 bias-pull-down;
798 regulator-always-on;
799 };
800 l17 {
801 // 1.5V according to schematic
802 regulator-min-microvolt = <2600000>;
803 regulator-max-microvolt = <2600000>;
804 bias-pull-down;
805 };
806 l18 {
807 regulator-min-microvolt = <2200000>;
808 regulator-max-microvolt = <2200000>;
809 bias-pull-down;
810 };
811 l19 {
812 regulator-min-microvolt = <2500000>;
813 regulator-max-microvolt = <2500000>;
814 bias-pull-down;
815 };
816 l20 {
817 regulator-min-microvolt = <1800000>;
818 regulator-max-microvolt = <1800000>;
819 bias-pull-down;
820 };
821 l21 {
822 // 1.1 V according to schematic
823 regulator-min-microvolt = <1200000>;
824 regulator-max-microvolt = <1200000>;
825 bias-pull-down;
826 regulator-always-on;
827 };
828 l22 {
829 // 1.2 V according to schematic
830 regulator-min-microvolt = <1150000>;
831 regulator-max-microvolt = <1150000>;
832 bias-pull-down;
833 };
834 l23 {
835 // Unused
836 regulator-min-microvolt = <1200000>;
837 regulator-max-microvolt = <1200000>;
838 bias-pull-down;
839 };
840 l24 {
841 // Unused
842 regulator-min-microvolt = <1200000>;
843 regulator-max-microvolt = <1200000>;
844 bias-pull-down;
845 };
846 l25 {
847 regulator-min-microvolt = <1200000>;
848 regulator-max-microvolt = <1200000>;
849 bias-pull-down;
850 };
851
852 s0 {
853 // regulator-min-microvolt = <500000>;
854 // regulator-max-microvolt = <1325000>;
855 regulator-min-microvolt = <1100000>;
856 regulator-max-microvolt = <1100000>;
857 qcom,switch-mode-frequency = <1600000>;
858 bias-pull-down;
859 };
860 s1 {
861 // regulator-min-microvolt = <500000>;
862 // regulator-max-microvolt = <1250000>;
863 regulator-min-microvolt = <1100000>;
864 regulator-max-microvolt = <1100000>;
865 qcom,switch-mode-frequency = <1600000>;
866 bias-pull-down;
867 };
868 s2 {
869 // 1.3 V according to schematic
870 regulator-min-microvolt = <1200000>;
871 regulator-max-microvolt = <1400000>;
872 qcom,switch-mode-frequency = <1600000>;
873 bias-pull-down;
874 };
875 s3 {
876 regulator-min-microvolt = <1800000>;
877 regulator-max-microvolt = <1800000>;
878 qcom,switch-mode-frequency = <1600000>;
879 regulator-always-on;
880 bias-pull-down;
881 };
882 s4 {
883 regulator-min-microvolt = <2200000>;
884 regulator-max-microvolt = <2200000>;
885 qcom,switch-mode-frequency = <1600000>;
886 regulator-always-on;
887 bias-pull-down;
888 };
889
890 /* LVS0 and LVS1 are just switches */
891 lvs0 {
892 bias-pull-down;
893 };
894 lvs1 {
895 bias-pull-down;
896 };
897
898 ncp {
899 regulator-min-microvolt = <1800000>;
900 regulator-max-microvolt = <1800000>;
901 qcom,switch-mode-frequency = <1600000>;
902 };
903 };
904 };
905 amba {
906 /* Internal 3.69 GiB eMMC */
907 mmc@12400000 {
908 status = "okay";
909 pinctrl-names = "default";
910 pinctrl-0 = <&dragon_sdcc1_pins>;
911 vmmc-supply = <&pm8901_l5>;
912 vqmmc-supply = <&pm8901_lvs0>;
913 };
914
915 /* External micro SD card, directly connected, pulled up to 2.85 V */
916 mmc@12180000 {
917 status = "okay";
918 /* Enable SSBI GPIO 22 as input, use for card detect */
919 pinctrl-names = "default";
920 pinctrl-0 = <&dragon_sdcc3_pins>, <&dragon_sdcc3_gpios>;
921 cd-gpios = <&pm8058_gpio 22 GPIO_ACTIVE_LOW>;
922 wp-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>;
923 vmmc-supply = <&pm8058_l14>;
924 };
925
926 /*
927 * Second external micro SD card, using two TXB104RGYR levelshifters
928 * to lift from 1.8 V to 2.85 V
929 */
930 mmc@12200000 {
931 status = "okay";
932 /* Enable SSBI GPIO 26 as input, use for card detect */
933 pinctrl-names = "default";
934 pinctrl-0 = <&dragon_sdcc5_pins>, <&dragon_sdcc5_gpios>;
935 cd-gpios = <&pm8058_gpio 26 GPIO_ACTIVE_LOW>;
936 wp-gpios = <&tlmm 106 GPIO_ACTIVE_HIGH>;
937 vmmc-supply = <&pm8058_l14>;
938 vqmmc-supply = <&dragon_vio_txb>;
939 };
940 };
941 };
942 };
Cache object: 7fd3a5a19bec9648d4800300536537cf
|