Home | History | Annotate | Line # | Download | only in rockchip
      1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
      2 /*
      3  * Copyright (c) 2017 T-Chip Intelligent Technology Co., Ltd
      4  */
      5 
      6 /dts-v1/;
      7 #include <dt-bindings/input/linux-event-codes.h>
      8 #include <dt-bindings/pwm/pwm.h>
      9 #include "rk3399.dtsi"
     10 #include "rk3399-opp.dtsi"
     11 
     12 / {
     13 	model = "Firefly ROC-RK3399-PC Board";
     14 	compatible = "firefly,roc-rk3399-pc", "rockchip,rk3399";
     15 
     16 	aliases {
     17 		mmc0 = &sdmmc;
     18 		mmc1 = &sdhci;
     19 	};
     20 
     21 	chosen {
     22 		stdout-path = "serial2:1500000n8";
     23 	};
     24 
     25 	backlight: backlight {
     26 		compatible = "pwm-backlight";
     27 		pwms = <&pwm0 0 25000 0>;
     28 	};
     29 
     30 	clkin_gmac: external-gmac-clock {
     31 		compatible = "fixed-clock";
     32 		clock-frequency = <125000000>;
     33 		clock-output-names = "clkin_gmac";
     34 		#clock-cells = <0>;
     35 	};
     36 
     37 	adc-keys {
     38 		compatible = "adc-keys";
     39 		io-channels = <&saradc 1>;
     40 		io-channel-names = "buttons";
     41 		keyup-threshold-microvolt = <1500000>;
     42 		poll-interval = <100>;
     43 
     44 		recovery {
     45 			label = "Recovery";
     46 			linux,code = <KEY_VENDOR>;
     47 			press-threshold-microvolt = <18000>;
     48 		};
     49 	};
     50 
     51 	gpio-keys {
     52 		compatible = "gpio-keys";
     53 		autorepeat;
     54 		pinctrl-names = "default";
     55 		pinctrl-0 = <&pwr_key_l>;
     56 
     57 		power {
     58 			debounce-interval = <100>;
     59 			gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
     60 			label = "GPIO Key Power";
     61 			linux,code = <KEY_POWER>;
     62 			wakeup-source;
     63 		};
     64 	};
     65 
     66 	ir-receiver {
     67 		compatible = "gpio-ir-receiver";
     68 		gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
     69 		pinctrl-names = "default";
     70 		pinctrl-0 = <&ir_int>;
     71 	};
     72 
     73 	leds {
     74 		compatible = "gpio-leds";
     75 		pinctrl-names = "default";
     76 		pinctrl-0 = <&work_led_pin>, <&diy_led_pin>, <&yellow_led_pin>;
     77 
     78 		work_led: led-0 {
     79 			label = "green:work";
     80 			gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
     81 			default-state = "on";
     82 			linux,default-trigger = "heartbeat";
     83 		};
     84 
     85 		diy_led: led-1 {
     86 			label = "red:diy";
     87 			gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
     88 			default-state = "off";
     89 			linux,default-trigger = "mmc2";
     90 		};
     91 
     92 		yellow_led: led-2 {
     93 			label = "yellow:yellow-led";
     94 			gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
     95 			default-state = "off";
     96 			linux,default-trigger = "mmc1";
     97 		};
     98 	};
     99 
    100 	sdio_pwrseq: sdio-pwrseq {
    101 		compatible = "mmc-pwrseq-simple";
    102 		clocks = <&rk808 1>;
    103 		clock-names = "ext_clock";
    104 		pinctrl-names = "default";
    105 		pinctrl-0 = <&wifi_enable_h>;
    106 
    107 		/*
    108 		 * On the module itself this is one of these (depending
    109 		 * on the actual card populated):
    110 		 * - SDIO_RESET_L_WL_REG_ON
    111 		 * - PDN (power down when low)
    112 		 */
    113 		reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
    114 	};
    115 
    116 	vcc_vbus_typec0: vcc-vbus-typec0 {
    117 		compatible = "regulator-fixed";
    118 		regulator-name = "vcc_vbus_typec0";
    119 		regulator-always-on;
    120 		regulator-boot-on;
    121 		regulator-min-microvolt = <5000000>;
    122 		regulator-max-microvolt = <5000000>;
    123 	};
    124 
    125 	sys_12v: sys-12v {
    126 		compatible = "regulator-fixed";
    127 		regulator-name = "sys_12v";
    128 		regulator-always-on;
    129 		regulator-boot-on;
    130 		vin-supply = <&dc_12v>;
    131 	};
    132 
    133 	/* switched by pmic_sleep */
    134 	vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
    135 		compatible = "regulator-fixed";
    136 		regulator-name = "vcc1v8_s3";
    137 		regulator-always-on;
    138 		regulator-boot-on;
    139 		regulator-min-microvolt = <1800000>;
    140 		regulator-max-microvolt = <1800000>;
    141 		vin-supply = <&vcc_1v8>;
    142 	};
    143 
    144 	vcc3v0_sd: vcc3v0-sd {
    145 		compatible = "regulator-fixed";
    146 		enable-active-high;
    147 		gpio = <&gpio4 RK_PD6 GPIO_ACTIVE_HIGH>;
    148 		pinctrl-names = "default";
    149 		pinctrl-0 = <&vcc3v0_sd_en>;
    150 		regulator-name = "vcc3v0_sd";
    151 		regulator-boot-on;
    152 		regulator-min-microvolt = <3000000>;
    153 		regulator-max-microvolt = <3000000>;
    154 		vin-supply = <&vcc3v3_sys>;
    155 	};
    156 
    157 	vcc3v3_sys: vcc3v3-sys {
    158 		compatible = "regulator-fixed";
    159 		regulator-name = "vcc3v3_sys";
    160 		regulator-always-on;
    161 		regulator-boot-on;
    162 		regulator-min-microvolt = <3300000>;
    163 		regulator-max-microvolt = <3300000>;
    164 		vin-supply = <&sys_12v>;
    165 	};
    166 
    167 	vcca_0v9: vcca-0v9 {
    168 		compatible = "regulator-fixed";
    169 		regulator-name = "vcca_0v9";
    170 		regulator-always-on;
    171 		regulator-boot-on;
    172 		regulator-min-microvolt = <900000>;
    173 		regulator-max-microvolt = <900000>;
    174 		vin-supply = <&vcc3v3_sys>;
    175 	};
    176 
    177 	/* Actually 3 regulators (host0, 1, 2) controlled by the same gpio */
    178 	vcc5v0_host: vcc5v0-host-regulator {
    179 		compatible = "regulator-fixed";
    180 		enable-active-high;
    181 		gpio = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
    182 		pinctrl-names = "default";
    183 		pinctrl-0 = <&vcc5v0_host_en &hub_rst>;
    184 		regulator-name = "vcc5v0_host";
    185 		vin-supply = <&vcc_sys>;
    186 	};
    187 
    188 	vcc_vbus_typec1: vcc-vbus-typec1 {
    189 		compatible = "regulator-fixed";
    190 		enable-active-high;
    191 		gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>;
    192 		pinctrl-names = "default";
    193 		pinctrl-0 = <&vcc_vbus_typec1_en>;
    194 		regulator-name = "vcc_vbus_typec1";
    195 		regulator-always-on;
    196 		vin-supply = <&vcc_sys>;
    197 	};
    198 
    199 	vcc_sys: vcc-sys {
    200 		compatible = "regulator-fixed";
    201 		enable-active-high;
    202 		gpio = <&gpio2 RK_PA6 GPIO_ACTIVE_HIGH>;
    203 		pinctrl-names = "default";
    204 		pinctrl-0 = <&vcc_sys_en>;
    205 		regulator-name = "vcc_sys";
    206 		regulator-boot-on;
    207 		regulator-min-microvolt = <5000000>;
    208 		regulator-max-microvolt = <5000000>;
    209 		vin-supply = <&sys_12v>;
    210 	};
    211 
    212 	vdd_log: vdd-log {
    213 		compatible = "pwm-regulator";
    214 		pwms = <&pwm2 0 25000 1>;
    215 		regulator-name = "vdd_log";
    216 		regulator-always-on;
    217 		regulator-boot-on;
    218 		regulator-min-microvolt = <450000>;
    219 		regulator-max-microvolt = <1400000>;
    220 		pwm-supply = <&vcc3v3_sys>;
    221 	};
    222 };
    223 
    224 &cpu_l0 {
    225 	cpu-supply = <&vdd_cpu_l>;
    226 };
    227 
    228 &cpu_l1 {
    229 	cpu-supply = <&vdd_cpu_l>;
    230 };
    231 
    232 &cpu_l2 {
    233 	cpu-supply = <&vdd_cpu_l>;
    234 };
    235 
    236 &cpu_l3 {
    237 	cpu-supply = <&vdd_cpu_l>;
    238 };
    239 
    240 &cpu_b0 {
    241 	cpu-supply = <&vdd_cpu_b>;
    242 };
    243 
    244 &cpu_b1 {
    245 	cpu-supply = <&vdd_cpu_b>;
    246 };
    247 
    248 &emmc_phy {
    249 	status = "okay";
    250 };
    251 
    252 &gmac {
    253 	assigned-clocks = <&cru SCLK_RMII_SRC>;
    254 	assigned-clock-parents = <&clkin_gmac>;
    255 	clock_in_out = "input";
    256 	phy-supply = <&vcc_lan>;
    257 	phy-mode = "rgmii";
    258 	pinctrl-names = "default";
    259 	pinctrl-0 = <&rgmii_pins>;
    260 	snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
    261 	snps,reset-active-low;
    262 	snps,reset-delays-us = <0 10000 50000>;
    263 	tx_delay = <0x28>;
    264 	rx_delay = <0x11>;
    265 	status = "okay";
    266 };
    267 
    268 &gpu {
    269 	mali-supply = <&vdd_gpu>;
    270 	status = "okay";
    271 };
    272 
    273 &hdmi {
    274 	ddc-i2c-bus = <&i2c3>;
    275 	pinctrl-names = "default";
    276 	pinctrl-0 = <&hdmi_cec>;
    277 	status = "okay";
    278 };
    279 
    280 &hdmi_sound {
    281 	status = "okay";
    282 };
    283 
    284 &i2c0 {
    285 	clock-frequency = <400000>;
    286 	i2c-scl-rising-time-ns = <168>;
    287 	i2c-scl-falling-time-ns = <4>;
    288 	status = "okay";
    289 
    290 	rk808: pmic@1b {
    291 		compatible = "rockchip,rk808";
    292 		reg = <0x1b>;
    293 		interrupt-parent = <&gpio1>;
    294 		interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
    295 		#clock-cells = <1>;
    296 		clock-output-names = "xin32k", "rk808-clkout2";
    297 		pinctrl-names = "default";
    298 		pinctrl-0 = <&pmic_int_l>;
    299 		rockchip,system-power-controller;
    300 		wakeup-source;
    301 
    302 		vcc1-supply = <&vcc3v3_sys>;
    303 		vcc2-supply = <&vcc3v3_sys>;
    304 		vcc3-supply = <&vcc3v3_sys>;
    305 		vcc4-supply = <&vcc3v3_sys>;
    306 		vcc6-supply = <&vcc3v3_sys>;
    307 		vcc7-supply = <&vcc3v3_sys>;
    308 		vcc8-supply = <&vcc3v3_sys>;
    309 		vcc9-supply = <&vcc3v3_sys>;
    310 		vcc10-supply = <&vcc3v3_sys>;
    311 		vcc11-supply = <&vcc3v3_sys>;
    312 		vcc12-supply = <&vcc3v3_sys>;
    313 		vcc13-supply = <&vcc3v3_sys>;
    314 		vcc14-supply = <&vcc3v3_sys>;
    315 		vddio-supply = <&vcc_3v0>;
    316 
    317 		regulators {
    318 			vdd_center: DCDC_REG1 {
    319 				regulator-name = "vdd_center";
    320 				regulator-always-on;
    321 				regulator-boot-on;
    322 				regulator-min-microvolt = <750000>;
    323 				regulator-max-microvolt = <1350000>;
    324 				regulator-ramp-delay = <6001>;
    325 				regulator-state-mem {
    326 					regulator-off-in-suspend;
    327 				};
    328 			};
    329 
    330 			vdd_cpu_l: DCDC_REG2 {
    331 				regulator-name = "vdd_cpu_l";
    332 				regulator-always-on;
    333 				regulator-boot-on;
    334 				regulator-min-microvolt = <750000>;
    335 				regulator-max-microvolt = <1350000>;
    336 				regulator-ramp-delay = <6001>;
    337 				regulator-state-mem {
    338 					regulator-off-in-suspend;
    339 				};
    340 			};
    341 
    342 			vcc_ddr: DCDC_REG3 {
    343 				regulator-name = "vcc_ddr";
    344 				regulator-always-on;
    345 				regulator-boot-on;
    346 				regulator-state-mem {
    347 					regulator-on-in-suspend;
    348 				};
    349 			};
    350 
    351 			vcc_1v8: DCDC_REG4 {
    352 				regulator-name = "vcc_1v8";
    353 				regulator-always-on;
    354 				regulator-boot-on;
    355 				regulator-min-microvolt = <1800000>;
    356 				regulator-max-microvolt = <1800000>;
    357 				regulator-state-mem {
    358 					regulator-on-in-suspend;
    359 					regulator-suspend-microvolt = <1800000>;
    360 				};
    361 			};
    362 
    363 			vcca1v8_codec: LDO_REG1 {
    364 				regulator-name = "vcca1v8_codec";
    365 				regulator-always-on;
    366 				regulator-boot-on;
    367 				regulator-min-microvolt = <1800000>;
    368 				regulator-max-microvolt = <1800000>;
    369 				regulator-state-mem {
    370 					regulator-off-in-suspend;
    371 				};
    372 			};
    373 
    374 			vcc1v8_hdmi: LDO_REG2 {
    375 				regulator-name = "vcc1v8_hdmi";
    376 				regulator-always-on;
    377 				regulator-boot-on;
    378 				regulator-min-microvolt = <1800000>;
    379 				regulator-max-microvolt = <1800000>;
    380 				regulator-state-mem {
    381 					regulator-off-in-suspend;
    382 				};
    383 			};
    384 
    385 			vcc1v8_pmu: LDO_REG3 {
    386 				regulator-name = "vcc1v8_pmu";
    387 				regulator-always-on;
    388 				regulator-boot-on;
    389 				regulator-min-microvolt = <1800000>;
    390 				regulator-max-microvolt = <1800000>;
    391 				regulator-state-mem {
    392 					regulator-on-in-suspend;
    393 					regulator-suspend-microvolt = <1800000>;
    394 				};
    395 			};
    396 
    397 			vcc_sdio: LDO_REG4 {
    398 				regulator-name = "vcc_sdio";
    399 				regulator-always-on;
    400 				regulator-boot-on;
    401 				regulator-min-microvolt = <1800000>;
    402 				regulator-max-microvolt = <3000000>;
    403 				regulator-state-mem {
    404 					regulator-on-in-suspend;
    405 					regulator-suspend-microvolt = <3000000>;
    406 				};
    407 			};
    408 
    409 			vcca3v0_codec: LDO_REG5 {
    410 				regulator-name = "vcca3v0_codec";
    411 				regulator-always-on;
    412 				regulator-boot-on;
    413 				regulator-min-microvolt = <3000000>;
    414 				regulator-max-microvolt = <3000000>;
    415 				regulator-state-mem {
    416 					regulator-off-in-suspend;
    417 				};
    418 			};
    419 
    420 			vcc_1v5: LDO_REG6 {
    421 				regulator-name = "vcc_1v5";
    422 				regulator-always-on;
    423 				regulator-boot-on;
    424 				regulator-min-microvolt = <1500000>;
    425 				regulator-max-microvolt = <1500000>;
    426 				regulator-state-mem {
    427 					regulator-on-in-suspend;
    428 					regulator-suspend-microvolt = <1500000>;
    429 				};
    430 			};
    431 
    432 			vcca0v9_hdmi: LDO_REG7 {
    433 				regulator-name = "vcca0v9_hdmi";
    434 				regulator-always-on;
    435 				regulator-boot-on;
    436 				regulator-min-microvolt = <900000>;
    437 				regulator-max-microvolt = <900000>;
    438 				regulator-state-mem {
    439 					regulator-off-in-suspend;
    440 				};
    441 			};
    442 
    443 			vcc_3v0: LDO_REG8 {
    444 				regulator-name = "vcc_3v0";
    445 				regulator-always-on;
    446 				regulator-boot-on;
    447 				regulator-min-microvolt = <3000000>;
    448 				regulator-max-microvolt = <3000000>;
    449 				regulator-state-mem {
    450 					regulator-on-in-suspend;
    451 					regulator-suspend-microvolt = <3000000>;
    452 				};
    453 			};
    454 
    455 			vcc3v3_s3: vcc_lan: SWITCH_REG1 {
    456 				regulator-name = "vcc3v3_s3";
    457 				regulator-always-on;
    458 				regulator-boot-on;
    459 				regulator-state-mem {
    460 					regulator-off-in-suspend;
    461 				};
    462 			};
    463 
    464 			vcc3v3_s0: SWITCH_REG2 {
    465 				regulator-name = "vcc3v3_s0";
    466 				regulator-always-on;
    467 				regulator-boot-on;
    468 				regulator-state-mem {
    469 					regulator-off-in-suspend;
    470 				};
    471 			};
    472 		};
    473 	};
    474 
    475 	vdd_cpu_b: regulator@40 {
    476 		compatible = "silergy,syr827";
    477 		reg = <0x40>;
    478 		fcs,suspend-voltage-selector = <1>;
    479 		pinctrl-names = "default";
    480 		pinctrl-0 = <&vsel1_pin>;
    481 		regulator-name = "vdd_cpu_b";
    482 		regulator-min-microvolt = <712500>;
    483 		regulator-max-microvolt = <1500000>;
    484 		regulator-ramp-delay = <1000>;
    485 		regulator-always-on;
    486 		regulator-boot-on;
    487 		vin-supply = <&vcc3v3_sys>;
    488 
    489 		regulator-state-mem {
    490 			regulator-off-in-suspend;
    491 		};
    492 	};
    493 
    494 	vdd_gpu: regulator@41 {
    495 		compatible = "silergy,syr828";
    496 		reg = <0x41>;
    497 		fcs,suspend-voltage-selector = <1>;
    498 		pinctrl-names = "default";
    499 		pinctrl-0 = <&vsel2_pin>;
    500 		regulator-name = "vdd_gpu";
    501 		regulator-min-microvolt = <712500>;
    502 		regulator-max-microvolt = <1500000>;
    503 		regulator-ramp-delay = <1000>;
    504 		regulator-always-on;
    505 		regulator-boot-on;
    506 		vin-supply = <&vcc3v3_sys>;
    507 
    508 		regulator-state-mem {
    509 			regulator-off-in-suspend;
    510 		};
    511 	};
    512 };
    513 
    514 &i2c1 {
    515 	i2c-scl-rising-time-ns = <300>;
    516 	i2c-scl-falling-time-ns = <15>;
    517 	status = "okay";
    518 };
    519 
    520 &i2c3 {
    521 	i2c-scl-rising-time-ns = <450>;
    522 	i2c-scl-falling-time-ns = <15>;
    523 	status = "okay";
    524 };
    525 
    526 &i2c4 {
    527 	i2c-scl-rising-time-ns = <600>;
    528 	i2c-scl-falling-time-ns = <20>;
    529 	status = "okay";
    530 
    531 	fusb1: usb-typec@22 {
    532 		compatible = "fcs,fusb302";
    533 		reg = <0x22>;
    534 		interrupt-parent = <&gpio1>;
    535 		interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
    536 		pinctrl-names = "default";
    537 		pinctrl-0 = <&fusb1_int>;
    538 		vbus-supply = <&vcc_vbus_typec1>;
    539 		status = "okay";
    540 	};
    541 };
    542 
    543 &i2c7 {
    544 	i2c-scl-rising-time-ns = <600>;
    545 	i2c-scl-falling-time-ns = <20>;
    546 	status = "okay";
    547 
    548 	fusb0: usb-typec@22 {
    549 		compatible = "fcs,fusb302";
    550 		reg = <0x22>;
    551 		interrupt-parent = <&gpio1>;
    552 		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
    553 		pinctrl-names = "default";
    554 		pinctrl-0 = <&fusb0_int>;
    555 		vbus-supply = <&vcc_vbus_typec0>;
    556 		status = "okay";
    557 	};
    558 
    559 	mp8859: regulator@66 {
    560 		compatible = "mps,mp8859";
    561 		reg = <0x66>;
    562 		dc_12v: mp8859_dcdc {
    563 			regulator-name = "dc_12v";
    564 			regulator-min-microvolt = <12000000>;
    565 			regulator-max-microvolt = <12000000>;
    566 			regulator-always-on;
    567 			regulator-boot-on;
    568 			vin-supply = <&vcc_vbus_typec0>;
    569 
    570 			regulator-state-mem {
    571 				regulator-on-in-suspend;
    572 				regulator-suspend-microvolt = <12000000>;
    573 			};
    574 		};
    575 	};
    576 };
    577 
    578 &i2s0 {
    579 	rockchip,playback-channels = <8>;
    580 	rockchip,capture-channels = <8>;
    581 	status = "okay";
    582 };
    583 
    584 &i2s1 {
    585 	rockchip,playback-channels = <2>;
    586 	rockchip,capture-channels = <2>;
    587 	status = "okay";
    588 };
    589 
    590 &i2s2 {
    591 	status = "okay";
    592 };
    593 
    594 &io_domains {
    595 	audio-supply = <&vcca1v8_codec>;
    596 	bt656-supply = <&vcc_3v0>;
    597 	gpio1830-supply = <&vcc_3v0>;
    598 	sdmmc-supply = <&vcc_sdio>;
    599 	status = "okay";
    600 };
    601 
    602 &pmu_io_domains {
    603 	pmu1830-supply = <&vcc_3v0>;
    604 	status = "okay";
    605 };
    606 
    607 &pinctrl {
    608 	buttons {
    609 		pwr_key_l: pwr-key-l {
    610 			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
    611 		};
    612 	};
    613 
    614 	ir {
    615 		ir_int: ir-int {
    616 			rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
    617 		};
    618 	};
    619 
    620 	lcd-panel {
    621 		lcd_panel_reset: lcd-panel-reset {
    622 			rockchip,pins = <4 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>;
    623 		};
    624 	};
    625 
    626 	leds {
    627 		diy_led_pin: diy-led-pin {
    628 			rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
    629 		};
    630 
    631 		work_led_pin: work-led-pin {
    632 			rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
    633 		};
    634 
    635 		yellow_led_pin: yellow-led-pin {
    636 			rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
    637 		};
    638 	};
    639 
    640 	pmic {
    641 		vsel1_pin: vsel1-pin {
    642 			rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
    643 		};
    644 
    645 		vsel2_pin: vsel2-pin {
    646 			rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
    647 		};
    648 	};
    649 
    650 	sdio-pwrseq {
    651 		wifi_enable_h: wifi-enable-h {
    652 			rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
    653 		};
    654 	};
    655 
    656 	sdmmc {
    657 		vcc3v0_sd_en: vcc3v0-sd-en {
    658 			rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;
    659 		};
    660 	};
    661 
    662 	pmic {
    663 		pmic_int_l: pmic-int-l {
    664 			rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
    665 		};
    666 	};
    667 
    668 	usb2 {
    669 		vcc5v0_host_en: vcc5v0-host-en {
    670 			rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
    671 		};
    672 
    673 		vcc_sys_en: vcc-sys-en {
    674 			rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
    675 		};
    676 
    677 		hub_rst: hub-rst {
    678 			rockchip,pins = <2 RK_PA4 RK_FUNC_GPIO &pcfg_output_high>;
    679 		};
    680 	};
    681 
    682 	usb-typec {
    683 		vcc_vbus_typec1_en: vcc-vbus-typec1-en {
    684 			rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
    685 		};
    686 	};
    687 
    688 	fusb30x {
    689 		fusb0_int: fusb0-int {
    690 			rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
    691 		};
    692 
    693 		fusb1_int: fusb1-int {
    694 			rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
    695 		};
    696 	};
    697 };
    698 
    699 &pwm0 {
    700 	status = "okay";
    701 };
    702 
    703 &pwm2 {
    704 	status = "okay";
    705 };
    706 
    707 &saradc {
    708 	vref-supply = <&vcca1v8_s3>;
    709 	status = "okay";
    710 };
    711 
    712 &sdmmc {
    713 	bus-width = <4>;
    714 	cap-sd-highspeed;
    715 	cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
    716 	disable-wp;
    717 	max-frequency = <150000000>;
    718 	pinctrl-names = "default";
    719 	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
    720 	sd-uhs-sdr104;
    721 	vmmc-supply = <&vcc3v0_sd>;
    722 	vqmmc-supply = <&vcc_sdio>;
    723 	status = "okay";
    724 };
    725 
    726 &sdhci {
    727 	bus-width = <8>;
    728 	non-removable;
    729 	status = "okay";
    730 };
    731 
    732 &spi1 {
    733 	status = "okay";
    734 
    735 	flash@0 {
    736 		compatible = "jedec,spi-nor";
    737 		reg = <0>;
    738 		spi-max-frequency = <10000000>;
    739 	};
    740 };
    741 
    742 &tcphy0 {
    743 	status = "okay";
    744 };
    745 
    746 &tcphy1 {
    747 	status = "okay";
    748 };
    749 
    750 &tsadc {
    751 	/* tshut mode 0:CRU 1:GPIO */
    752 	rockchip,hw-tshut-mode = <1>;
    753 	/* tshut polarity 0:LOW 1:HIGH */
    754 	rockchip,hw-tshut-polarity = <1>;
    755 	status = "okay";
    756 };
    757 
    758 &u2phy0 {
    759 	status = "okay";
    760 
    761 	u2phy0_otg: otg-port {
    762 		phy-supply = <&vcc_vbus_typec0>;
    763 		status = "okay";
    764 	};
    765 
    766 	u2phy0_host: host-port {
    767 		phy-supply = <&vcc5v0_host>;
    768 		status = "okay";
    769 	};
    770 };
    771 
    772 &u2phy1 {
    773 	status = "okay";
    774 
    775 	u2phy1_otg: otg-port {
    776 		phy-supply = <&vcc_vbus_typec1>;
    777 		status = "okay";
    778 	};
    779 
    780 	u2phy1_host: host-port {
    781 		phy-supply = <&vcc5v0_host>;
    782 		status = "okay";
    783 	};
    784 };
    785 
    786 &uart0 {
    787 	pinctrl-names = "default";
    788 	pinctrl-0 = <&uart0_xfer &uart0_cts>;
    789 	status = "okay";
    790 };
    791 
    792 &uart2 {
    793 	status = "okay";
    794 };
    795 
    796 &usb_host0_ehci {
    797 	status = "okay";
    798 };
    799 
    800 &usb_host0_ohci {
    801 	status = "okay";
    802 };
    803 
    804 &usb_host1_ehci {
    805 	status = "okay";
    806 };
    807 
    808 &usb_host1_ohci {
    809 	status = "okay";
    810 };
    811 
    812 &usbdrd3_0 {
    813 	status = "okay";
    814 };
    815 
    816 &usbdrd_dwc3_0 {
    817 	status = "okay";
    818 };
    819 
    820 &usbdrd3_1 {
    821 	status = "okay";
    822 };
    823 
    824 &usbdrd_dwc3_1 {
    825 	status = "okay";
    826 	dr_mode = "host";
    827 };
    828 
    829 &vopb {
    830 	status = "okay";
    831 };
    832 
    833 &vopb_mmu {
    834 	status = "okay";
    835 };
    836 
    837 &vopl {
    838 	status = "okay";
    839 };
    840 
    841 &vopl_mmu {
    842 	status = "okay";
    843 };
    844