blob: 916dd486de094f95358d5eac76dc9ee6ad98769c [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0
Simon Glasse2e947f2015-08-30 16:55:42 -06002/*
3 * Google Veyron (and derivatives) board device tree source
4 *
5 * Copyright 2014 Google, Inc
Simon Glasse2e947f2015-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";
Simon Glasse2e947f2015-08-30 16:55:42 -060086
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
Simon Glass79d020e2016-01-21 19:43:36 -0700106 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
Simon Glasse2e947f2015-08-30 16:55:42 -0600113 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 >;
Simon Glasse2e947f2015-08-30 16:55:42 -0600245};
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;
Simon Glass79d020e2016-01-21 19:43:36 -0700256 mmc-pwrseq = <&emmc_pwrseq>;
Simon Glasse2e947f2015-08-30 16:55:42 -0600257 disable-wp;
258 non-removable;
259 num-slots = <1>;
260 pinctrl-names = "default";
Simon Glass79d020e2016-01-21 19:43:36 -0700261 pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8 &emmc_pwr>;
Simon Glasse2e947f2015-08-30 16:55:42 -0600262 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;
Neil Armstrongffd4c7c2019-02-10 10:16:20 +0000310 compatible = "spidev", "jedec,spi-nor";
Simon Glasse2e947f2015-08-30 16:55:42 -0600311 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 */
Simon Glassdae594f2016-01-21 19:45:17 -0700322 u-boot,dm-pre-reloc;
Simon Glasse2e947f2015-08-30 16:55:42 -0600323
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>;
Simon Glassdae594f2016-01-21 19:45:17 -0700335 u-boot,dm-pre-reloc;
Simon Glasse2e947f2015-08-30 16:55:42 -0600336
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>;
Simon Glass2d0c01b2018-12-27 20:15:23 -0700487 #sound-dai-cells = <0>;
Simon Glasse2e947f2015-08-30 16:55:42 -0600488 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 {
Simon Glass79d020e2016-01-21 19:43:36 -0700672 emmc_reset: emmc-reset {
673 rockchip,pins = <2 9 RK_FUNC_GPIO &pcfg_pull_none>;
Simon Glasse2e947f2015-08-30 16:55:42 -0600674 };
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 {
Simon Glassf4adc9a2016-01-21 19:43:37 -0700708 /*
709 * Causes jerry to hang when probing bus 0
710 * rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>;
711 */
Simon Glasse2e947f2015-08-30 16:55:42 -0600712 };
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};