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