arm64: allwinner: h5: orangepi-prime: Sync usb otg nodes from Linux
[oweals/u-boot.git] / arch / arm / dts / rk3288-veyron.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Google Veyron (and derivatives) board device tree source
4  *
5  * Copyright 2014 Google, Inc
6  */
7
8 #include <dt-bindings/clock/rockchip,rk808.h>
9 #include <dt-bindings/input/input.h>
10 #include "rk3288.dtsi"
11
12 / {
13         memory {
14                 reg = <0x0 0x80000000>;
15         };
16
17         chosen {
18                 stdout-path = &uart2;
19         };
20
21         config {
22                 u-boot,dm-pre-reloc;
23                 u-boot,boot0 = &spi_flash;
24         };
25
26         firmware {
27                 chromeos {
28                         pinctrl-names = "default";
29                         pinctrl-0 = <&fw_wp_ap>;
30                         write-protect-gpio = <&gpio7 6 GPIO_ACTIVE_LOW>;
31                 };
32         };
33
34         backlight: backlight {
35                 compatible = "pwm-backlight";
36                 brightness-levels = <
37                           0   1   2   3   4   5   6   7
38                           8   9  10  11  12  13  14  15
39                          16  17  18  19  20  21  22  23
40                          24  25  26  27  28  29  30  31
41                          32  33  34  35  36  37  38  39
42                          40  41  42  43  44  45  46  47
43                          48  49  50  51  52  53  54  55
44                          56  57  58  59  60  61  62  63
45                          64  65  66  67  68  69  70  71
46                          72  73  74  75  76  77  78  79
47                          80  81  82  83  84  85  86  87
48                          88  89  90  91  92  93  94  95
49                          96  97  98  99 100 101 102 103
50                         104 105 106 107 108 109 110 111
51                         112 113 114 115 116 117 118 119
52                         120 121 122 123 124 125 126 127
53                         128 129 130 131 132 133 134 135
54                         136 137 138 139 140 141 142 143
55                         144 145 146 147 148 149 150 151
56                         152 153 154 155 156 157 158 159
57                         160 161 162 163 164 165 166 167
58                         168 169 170 171 172 173 174 175
59                         176 177 178 179 180 181 182 183
60                         184 185 186 187 188 189 190 191
61                         192 193 194 195 196 197 198 199
62                         200 201 202 203 204 205 206 207
63                         208 209 210 211 212 213 214 215
64                         216 217 218 219 220 221 222 223
65                         224 225 226 227 228 229 230 231
66                         232 233 234 235 236 237 238 239
67                         240 241 242 243 244 245 246 247
68                         248 249 250 251 252 253 254 255>;
69                 default-brightness-level = <128>;
70                 enable-gpios = <&gpio7 2 GPIO_ACTIVE_HIGH>;
71                 backlight-boot-off;
72                 pinctrl-names = "default";
73                 pinctrl-0 = <&bl_en>;
74                 pwms = <&pwm0 0 1000000 0>;
75         };
76
77         panel: panel {
78                 compatible ="cnm,n116bgeea2","simple-panel";
79                 status = "okay";
80                 power-supply = <&vcc33_lcd>;
81                 backlight = <&backlight>;
82         };
83
84         gpio_keys: gpio-keys {
85                 compatible = "gpio-keys";
86                 #address-cells = <1>;
87                 #size-cells = <0>;
88
89                 pinctrl-names = "default";
90                 pinctrl-0 = <&pwr_key_h>;
91                 power {
92                         label = "Power";
93                         gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>;
94                         linux,code = <KEY_POWER>;
95                         debounce-interval = <100>;
96                         gpio-key,wakeup;
97                 };
98         };
99
100         gpio-restart {
101                 compatible = "gpio-restart";
102                 gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
103                 pinctrl-names = "default";
104                 pinctrl-0 = <&ap_warm_reset_h>;
105                 priority = /bits/ 8 <200>;
106         };
107
108         emmc_pwrseq: emmc-pwrseq {
109                 compatible = "mmc-pwrseq-emmc";
110                 pinctrl-0 = <&emmc_reset>;
111                 pinctrl-names = "default";
112                 reset-gpios = <&gpio2 9 GPIO_ACTIVE_HIGH>;
113         };
114
115         sound {
116                 compatible = "rockchip,rockchip-audio-max98090";
117                 rockchip,model = "ROCKCHIP-I2S";
118                 rockchip,i2s-controller = <&i2s>;
119                 rockchip,audio-codec = <&max98090>;
120                 rockchip,hp-det-gpios = <&gpio6 5 GPIO_ACTIVE_HIGH>;
121                 rockchip,mic-det-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
122                 rockchip,headset-codec = <&headsetcodec>;
123                 pinctrl-names = "default";
124                 pinctrl-0 = <&mic_det>, <&hp_det>;
125         };
126
127         vdd_logic: pwm-regulator {
128                 compatible = "pwm-regulator";
129                 pwms = <&pwm1 0 2000 0>;
130
131                 voltage-table = <1350000 0>,
132                                 <1300000 10>,
133                                 <1250000 20>,
134                                 <1200000 31>,
135                                 <1150000 41>,
136                                 <1100000 52>,
137                                 <1050000 62>,
138                                 <1000000 72>,
139                                 < 950000 83>;
140
141                 regulator-min-microvolt = <950000>;
142                 regulator-max-microvolt = <1350000>;
143                 regulator-name = "vdd_logic";
144                 regulator-ramp-delay = <4000>;
145         };
146
147         vcc33_sys: vcc33-sys {
148                 compatible = "regulator-fixed";
149                 regulator-name = "vcc33_sys";
150                 regulator-always-on;
151                 regulator-boot-on;
152                 regulator-min-microvolt = <3300000>;
153                 regulator-max-microvolt = <3300000>;
154                 vin-supply = <&vccsys>;
155         };
156
157         vcc_5v: vcc-5v {
158                 compatible = "regulator-fixed";
159                 regulator-name = "vcc_5v";
160                 regulator-always-on;
161                 regulator-boot-on;
162                 regulator-min-microvolt = <5000000>;
163                 regulator-max-microvolt = <5000000>;
164         };
165
166         vcc50_hdmi: vcc50-hdmi {
167                 compatible = "regulator-fixed";
168                 regulator-name = "vcc50_hdmi";
169                 regulator-always-on;
170                 regulator-boot-on;
171                 vin-supply = <&vcc_5v>;
172         };
173
174         bt_regulator: bt-regulator {
175                 /*
176                  * On the module itself this is one of these (depending
177                  * on the actual card pouplated):
178                  * - BT_I2S_WS_BT_RFDISABLE_L
179                  * - No connect
180                  */
181
182                 compatible = "regulator-fixed";
183                 enable-active-high;
184                 gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>;
185                 pinctrl-names = "default";
186                 pinctrl-0 = <&bt_enable_l>;
187                 regulator-name = "bt_regulator";
188         };
189
190         wifi_regulator: wifi-regulator {
191                 /*
192                  * On the module itself this is one of these (depending
193                  * on the actual card populated):
194                  * - SDIO_RESET_L_WL_REG_ON
195                  * - PDN (power down when low)
196                  */
197
198                 compatible = "regulator-fixed";
199                 enable-active-high;
200                 gpio = <&gpio4 28 GPIO_ACTIVE_HIGH>;
201                 pinctrl-names = "default";
202                 pinctrl-0 = <&wifi_enable_h>;
203                 regulator-name = "wifi_regulator";
204
205                 /* Faux input supply.  See bt_regulator description. */
206                 vin-supply = <&bt_regulator>;
207         };
208
209         io-domains {
210                 compatible = "rockchip,rk3288-io-voltage-domain";
211                 rockchip,grf = <&grf>;
212
213                 audio-supply = <&vcc18_codec>;
214                 bb-supply = <&vcc33_io>;
215                 dvp-supply = <&vcc_18>;
216                 flash0-supply = <&vcc18_flashio>;
217                 gpio1830-supply = <&vcc33_io>;
218                 gpio30-supply = <&vcc33_io>;
219                 lcdc-supply = <&vcc33_lcd>;
220                 sdcard-supply = <&vccio_sd>;
221                 wifi-supply = <&vcc18_wl>;
222         };
223 };
224
225 &cpu0 {
226         cpu0-supply = <&vdd_cpu>;
227 };
228
229 &dmc {
230         logic-supply = <&vdd_logic>;
231         rockchip,odt-disable-freq = <333000000>;
232         rockchip,dll-disable-freq = <333000000>;
233         rockchip,sr-enable-freq = <333000000>;
234         rockchip,pd-enable-freq = <666000000>;
235         rockchip,auto-self-refresh-cnt = <0>;
236         rockchip,auto-power-down-cnt = <64>;
237         rockchip,ddr-speed-bin = <21>;
238         rockchip,trcd = <10>;
239         rockchip,trp = <10>;
240         operating-points = <
241                 /* KHz    uV */
242                 200000 1050000
243                 333000 1100000
244                 533000 1150000
245                 666000 1200000
246         >;
247 };
248
249 &efuse {
250         status = "okay";
251 };
252
253 &emmc {
254         broken-cd;
255         bus-width = <8>;
256         cap-mmc-highspeed;
257         mmc-hs200-1_8v;
258         mmc-pwrseq = <&emmc_pwrseq>;
259         disable-wp;
260         non-removable;
261         num-slots = <1>;
262         pinctrl-names = "default";
263         pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8 &emmc_pwr>;
264         status = "okay";
265 };
266
267 &sdio0 {
268         broken-cd;
269         bus-width = <4>;
270         cap-sd-highspeed;
271         sd-uhs-sdr12;
272         sd-uhs-sdr25;
273         sd-uhs-sdr50;
274         sd-uhs-sdr104;
275         cap-sdio-irq;
276         card-external-vcc-supply = <&wifi_regulator>;
277         clocks = <&cru HCLK_SDIO0>, <&cru SCLK_SDIO0>, <&cru SCLK_SDIO0_DRV>,
278                  <&cru SCLK_SDIO0_SAMPLE>, <&rk808 RK808_CLKOUT1>;
279         clock-names = "biu", "ciu", "ciu_drv", "ciu_sample", "card_ext_clock";
280         keep-power-in-suspend;
281         non-removable;
282         num-slots = <1>;
283         pinctrl-names = "default";
284         pinctrl-0 = <&sdio0_clk &sdio0_cmd &sdio0_bus4>;
285         status = "okay";
286         vmmc-supply = <&vcc33_sys>;
287         vqmmc-supply = <&vcc18_wl>;
288 };
289
290 &sdmmc {
291         bus-width = <4>;
292         cap-mmc-highspeed;
293         cap-sd-highspeed;
294         sd-uhs-sdr12;
295         sd-uhs-sdr25;
296         sd-uhs-sdr50;
297         sd-uhs-sdr104;
298         card-detect-delay = <200>;
299         cd-gpios = <&gpio7 5 GPIO_ACTIVE_LOW>;
300         num-slots = <1>;
301         status = "okay";
302         vmmc-supply = <&vcc33_sd>;
303         vqmmc-supply = <&vccio_sd>;
304 };
305
306 &spi2 {
307         status = "okay";
308         u-boot,dm-pre-reloc;
309
310         spi_flash: spiflash@0 {
311                 u-boot,dm-pre-reloc;
312                 compatible = "spidev", "spi-flash";
313                 spi-max-frequency = <20000000>; /* Reduce for Dediprog em100 pro */
314                 reg = <0>;
315         };
316 };
317
318 &i2c0 {
319         status = "okay";
320
321         clock-frequency = <400000>;
322         i2c-scl-falling-time-ns = <50>;         /* 2.5ns measured */
323         i2c-scl-rising-time-ns = <100>;         /* 45ns measured */
324         u-boot,dm-pre-reloc;
325
326         rk808: pmic@1b {
327                 compatible = "rockchip,rk808";
328                 clock-output-names = "xin32k", "wifibt_32kin";
329                 interrupt-parent = <&gpio0>;
330                 interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
331                 pinctrl-names = "default";
332                 pinctrl-0 = <&pmic_int_l>;
333                 reg = <0x1b>;
334                 rockchip,system-power-controller;
335                 wakeup-source;
336                 #clock-cells = <1>;
337                 u-boot,dm-pre-reloc;
338
339                 vcc1-supply = <&vcc33_sys>;
340                 vcc2-supply = <&vcc33_sys>;
341                 vcc3-supply = <&vcc33_sys>;
342                 vcc4-supply = <&vcc33_sys>;
343                 vcc6-supply = <&vcc_5v>;
344                 vcc7-supply = <&vcc33_sys>;
345                 vcc8-supply = <&vcc33_sys>;
346                 vcc9-supply = <&vcc_5v>;
347                 vcc10-supply = <&vcc33_sys>;
348                 vcc11-supply = <&vcc_5v>;
349                 vcc12-supply = <&vcc_18>;
350
351                 vddio-supply = <&vcc33_io>;
352
353                 regulators {
354                         vdd_cpu: DCDC_REG1 {
355                                 regulator-always-on;
356                                 regulator-boot-on;
357                                 regulator-min-microvolt = <750000>;
358                                 regulator-max-microvolt = <1450000>;
359                                 regulator-name = "vdd_arm";
360                                 regulator-ramp-delay = <6001>;
361                                 regulator-suspend-mem-disabled;
362                         };
363
364                         vdd_gpu: DCDC_REG2 {
365                                 regulator-always-on;
366                                 regulator-boot-on;
367                                 regulator-min-microvolt = <800000>;
368                                 regulator-max-microvolt = <1250000>;
369                                 regulator-name = "vdd_gpu";
370                                 regulator-ramp-delay = <6001>;
371                                 regulator-suspend-mem-disabled;
372                         };
373
374                         vcc135_ddr: DCDC_REG3 {
375                                 regulator-always-on;
376                                 regulator-boot-on;
377                                 regulator-name = "vcc135_ddr";
378                                 regulator-suspend-mem-enabled;
379                         };
380
381                         /*
382                          * vcc_18 has several aliases.  (vcc18_flashio and
383                          * vcc18_wl).  We'll add those aliases here just to
384                          * make it easier to follow the schematic.  The signals
385                          * are actually hooked together and only separated for
386                          * power measurement purposes).
387                          */
388                         vcc18_wl: vcc18_flashio: vcc_18: DCDC_REG4 {
389                                 regulator-always-on;
390                                 regulator-boot-on;
391                                 regulator-min-microvolt = <1800000>;
392                                 regulator-max-microvolt = <1800000>;
393                                 regulator-name = "vcc_18";
394                                 regulator-suspend-mem-microvolt = <1800000>;
395                         };
396
397                         /*
398                          * Note that both vcc33_io and vcc33_pmuio are always
399                          * powered together. To simplify the logic in the dts
400                          * we just refer to vcc33_io every time something is
401                          * powered from vcc33_pmuio. In fact, on later boards
402                          * (such as danger) they're the same net.
403                          */
404                         vcc33_io: LDO_REG1 {
405                                 regulator-always-on;
406                                 regulator-boot-on;
407                                 regulator-min-microvolt = <3300000>;
408                                 regulator-max-microvolt = <3300000>;
409                                 regulator-name = "vcc33_io";
410                                 regulator-suspend-mem-microvolt = <3300000>;
411                         };
412
413                         vdd_10: LDO_REG3 {
414                                 regulator-always-on;
415                                 regulator-boot-on;
416                                 regulator-min-microvolt = <1000000>;
417                                 regulator-max-microvolt = <1000000>;
418                                 regulator-name = "vdd_10";
419                                 regulator-suspend-mem-microvolt = <1000000>;
420                         };
421
422                         vccio_sd: LDO_REG4 {
423                                 regulator-min-microvolt = <1800000>;
424                                 regulator-max-microvolt = <3300000>;
425                                 regulator-name = "vccio_sd";
426                                 regulator-suspend-mem-disabled;
427                         };
428
429                         vcc33_sd: LDO_REG5 {
430                                 regulator-min-microvolt = <3300000>;
431                                 regulator-max-microvolt = <3300000>;
432                                 regulator-name = "vcc33_sd";
433                                 regulator-suspend-mem-disabled;
434                         };
435
436                         vcc18_codec: LDO_REG6 {
437                                 regulator-always-on;
438                                 regulator-boot-on;
439                                 regulator-min-microvolt = <1800000>;
440                                 regulator-max-microvolt = <1800000>;
441                                 regulator-name = "vcc18_codec";
442                                 regulator-suspend-mem-disabled;
443                         };
444
445                         vdd10_lcd_pwren_h: LDO_REG7 {
446                                 regulator-always-on;
447                                 regulator-boot-on;
448                                 regulator-min-microvolt = <2500000>;
449                                 regulator-max-microvolt = <2500000>;
450                                 regulator-name = "vdd10_lcd_pwren_h";
451                                 regulator-suspend-mem-disabled;
452                         };
453
454                         vcc33_lcd: SWITCH_REG1 {
455                                 regulator-always-on;
456                                 regulator-boot-on;
457                                 regulator-name = "vcc33_lcd";
458                                 regulator-suspend-mem-disabled;
459                         };
460                 };
461         };
462 };
463
464 &i2c1 {
465         status = "okay";
466
467         clock-frequency = <400000>;
468         i2c-scl-falling-time-ns = <50>;         /* 2.5ns measured */
469         i2c-scl-rising-time-ns = <100>;         /* 40ns measured */
470
471         tpm: tpm@20 {
472                 compatible = "infineon,slb9645tt";
473                 reg = <0x20>;
474                 powered-while-suspended;
475         };
476 };
477
478 &i2c2 {
479         status = "okay";
480
481         /* 100kHz since 4.7k resistors don't rise fast enough */
482         clock-frequency = <100000>;
483         i2c-scl-falling-time-ns = <50>;         /* 10ns measured */
484         i2c-scl-rising-time-ns = <800>;         /* 600ns measured */
485
486         max98090: max98090@10 {
487                 compatible = "maxim,max98090";
488                 reg = <0x10>;
489                 interrupt-parent = <&gpio6>;
490                 interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
491                 pinctrl-names = "default";
492                 pinctrl-0 = <&int_codec>;
493         };
494 };
495
496 &i2c3 {
497         status = "okay";
498
499         clock-frequency = <400000>;
500         i2c-scl-falling-time-ns = <50>;
501         i2c-scl-rising-time-ns = <300>;
502 };
503
504 &i2c4 {
505         status = "okay";
506
507         clock-frequency = <400000>;
508         i2c-scl-falling-time-ns = <50>;         /* 11ns measured */
509         i2c-scl-rising-time-ns = <300>;         /* 225ns measured */
510
511         headsetcodec: ts3a227e@3b {
512                 compatible = "ti,ts3a227e";
513                 reg = <0x3b>;
514                 interrupt-parent = <&gpio0>;
515                 interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
516                 pinctrl-names = "default";
517                 pinctrl-0 = <&ts3a227e_int_l>;
518                 ti,micbias = <7>;               /* MICBIAS = 2.8V */
519         };
520 };
521
522 &i2c5 {
523         status = "okay";
524
525         clock-frequency = <100000>;
526         i2c-scl-falling-time-ns = <300>;
527         i2c-scl-rising-time-ns = <1000>;
528 };
529
530 &i2s {
531         status = "okay";
532         clock-names = "i2s_hclk", "i2s_clk", "i2s_clk_out";
533         clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>, <&cru SCLK_I2S0_OUT>;
534 };
535
536 &wdt {
537         status = "okay";
538 };
539
540 &pwm0 {
541         status = "okay";
542 };
543
544 &pwm1 {
545         status = "okay";
546 };
547
548 &uart0 {
549         status = "okay";
550
551         /* Pins don't include flow control by default; add that in */
552         pinctrl-names = "default";
553         pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
554         /* We need to go faster than 24MHz, so adjust clock parents / rates */
555         assigned-clocks = <&cru SCLK_UART0>;
556         assigned-clock-rates = <48000000>;
557 };
558
559 &uart1 {
560         status = "okay";
561 };
562
563 &uart2 {
564         status = "okay";
565         u-boot,dm-pre-reloc;
566         reg-shift = <2>;
567 };
568
569 &vopb {
570         status = "okay";
571 };
572
573 &vopb_mmu {
574         status = "okay";
575 };
576
577 &vopl {
578         status = "okay";
579 };
580
581 &vopl_mmu {
582         status = "okay";
583 };
584
585 &edp {
586         status = "okay";
587         rockchip,panel = <&panel>;
588 };
589
590 &hdmi {
591         status = "okay";
592 };
593
594 &hdmi_audio {
595         status = "okay";
596 };
597
598 &gpu {
599         status = "okay";
600 };
601
602 &tsadc {
603         tsadc-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */
604         tsadc-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */
605         status = "okay";
606 };
607
608 &pinctrl {
609         u-boot,dm-pre-reloc;
610         pinctrl-names = "default", "sleep";
611         pinctrl-0 = <
612                 /* Common for sleep and wake, but no owners */
613                 &ddr0_retention
614                 &ddrio_pwroff
615                 &global_pwroff
616
617                 /* Wake only */
618                 &bt_dev_wake_awake
619         >;
620         pinctrl-1 = <
621                 /* Common for sleep and wake, but no owners */
622                 &ddr0_retention
623                 &ddrio_pwroff
624                 &global_pwroff
625
626                 /* Sleep only */
627                 &bt_dev_wake_sleep
628         >;
629
630         /* Add this for sdmmc pins to SD card */
631         pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma {
632                 drive-strength = <8>;
633         };
634
635         pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma {
636                 bias-pull-up;
637                 drive-strength = <8>;
638         };
639
640         pcfg_output_high: pcfg-output-high {
641                 output-high;
642         };
643
644         pcfg_output_low: pcfg-output-low {
645                 output-low;
646         };
647
648         backlight {
649                 bl_en: bl-en {
650                         rockchip,pins = <7 2 RK_FUNC_GPIO &pcfg_pull_none>;
651                 };
652         };
653
654         buttons {
655                 pwr_key_h: pwr-key-h {
656                         rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_none>;
657                 };
658         };
659
660         codec {
661                 hp_det: hp-det {
662                         rockchip,pins = <6 5 RK_FUNC_GPIO &pcfg_pull_up>;
663                 };
664                 int_codec: int-codec {
665                         rockchip,pins = <6 7 RK_FUNC_GPIO &pcfg_pull_up>;
666                 };
667                 mic_det: mic-det {
668                         rockchip,pins = <6 11 RK_FUNC_GPIO &pcfg_pull_up>;
669                 };
670         };
671
672         emmc {
673                 emmc_reset: emmc-reset {
674                         rockchip,pins = <2 9 RK_FUNC_GPIO &pcfg_pull_none>;
675                 };
676
677                 /*
678                  * We run eMMC at max speed; bump up drive strength.
679                  * We also have external pulls, so disable the internal ones.
680                  */
681                 emmc_clk: emmc-clk {
682                         rockchip,pins = <3 18 RK_FUNC_2 &pcfg_pull_none_drv_8ma>;
683                 };
684
685                 emmc_cmd: emmc-cmd {
686                         rockchip,pins = <3 16 RK_FUNC_2 &pcfg_pull_none_drv_8ma>;
687                 };
688
689                 emmc_bus8: emmc-bus8 {
690                         rockchip,pins = <3 0 RK_FUNC_2 &pcfg_pull_none_drv_8ma>,
691                                         <3 1 RK_FUNC_2 &pcfg_pull_none_drv_8ma>,
692                                         <3 2 RK_FUNC_2 &pcfg_pull_none_drv_8ma>,
693                                         <3 3 RK_FUNC_2 &pcfg_pull_none_drv_8ma>,
694                                         <3 4 RK_FUNC_2 &pcfg_pull_none_drv_8ma>,
695                                         <3 5 RK_FUNC_2 &pcfg_pull_none_drv_8ma>,
696                                         <3 6 RK_FUNC_2 &pcfg_pull_none_drv_8ma>,
697                                         <3 7 RK_FUNC_2 &pcfg_pull_none_drv_8ma>;
698                 };
699         };
700
701         headset {
702                 ts3a227e_int_l: ts3a227e-int-l {
703                         rockchip,pins = <0 3 RK_FUNC_GPIO &pcfg_pull_up>;
704                 };
705         };
706
707         pmic {
708                 pmic_int_l: pmic-int-l {
709                         /*
710                          * Causes jerry to hang when probing bus 0
711                          * rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>;
712                          */
713                 };
714         };
715
716         reboot {
717                 ap_warm_reset_h: ap-warm-reset-h {
718                         rockchip,pins = <RK_GPIO0 13 RK_FUNC_GPIO &pcfg_pull_none>;
719                 };
720         };
721
722         sdio0 {
723                 wifi_enable_h: wifienable-h {
724                         rockchip,pins = <4 28 RK_FUNC_GPIO &pcfg_pull_none>;
725                 };
726
727                 /* NOTE: mislabelled on schematic; should be bt_enable_h */
728                 bt_enable_l: bt-enable-l {
729                         rockchip,pins = <4 29 RK_FUNC_GPIO &pcfg_pull_none>;
730                 };
731
732                 /*
733                  * We run sdio0 at max speed; bump up drive strength.
734                  * We also have external pulls, so disable the internal ones.
735                  */
736                 sdio0_bus4: sdio0-bus4 {
737                         rockchip,pins = <4 20 RK_FUNC_1 &pcfg_pull_none_drv_8ma>,
738                                         <4 21 RK_FUNC_1 &pcfg_pull_none_drv_8ma>,
739                                         <4 22 RK_FUNC_1 &pcfg_pull_none_drv_8ma>,
740                                         <4 23 RK_FUNC_1 &pcfg_pull_none_drv_8ma>;
741                 };
742
743                 sdio0_cmd: sdio0-cmd {
744                         rockchip,pins = <4 24 RK_FUNC_1 &pcfg_pull_none_drv_8ma>;
745                 };
746
747                 sdio0_clk: sdio0-clk {
748                         rockchip,pins = <4 25 RK_FUNC_1 &pcfg_pull_none_drv_8ma>;
749                 };
750
751                 /*
752                  * These pins are only present on very new veyron boards; on
753                  * older boards bt_dev_wake is simply always high.  Note that
754                  * gpio4_26 is a NC on old veyron boards, so it doesn't hurt
755                  * to map this pin everywhere
756                  */
757                 bt_dev_wake_sleep: bt-dev-wake-sleep {
758                         rockchip,pins = <4 26 RK_FUNC_GPIO &pcfg_output_low>;
759                 };
760
761                 bt_dev_wake_awake: bt-dev-wake-awake {
762                         rockchip,pins = <4 26 RK_FUNC_GPIO &pcfg_output_high>;
763                 };
764         };
765
766         sdmmc {
767                 /*
768                  * We run sdmmc at max speed; bump up drive strength.
769                  * We also have external pulls, so disable the internal ones.
770                  */
771                 sdmmc_bus4: sdmmc-bus4 {
772                         rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_none_drv_8ma>,
773                                         <6 17 RK_FUNC_1 &pcfg_pull_none_drv_8ma>,
774                                         <6 18 RK_FUNC_1 &pcfg_pull_none_drv_8ma>,
775                                         <6 19 RK_FUNC_1 &pcfg_pull_none_drv_8ma>;
776                 };
777
778                 sdmmc_clk: sdmmc-clk {
779                         rockchip,pins = <6 20 RK_FUNC_1 &pcfg_pull_none_drv_8ma>;
780                 };
781
782                 sdmmc_cmd: sdmmc-cmd {
783                         rockchip,pins = <6 21 RK_FUNC_1 &pcfg_pull_none_drv_8ma>;
784                 };
785
786                 /*
787                  * Builtin CD line is hooked to ground to prevent JTAG at boot
788                  * (and also to get the voltage rail correct).  Make we
789                  * configure gpio6_C6 as GPIO so dw_mmc builtin CD doesn't
790                  * think there's a card inserted
791                  */
792                 sdmmc_cd_disabled: sdmmc-cd-disabled {
793                         rockchip,pins = <6 22 RK_FUNC_GPIO &pcfg_pull_none>;
794                 };
795
796                 /* This is where we actually hook up CD */
797                 sdmmc_cd_gpio: sdmmc-cd-gpio {
798                         rockchip,pins = <7 5 RK_FUNC_GPIO &pcfg_pull_none>;
799                 };
800         };
801
802         tpm {
803                 tpm_int_h: tpm-int-h {
804                         rockchip,pins = <7 4 RK_FUNC_GPIO &pcfg_pull_none>;
805                 };
806         };
807
808         write-protect {
809                 fw_wp_ap: fw-wp-ap {
810                         rockchip,pins = <7 6 RK_FUNC_GPIO &pcfg_pull_none>;
811                 };
812         };
813 };
814
815 &usbphy {
816         status = "okay";
817 };
818
819 &usb_host0_ehci {
820         status = "okay";
821         needs-reset-on-resume;
822 };
823
824 &usb_host1 {
825         status = "okay";
826 };
827
828 &usb_otg {
829         dr_mode = "host";
830         status = "okay";
831         assigned-clocks = <&cru SCLK_USBPHY480M_SRC>;
832         assigned-clock-parents = <&cru SCLK_OTGPHY0>;
833 };
834
835 &sdmmc {
836         u-boot,dm-pre-reloc;
837 };
838
839 &gpio3 {
840         u-boot,dm-pre-reloc;
841 };
842
843 &gpio8 {
844         u-boot,dm-pre-reloc;
845 };