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