blob: 4b66f6be3c5b9792fb0abca15c9ee0459a130172 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0
Simon Glass9d5d1cc2015-08-30 16:55:42 -06002/*
3 * Google Veyron (and derivatives) board device tree source
4 *
5 * Copyright 2014 Google, Inc
Simon Glass9d5d1cc2015-08-30 16:55:42 -06006 */
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
Simon Glassaf0b7442016-01-21 19:43:36 -0700108 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
Simon Glass9d5d1cc2015-08-30 16:55:42 -0600115 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 >;
Simon Glass9d5d1cc2015-08-30 16:55:42 -0600247};
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;
Simon Glassaf0b7442016-01-21 19:43:36 -0700258 mmc-pwrseq = <&emmc_pwrseq>;
Simon Glass9d5d1cc2015-08-30 16:55:42 -0600259 disable-wp;
260 non-removable;
261 num-slots = <1>;
262 pinctrl-names = "default";
Simon Glassaf0b7442016-01-21 19:43:36 -0700263 pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8 &emmc_pwr>;
Simon Glass9d5d1cc2015-08-30 16:55:42 -0600264 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 */
Simon Glass94906e42016-01-21 19:45:17 -0700324 u-boot,dm-pre-reloc;
Simon Glass9d5d1cc2015-08-30 16:55:42 -0600325
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>;
Simon Glass94906e42016-01-21 19:45:17 -0700337 u-boot,dm-pre-reloc;
Simon Glass9d5d1cc2015-08-30 16:55:42 -0600338
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 {
Simon Glassaf0b7442016-01-21 19:43:36 -0700673 emmc_reset: emmc-reset {
674 rockchip,pins = <2 9 RK_FUNC_GPIO &pcfg_pull_none>;
Simon Glass9d5d1cc2015-08-30 16:55:42 -0600675 };
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 {
Simon Glass930ec982016-01-21 19:43:37 -0700709 /*
710 * Causes jerry to hang when probing bus 0
711 * rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>;
712 */
Simon Glass9d5d1cc2015-08-30 16:55:42 -0600713 };
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};