xref: /freebsd-src/sys/contrib/device-tree/src/arm64/rockchip/rk3566-box-demo.dts (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
18bab661aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
28bab661aSEmmanuel Vadot
38bab661aSEmmanuel Vadot/*
48bab661aSEmmanuel Vadot * Author: Piotr Oniszczuk piotr.oniszczuk@gmail.com
58bab661aSEmmanuel Vadot * Based on Quartz64 DT by: Peter Geis pgwipeout@gmail.com
68bab661aSEmmanuel Vadot */
78bab661aSEmmanuel Vadot
88bab661aSEmmanuel Vadot/dts-v1/;
98bab661aSEmmanuel Vadot
108bab661aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
118bab661aSEmmanuel Vadot#include <dt-bindings/leds/common.h>
128bab661aSEmmanuel Vadot#include <dt-bindings/pinctrl/rockchip.h>
138bab661aSEmmanuel Vadot#include <dt-bindings/soc/rockchip,vop2.h>
148bab661aSEmmanuel Vadot#include "rk3566.dtsi"
158bab661aSEmmanuel Vadot
168bab661aSEmmanuel Vadot/ {
178bab661aSEmmanuel Vadot	model = "Rockchip RK3566 BOX DEMO Board";
188bab661aSEmmanuel Vadot	compatible = "rockchip,rk3566-box-demo", "rockchip,rk3566";
198bab661aSEmmanuel Vadot
208bab661aSEmmanuel Vadot	aliases {
218bab661aSEmmanuel Vadot		ethernet0 = &gmac1;
228bab661aSEmmanuel Vadot		mmc0 = &sdmmc0;
238bab661aSEmmanuel Vadot		mmc1 = &sdmmc1;
248bab661aSEmmanuel Vadot		mmc2 = &sdhci;
258bab661aSEmmanuel Vadot	};
268bab661aSEmmanuel Vadot
278bab661aSEmmanuel Vadot	chosen: chosen {
288bab661aSEmmanuel Vadot		stdout-path = "serial2:1500000n8";
298bab661aSEmmanuel Vadot	};
308bab661aSEmmanuel Vadot
318bab661aSEmmanuel Vadot	gmac1_clkin: external-gmac1-clock {
328bab661aSEmmanuel Vadot		compatible = "fixed-clock";
338bab661aSEmmanuel Vadot		clock-frequency = <125000000>;
348bab661aSEmmanuel Vadot		clock-output-names = "gmac1_clkin";
358bab661aSEmmanuel Vadot		#clock-cells = <0>;
368bab661aSEmmanuel Vadot	};
378bab661aSEmmanuel Vadot
388bab661aSEmmanuel Vadot	hdmi-con {
398bab661aSEmmanuel Vadot		compatible = "hdmi-connector";
408bab661aSEmmanuel Vadot		type = "a";
418bab661aSEmmanuel Vadot
428bab661aSEmmanuel Vadot		port {
438bab661aSEmmanuel Vadot			hdmi_con_in: endpoint {
448bab661aSEmmanuel Vadot				remote-endpoint = <&hdmi_out_con>;
458bab661aSEmmanuel Vadot			};
468bab661aSEmmanuel Vadot		};
478bab661aSEmmanuel Vadot	};
488bab661aSEmmanuel Vadot
498bab661aSEmmanuel Vadot	ir-receiver {
508bab661aSEmmanuel Vadot		compatible = "gpio-ir-receiver";
518bab661aSEmmanuel Vadot		gpios = <&gpio4 RK_PC3 GPIO_ACTIVE_LOW>;
528bab661aSEmmanuel Vadot		pinctrl-0 = <&ir_int>;
538bab661aSEmmanuel Vadot		linux,rc-map-name = "rc-beelink-gs1";
548bab661aSEmmanuel Vadot		status = "okay";
558bab661aSEmmanuel Vadot	};
568bab661aSEmmanuel Vadot
578bab661aSEmmanuel Vadot	leds {
588bab661aSEmmanuel Vadot		compatible = "gpio-leds";
598bab661aSEmmanuel Vadot
608bab661aSEmmanuel Vadot		led_work: led-0 {
618bab661aSEmmanuel Vadot			gpios = <&gpio0 RK_PC3 GPIO_ACTIVE_HIGH>;
628bab661aSEmmanuel Vadot			function = LED_FUNCTION_HEARTBEAT;
638bab661aSEmmanuel Vadot			color = <LED_COLOR_ID_BLUE>;
648bab661aSEmmanuel Vadot			linux,default-trigger = "heartbeat";
658bab661aSEmmanuel Vadot			pinctrl-names = "default";
668bab661aSEmmanuel Vadot			pinctrl-0 = <&led_work_en>;
678bab661aSEmmanuel Vadot		};
688bab661aSEmmanuel Vadot	};
698bab661aSEmmanuel Vadot
708bab661aSEmmanuel Vadot	sdio_pwrseq: sdio-pwrseq {
718bab661aSEmmanuel Vadot		status = "okay";
728bab661aSEmmanuel Vadot		compatible = "mmc-pwrseq-simple";
738bab661aSEmmanuel Vadot		clocks = <&pmucru CLK_RTC_32K>;
748bab661aSEmmanuel Vadot		clock-names = "ext_clock";
758bab661aSEmmanuel Vadot		pinctrl-names = "default";
768bab661aSEmmanuel Vadot		pinctrl-0 = <&wifi_enable_h &wifi_32k>;
778bab661aSEmmanuel Vadot		reset-gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_LOW>;
788bab661aSEmmanuel Vadot	};
798bab661aSEmmanuel Vadot
808bab661aSEmmanuel Vadot	spdif_dit: spdif-dit {
818bab661aSEmmanuel Vadot		compatible = "linux,spdif-dit";
828bab661aSEmmanuel Vadot		#sound-dai-cells = <0>;
838bab661aSEmmanuel Vadot	};
848bab661aSEmmanuel Vadot
858bab661aSEmmanuel Vadot	spdif_sound: spdif-sound {
868bab661aSEmmanuel Vadot		compatible = "simple-audio-card";
878bab661aSEmmanuel Vadot		simple-audio-card,name = "SPDIF";
888bab661aSEmmanuel Vadot
898bab661aSEmmanuel Vadot		simple-audio-card,cpu {
908bab661aSEmmanuel Vadot			sound-dai = <&spdif>;
918bab661aSEmmanuel Vadot		};
928bab661aSEmmanuel Vadot
938bab661aSEmmanuel Vadot		simple-audio-card,codec {
948bab661aSEmmanuel Vadot			sound-dai = <&spdif_dit>;
958bab661aSEmmanuel Vadot		};
968bab661aSEmmanuel Vadot	};
978bab661aSEmmanuel Vadot
988bab661aSEmmanuel Vadot	vcc12v0_dcin: regulator-vcc12v0-dcin {
998bab661aSEmmanuel Vadot		compatible = "regulator-fixed";
1008bab661aSEmmanuel Vadot		regulator-name = "vcc12v0_dcin";
1018bab661aSEmmanuel Vadot		regulator-always-on;
1028bab661aSEmmanuel Vadot		regulator-boot-on;
1038bab661aSEmmanuel Vadot		regulator-min-microvolt = <12000000>;
1048bab661aSEmmanuel Vadot		regulator-max-microvolt = <12000000>;
1058bab661aSEmmanuel Vadot	};
1068bab661aSEmmanuel Vadot
1078bab661aSEmmanuel Vadot	vcc5v0_sys: regulator-vcc5v0-sys {
1088bab661aSEmmanuel Vadot		compatible = "regulator-fixed";
1098bab661aSEmmanuel Vadot		regulator-name = "vcc5v0_sys";
1108bab661aSEmmanuel Vadot		regulator-always-on;
1118bab661aSEmmanuel Vadot		regulator-boot-on;
1128bab661aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
1138bab661aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
1148bab661aSEmmanuel Vadot		vin-supply = <&vcc12v0_dcin>;
1158bab661aSEmmanuel Vadot	};
1168bab661aSEmmanuel Vadot
1178bab661aSEmmanuel Vadot	vcc3v3_sys: regulator-vcc3v3-sys {
1188bab661aSEmmanuel Vadot		compatible = "regulator-fixed";
1198bab661aSEmmanuel Vadot		regulator-name = "vcc3v3_sys";
1208bab661aSEmmanuel Vadot		regulator-always-on;
1218bab661aSEmmanuel Vadot		regulator-boot-on;
1228bab661aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
1238bab661aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
1248bab661aSEmmanuel Vadot		vin-supply = <&vcc12v0_dcin>;
1258bab661aSEmmanuel Vadot	};
1268bab661aSEmmanuel Vadot
1278bab661aSEmmanuel Vadot	vcc_3v3: regulator-vcc-3v3 {
1288bab661aSEmmanuel Vadot		compatible = "regulator-fixed";
1298bab661aSEmmanuel Vadot		regulator-name = "vcc_3v3";
1308bab661aSEmmanuel Vadot		regulator-always-on;
1318bab661aSEmmanuel Vadot		regulator-boot-on;
1328bab661aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
1338bab661aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
1348bab661aSEmmanuel Vadot		vin-supply = <&vcc3v3_sys>;
1358bab661aSEmmanuel Vadot	};
1368bab661aSEmmanuel Vadot
1378bab661aSEmmanuel Vadot	vcc5v0_usb_host: regulator-vcc5v0-usb-host {
1388bab661aSEmmanuel Vadot		compatible = "regulator-fixed";
1398bab661aSEmmanuel Vadot		enable-active-high;
1408bab661aSEmmanuel Vadot		gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
1418bab661aSEmmanuel Vadot		pinctrl-names = "default";
1428bab661aSEmmanuel Vadot		pinctrl-0 = <&vcc5v0_usb_host_en>;
1438bab661aSEmmanuel Vadot		regulator-name = "vcc5v0_usb_host";
1448bab661aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
1458bab661aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
1468bab661aSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
1478bab661aSEmmanuel Vadot	};
1488bab661aSEmmanuel Vadot
1498bab661aSEmmanuel Vadot	vcc5v0_usb2_otg: regulator-vcc5v0-usb2-otg {
1508bab661aSEmmanuel Vadot		compatible = "regulator-fixed";
1518bab661aSEmmanuel Vadot		enable-active-high;
1528bab661aSEmmanuel Vadot		gpio = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
1538bab661aSEmmanuel Vadot		pinctrl-names = "default";
1548bab661aSEmmanuel Vadot		pinctrl-0 = <&vcc5v0_usb2_otg_en>;
1558bab661aSEmmanuel Vadot		regulator-name = "vcc5v0_usb_otg";
1568bab661aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
1578bab661aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
1588bab661aSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
1598bab661aSEmmanuel Vadot	};
1608bab661aSEmmanuel Vadot
1618bab661aSEmmanuel Vadot	vcca_1v8: regulator-vcca-1v8 {
1628bab661aSEmmanuel Vadot		compatible = "regulator-fixed";
1638bab661aSEmmanuel Vadot		regulator-name = "vcca_1v8";
1648bab661aSEmmanuel Vadot		regulator-always-on;
1658bab661aSEmmanuel Vadot		regulator-boot-on;
1668bab661aSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
1678bab661aSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
1688bab661aSEmmanuel Vadot		vin-supply = <&vcc3v3_sys>;
1698bab661aSEmmanuel Vadot	};
1708bab661aSEmmanuel Vadot
1718bab661aSEmmanuel Vadot	vdda_0v9: regulator-vdda-0v9 {
1728bab661aSEmmanuel Vadot		compatible = "regulator-fixed";
1738bab661aSEmmanuel Vadot		regulator-name = "vdda_0v9";
1748bab661aSEmmanuel Vadot		regulator-always-on;
1758bab661aSEmmanuel Vadot		regulator-boot-on;
1768bab661aSEmmanuel Vadot		regulator-min-microvolt = <900000>;
1778bab661aSEmmanuel Vadot		regulator-max-microvolt = <900000>;
1788bab661aSEmmanuel Vadot		vin-supply = <&vcc3v3_sys>;
1798bab661aSEmmanuel Vadot	};
1808bab661aSEmmanuel Vadot
1818bab661aSEmmanuel Vadot	vdd_fixed: regulator-vdd-fixed {
1828bab661aSEmmanuel Vadot		compatible = "regulator-fixed";
1838bab661aSEmmanuel Vadot		regulator-name = "vdd_fixed";
1848bab661aSEmmanuel Vadot		regulator-min-microvolt = <950000>;
1858bab661aSEmmanuel Vadot		regulator-max-microvolt = <950000>;
1868bab661aSEmmanuel Vadot		regulator-always-on;
1878bab661aSEmmanuel Vadot		regulator-boot-on;
1888bab661aSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
1898bab661aSEmmanuel Vadot	};
1908bab661aSEmmanuel Vadot
1918bab661aSEmmanuel Vadot	vdd_cpu: regulator-vdd-cpu {
1928bab661aSEmmanuel Vadot		compatible = "pwm-regulator";
1938bab661aSEmmanuel Vadot		pwms = <&pwm0 0 5000 1>;
1948bab661aSEmmanuel Vadot		regulator-name = "vdd_cpu";
1958bab661aSEmmanuel Vadot		regulator-min-microvolt = <800000>;
1968bab661aSEmmanuel Vadot		regulator-max-microvolt = <1200000>;
1978bab661aSEmmanuel Vadot		regulator-always-on;
1988bab661aSEmmanuel Vadot		regulator-boot-on;
1998bab661aSEmmanuel Vadot		regulator-settling-time-up-us = <250>;
2008bab661aSEmmanuel Vadot		pwm-supply = <&vcc5v0_sys>;
2018bab661aSEmmanuel Vadot	};
2028bab661aSEmmanuel Vadot
2038bab661aSEmmanuel Vadot	vdd_logic: regulator-vdd-logic {
2048bab661aSEmmanuel Vadot		compatible = "pwm-regulator";
2058bab661aSEmmanuel Vadot		pwms = <&pwm1 0 5000 1>;
2068bab661aSEmmanuel Vadot		regulator-name = "vdd_logic";
2078bab661aSEmmanuel Vadot		regulator-min-microvolt = <800000>;
2088bab661aSEmmanuel Vadot		regulator-max-microvolt = <1100000>;
2098bab661aSEmmanuel Vadot		regulator-always-on;
2108bab661aSEmmanuel Vadot		regulator-boot-on;
2118bab661aSEmmanuel Vadot		regulator-settling-time-up-us = <250>;
2128bab661aSEmmanuel Vadot		pwm-supply = <&vcc5v0_sys>;
2138bab661aSEmmanuel Vadot	};
2148bab661aSEmmanuel Vadot};
2158bab661aSEmmanuel Vadot
2168bab661aSEmmanuel Vadot&combphy1 {
2178bab661aSEmmanuel Vadot	status = "okay";
2188bab661aSEmmanuel Vadot};
2198bab661aSEmmanuel Vadot
2208bab661aSEmmanuel Vadot&combphy2 {
2218bab661aSEmmanuel Vadot	status = "okay";
2228bab661aSEmmanuel Vadot};
2238bab661aSEmmanuel Vadot
2248bab661aSEmmanuel Vadot&cpu0 {
2258bab661aSEmmanuel Vadot	cpu-supply = <&vdd_cpu>;
2268bab661aSEmmanuel Vadot};
2278bab661aSEmmanuel Vadot
2288bab661aSEmmanuel Vadot&cpu1 {
2298bab661aSEmmanuel Vadot	cpu-supply = <&vdd_cpu>;
2308bab661aSEmmanuel Vadot};
2318bab661aSEmmanuel Vadot
2328bab661aSEmmanuel Vadot&cpu2 {
2338bab661aSEmmanuel Vadot	cpu-supply = <&vdd_cpu>;
2348bab661aSEmmanuel Vadot};
2358bab661aSEmmanuel Vadot
2368bab661aSEmmanuel Vadot&cpu3 {
2378bab661aSEmmanuel Vadot	cpu-supply = <&vdd_cpu>;
2388bab661aSEmmanuel Vadot};
2398bab661aSEmmanuel Vadot
2408bab661aSEmmanuel Vadot&gmac1 {
2418bab661aSEmmanuel Vadot	assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>;
2428bab661aSEmmanuel Vadot	assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&gmac1_clkin>;
2438bab661aSEmmanuel Vadot	phy-mode = "rgmii";
2448bab661aSEmmanuel Vadot	clock_in_out = "input";
2458bab661aSEmmanuel Vadot	pinctrl-names = "default";
2468bab661aSEmmanuel Vadot	pinctrl-0 = <&gmac1m1_miim
2478bab661aSEmmanuel Vadot		    &gmac1m1_tx_bus2
2488bab661aSEmmanuel Vadot		    &gmac1m1_rx_bus2
2498bab661aSEmmanuel Vadot		    &gmac1m1_rgmii_clk
2508bab661aSEmmanuel Vadot		    &gmac1m1_rgmii_bus
2518bab661aSEmmanuel Vadot		    &gmac1m1_clkinout>;
2528bab661aSEmmanuel Vadot	snps,reset-gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_LOW>;
2538bab661aSEmmanuel Vadot	snps,reset-active-low;
2548bab661aSEmmanuel Vadot	/* Reset time is 20ms, 100ms for rtl8211f */
2558bab661aSEmmanuel Vadot	snps,reset-delays-us = <0 20000 100000>;
2568bab661aSEmmanuel Vadot
2578bab661aSEmmanuel Vadot	tx_delay = <0x4f>;
2588bab661aSEmmanuel Vadot	rx_delay = <0x2d>;
2598bab661aSEmmanuel Vadot	phy-handle = <&rgmii_phy1>;
2608bab661aSEmmanuel Vadot	status = "okay";
2618bab661aSEmmanuel Vadot};
2628bab661aSEmmanuel Vadot
2638bab661aSEmmanuel Vadot&mdio1 {
2648bab661aSEmmanuel Vadot	rgmii_phy1: ethernet-phy@1 {
2658bab661aSEmmanuel Vadot		compatible = "ethernet-phy-ieee802.3-c22";
2668bab661aSEmmanuel Vadot		reg = <0x1>;
2678bab661aSEmmanuel Vadot	};
2688bab661aSEmmanuel Vadot};
2698bab661aSEmmanuel Vadot
2708bab661aSEmmanuel Vadot&hdmi {
2718bab661aSEmmanuel Vadot	assigned-clocks = <&cru CLK_HDMI_CEC>;
2728bab661aSEmmanuel Vadot	assigned-clock-rates = <32768>;
2738bab661aSEmmanuel Vadot	avdd-0v9-supply = <&vdda_0v9>;
2748bab661aSEmmanuel Vadot	avdd-1v8-supply = <&vcca_1v8>;
2758bab661aSEmmanuel Vadot	status = "okay";
2768bab661aSEmmanuel Vadot};
2778bab661aSEmmanuel Vadot
2788bab661aSEmmanuel Vadot&hdmi_in {
2798bab661aSEmmanuel Vadot	hdmi_in_vp0: endpoint {
2808bab661aSEmmanuel Vadot		remote-endpoint = <&vp0_out_hdmi>;
2818bab661aSEmmanuel Vadot	};
2828bab661aSEmmanuel Vadot};
2838bab661aSEmmanuel Vadot
2848bab661aSEmmanuel Vadot&hdmi_out {
2858bab661aSEmmanuel Vadot	hdmi_out_con: endpoint {
2868bab661aSEmmanuel Vadot		remote-endpoint = <&hdmi_con_in>;
2878bab661aSEmmanuel Vadot	};
2888bab661aSEmmanuel Vadot};
2898bab661aSEmmanuel Vadot
2908bab661aSEmmanuel Vadot&hdmi_sound {
2918bab661aSEmmanuel Vadot	status = "okay";
2928bab661aSEmmanuel Vadot};
2938bab661aSEmmanuel Vadot
2948bab661aSEmmanuel Vadot&gpu {
2958bab661aSEmmanuel Vadot	status = "okay";
2968bab661aSEmmanuel Vadot};
2978bab661aSEmmanuel Vadot
2988bab661aSEmmanuel Vadot&i2s0_8ch {
2998bab661aSEmmanuel Vadot	status = "okay";
3008bab661aSEmmanuel Vadot};
3018bab661aSEmmanuel Vadot
3028bab661aSEmmanuel Vadot&i2s1_8ch {
3038bab661aSEmmanuel Vadot	rockchip,trcm-sync-tx-only;
3048bab661aSEmmanuel Vadot	status = "okay";
3058bab661aSEmmanuel Vadot};
3068bab661aSEmmanuel Vadot
3078bab661aSEmmanuel Vadot&pinctrl {
3088bab661aSEmmanuel Vadot	bt {
3098bab661aSEmmanuel Vadot		bt_enable_h: bt-enable-h {
3108bab661aSEmmanuel Vadot			rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
3118bab661aSEmmanuel Vadot		};
3128bab661aSEmmanuel Vadot
3138bab661aSEmmanuel Vadot		bt_host_wake_l: bt-host-wake-l {
3148bab661aSEmmanuel Vadot			rockchip,pins = <2 RK_PC0 RK_FUNC_GPIO &pcfg_pull_down>;
3158bab661aSEmmanuel Vadot		};
3168bab661aSEmmanuel Vadot
3178bab661aSEmmanuel Vadot		bt_wake_l: bt-wake-l {
3188bab661aSEmmanuel Vadot			rockchip,pins = <2 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
3198bab661aSEmmanuel Vadot		};
3208bab661aSEmmanuel Vadot	};
3218bab661aSEmmanuel Vadot
3228bab661aSEmmanuel Vadot	sdio-pwrseq {
3238bab661aSEmmanuel Vadot		wifi_enable_h: wifi-enable-h {
3248bab661aSEmmanuel Vadot			rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
3258bab661aSEmmanuel Vadot		};
3268bab661aSEmmanuel Vadot
327cb7aa33aSEmmanuel Vadot		wifi_host_wake_h: wifi-host-wake-l {
328cb7aa33aSEmmanuel Vadot			rockchip,pins = <2 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
329cb7aa33aSEmmanuel Vadot		};
330cb7aa33aSEmmanuel Vadot
3318bab661aSEmmanuel Vadot		wifi_32k: wifi-32k {
332cb7aa33aSEmmanuel Vadot			rockchip,pins = <2 RK_PC6 1 &pcfg_pull_none>;
3338bab661aSEmmanuel Vadot		};
3348bab661aSEmmanuel Vadot	};
3358bab661aSEmmanuel Vadot
3368bab661aSEmmanuel Vadot	usb {
3378bab661aSEmmanuel Vadot		vcc5v0_usb_host_en: vcc5v0_usb_host_en {
3388bab661aSEmmanuel Vadot			rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
3398bab661aSEmmanuel Vadot		};
3408bab661aSEmmanuel Vadot
3418bab661aSEmmanuel Vadot		vcc5v0_usb2_otg_en: vcc5v0_usb2_otg_en {
3428bab661aSEmmanuel Vadot			rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
3438bab661aSEmmanuel Vadot		};
3448bab661aSEmmanuel Vadot
3458bab661aSEmmanuel Vadot	};
3468bab661aSEmmanuel Vadot
3478bab661aSEmmanuel Vadot	ir {
3488bab661aSEmmanuel Vadot		ir_int: ir-int {
3498bab661aSEmmanuel Vadot			rockchip,pins = <4 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>;
3508bab661aSEmmanuel Vadot		};
3518bab661aSEmmanuel Vadot	};
3528bab661aSEmmanuel Vadot
3538bab661aSEmmanuel Vadot	led {
3548bab661aSEmmanuel Vadot		led_work_en: led_work_en {
3558bab661aSEmmanuel Vadot			rockchip,pins = <0 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>;
3568bab661aSEmmanuel Vadot		};
3578bab661aSEmmanuel Vadot	};
3588bab661aSEmmanuel Vadot};
3598bab661aSEmmanuel Vadot
3608bab661aSEmmanuel Vadot&pmu_io_domains {
3618bab661aSEmmanuel Vadot	pmuio2-supply = <&vcc_3v3>;
3628bab661aSEmmanuel Vadot	vccio1-supply = <&vcc_3v3>;
3638bab661aSEmmanuel Vadot	vccio3-supply = <&vcc_3v3>;
3648bab661aSEmmanuel Vadot	vccio4-supply = <&vcca_1v8>;
3658bab661aSEmmanuel Vadot	vccio5-supply = <&vcc_3v3>;
3668bab661aSEmmanuel Vadot	vccio6-supply = <&vcca_1v8>;
3678bab661aSEmmanuel Vadot	vccio7-supply = <&vcc_3v3>;
3688bab661aSEmmanuel Vadot	status = "okay";
3698bab661aSEmmanuel Vadot};
3708bab661aSEmmanuel Vadot
3718bab661aSEmmanuel Vadot&pwm0 {
3728bab661aSEmmanuel Vadot	status = "okay";
3738bab661aSEmmanuel Vadot};
3748bab661aSEmmanuel Vadot
3758bab661aSEmmanuel Vadot&pwm1 {
3768bab661aSEmmanuel Vadot	status = "okay";
3778bab661aSEmmanuel Vadot};
3788bab661aSEmmanuel Vadot
3798bab661aSEmmanuel Vadot&sdhci {
3808bab661aSEmmanuel Vadot	bus-width = <8>;
3818bab661aSEmmanuel Vadot	mmc-hs200-1_8v;
3828bab661aSEmmanuel Vadot	non-removable;
3838bab661aSEmmanuel Vadot	status = "okay";
3848bab661aSEmmanuel Vadot};
3858bab661aSEmmanuel Vadot
3868bab661aSEmmanuel Vadot&sdmmc0 {
3878bab661aSEmmanuel Vadot	bus-width = <4>;
3888bab661aSEmmanuel Vadot	cap-sd-highspeed;
3898bab661aSEmmanuel Vadot	cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
3908bab661aSEmmanuel Vadot	disable-wp;
3918bab661aSEmmanuel Vadot	pinctrl-names = "default";
3928bab661aSEmmanuel Vadot	pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
3938bab661aSEmmanuel Vadot	vmmc-supply = <&vcc_3v3>;
3948bab661aSEmmanuel Vadot	status = "okay";
3958bab661aSEmmanuel Vadot};
3968bab661aSEmmanuel Vadot
3978bab661aSEmmanuel Vadot&sdmmc1 {
398cb7aa33aSEmmanuel Vadot	/* WiFi & BT combo module AMPAK AP6398S */
399cb7aa33aSEmmanuel Vadot	#address-cells = <1>;
400cb7aa33aSEmmanuel Vadot	#size-cells = <0>;
4018bab661aSEmmanuel Vadot	bus-width = <4>;
402cb7aa33aSEmmanuel Vadot	clock-frequency = <150000000>;
403cb7aa33aSEmmanuel Vadot	cap-sdio-irq;
4048bab661aSEmmanuel Vadot	cap-sd-highspeed;
405cb7aa33aSEmmanuel Vadot	sd-uhs-sdr104;
406cb7aa33aSEmmanuel Vadot	keep-power-in-suspend;
4078bab661aSEmmanuel Vadot	mmc-pwrseq = <&sdio_pwrseq>;
4088bab661aSEmmanuel Vadot	non-removable;
4098bab661aSEmmanuel Vadot	pinctrl-names = "default";
4108bab661aSEmmanuel Vadot	pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>;
4118bab661aSEmmanuel Vadot	vmmc-supply = <&vcc_3v3>;
4128bab661aSEmmanuel Vadot	vqmmc-supply = <&vcca_1v8>;
4138bab661aSEmmanuel Vadot	status = "okay";
414cb7aa33aSEmmanuel Vadot
415cb7aa33aSEmmanuel Vadot	brcmf: wifi@1 {
416cb7aa33aSEmmanuel Vadot		compatible = "brcm,bcm4329-fmac";
417cb7aa33aSEmmanuel Vadot		reg = <1>;
418cb7aa33aSEmmanuel Vadot		interrupt-parent = <&gpio2>;
419f126890aSEmmanuel Vadot		interrupts = <RK_PB2 IRQ_TYPE_LEVEL_HIGH>;
420cb7aa33aSEmmanuel Vadot		interrupt-names = "host-wake";
421cb7aa33aSEmmanuel Vadot		pinctrl-names = "default";
422cb7aa33aSEmmanuel Vadot		pinctrl-0 = <&wifi_host_wake_h>;
423cb7aa33aSEmmanuel Vadot	};
4248bab661aSEmmanuel Vadot};
4258bab661aSEmmanuel Vadot
4268bab661aSEmmanuel Vadot&spdif {
4278bab661aSEmmanuel Vadot	status = "okay";
4288bab661aSEmmanuel Vadot};
4298bab661aSEmmanuel Vadot
4308bab661aSEmmanuel Vadot&spi1 {
4318bab661aSEmmanuel Vadot	pinctrl-names = "default";
4328bab661aSEmmanuel Vadot	pinctrl-0 = <&spi1m1_cs0 &spi1m1_pins>;
4338bab661aSEmmanuel Vadot};
4348bab661aSEmmanuel Vadot
4358bab661aSEmmanuel Vadot&tsadc {
4368bab661aSEmmanuel Vadot	/* tshut mode 0:CRU 1:GPIO */
4378bab661aSEmmanuel Vadot	rockchip,hw-tshut-mode = <1>;
4388bab661aSEmmanuel Vadot	/* tshut polarity 0:LOW 1:HIGH */
4398bab661aSEmmanuel Vadot	rockchip,hw-tshut-polarity = <0>;
4408bab661aSEmmanuel Vadot	status = "okay";
4418bab661aSEmmanuel Vadot};
4428bab661aSEmmanuel Vadot
4438bab661aSEmmanuel Vadot&uart1 {
4448bab661aSEmmanuel Vadot	pinctrl-names = "default";
4458bab661aSEmmanuel Vadot	pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn>;
4468bab661aSEmmanuel Vadot	status = "okay";
4478bab661aSEmmanuel Vadot	uart-has-rtscts;
4488bab661aSEmmanuel Vadot
4498bab661aSEmmanuel Vadot	bluetooth {
4508bab661aSEmmanuel Vadot		compatible = "brcm,bcm43438-bt";
4518bab661aSEmmanuel Vadot		clocks = <&pmucru CLK_RTC_32K>;
452*b2d2a78aSEmmanuel Vadot		clock-names = "txco";
453*b2d2a78aSEmmanuel Vadot		device-wakeup-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>;
454*b2d2a78aSEmmanuel Vadot		host-wakeup-gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>;
4558bab661aSEmmanuel Vadot		shutdown-gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
4568bab661aSEmmanuel Vadot		pinctrl-names = "default";
4578bab661aSEmmanuel Vadot		pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
4588bab661aSEmmanuel Vadot		vbat-supply = <&vcc3v3_sys>;
4598bab661aSEmmanuel Vadot		vddio-supply = <&vcca_1v8>;
4608bab661aSEmmanuel Vadot	};
4618bab661aSEmmanuel Vadot};
4628bab661aSEmmanuel Vadot
4638bab661aSEmmanuel Vadot&uart2 {
4648bab661aSEmmanuel Vadot	status = "okay";
4658bab661aSEmmanuel Vadot};
4668bab661aSEmmanuel Vadot
4678bab661aSEmmanuel Vadot&vop {
4688bab661aSEmmanuel Vadot	assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
4698bab661aSEmmanuel Vadot	assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
4708bab661aSEmmanuel Vadot	status = "okay";
4718bab661aSEmmanuel Vadot};
4728bab661aSEmmanuel Vadot
4738bab661aSEmmanuel Vadot&vop_mmu {
4748bab661aSEmmanuel Vadot	status = "okay";
4758bab661aSEmmanuel Vadot};
4768bab661aSEmmanuel Vadot
4778bab661aSEmmanuel Vadot&vp0 {
4788bab661aSEmmanuel Vadot	vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
4798bab661aSEmmanuel Vadot		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
4808bab661aSEmmanuel Vadot		remote-endpoint = <&hdmi_in_vp0>;
4818bab661aSEmmanuel Vadot	};
4828bab661aSEmmanuel Vadot};
4838bab661aSEmmanuel Vadot
4848bab661aSEmmanuel Vadot&vpu {
4858bab661aSEmmanuel Vadot	status = "okay";
4868bab661aSEmmanuel Vadot};
4878bab661aSEmmanuel Vadot
4888bab661aSEmmanuel Vadot&vdpu_mmu {
4898bab661aSEmmanuel Vadot	status = "okay";
4908bab661aSEmmanuel Vadot};
4918bab661aSEmmanuel Vadot
4928bab661aSEmmanuel Vadot&usb2phy0_host {
4938bab661aSEmmanuel Vadot	phy-supply = <&vcc5v0_usb_host>;
4948bab661aSEmmanuel Vadot	status = "okay";
4958bab661aSEmmanuel Vadot};
4968bab661aSEmmanuel Vadot
4978bab661aSEmmanuel Vadot&usb2phy0_otg {
498fac71e4eSEmmanuel Vadot	phy-supply = <&vcc5v0_usb2_otg>;
4998bab661aSEmmanuel Vadot	status = "okay";
5008bab661aSEmmanuel Vadot};
5018bab661aSEmmanuel Vadot
5028bab661aSEmmanuel Vadot&usb2phy1_host {
5038bab661aSEmmanuel Vadot	phy-supply = <&vcc5v0_usb_host>;
5048bab661aSEmmanuel Vadot	status = "okay";
5058bab661aSEmmanuel Vadot};
5068bab661aSEmmanuel Vadot
5078bab661aSEmmanuel Vadot&usb2phy1_otg {
5088bab661aSEmmanuel Vadot	phy-supply = <&vcc5v0_usb_host>;
5098bab661aSEmmanuel Vadot	status = "okay";
5108bab661aSEmmanuel Vadot};
5118bab661aSEmmanuel Vadot
5128bab661aSEmmanuel Vadot&usb2phy1 {
5138bab661aSEmmanuel Vadot	status = "okay";
5148bab661aSEmmanuel Vadot};
5158bab661aSEmmanuel Vadot
5168bab661aSEmmanuel Vadot&usb_host0_ehci {
5178bab661aSEmmanuel Vadot	status = "okay";
5188bab661aSEmmanuel Vadot};
5198bab661aSEmmanuel Vadot
5208bab661aSEmmanuel Vadot&usb_host0_ohci {
5218bab661aSEmmanuel Vadot	status = "okay";
5228bab661aSEmmanuel Vadot};
5238bab661aSEmmanuel Vadot
5248bab661aSEmmanuel Vadot&usb_host1_ehci {
5258bab661aSEmmanuel Vadot	status = "okay";
5268bab661aSEmmanuel Vadot};
5278bab661aSEmmanuel Vadot
5288bab661aSEmmanuel Vadot&usb_host1_ohci {
5298bab661aSEmmanuel Vadot	status = "okay";
5308bab661aSEmmanuel Vadot};
5318bab661aSEmmanuel Vadot
5328bab661aSEmmanuel Vadot&usb_host1_xhci {
5338bab661aSEmmanuel Vadot	status = "okay";
5348bab661aSEmmanuel Vadot};
535