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