xref: /linux/scripts/dtc/include-prefixes/arm64/rockchip/rk3566-box-demo.dts (revision ec71f661a572a770d7c861cd52a50cbbb0e1a8d1)
12e0537b1SAndy Yan// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
22e0537b1SAndy Yan
32e0537b1SAndy Yan/*
42e0537b1SAndy Yan * Author: Piotr Oniszczuk piotr.oniszczuk@gmail.com
52e0537b1SAndy Yan * Based on Quartz64 DT by: Peter Geis pgwipeout@gmail.com
62e0537b1SAndy Yan */
72e0537b1SAndy Yan
82e0537b1SAndy Yan/dts-v1/;
92e0537b1SAndy Yan
102e0537b1SAndy Yan#include <dt-bindings/gpio/gpio.h>
112e0537b1SAndy Yan#include <dt-bindings/leds/common.h>
122e0537b1SAndy Yan#include <dt-bindings/pinctrl/rockchip.h>
132e0537b1SAndy Yan#include <dt-bindings/soc/rockchip,vop2.h>
142e0537b1SAndy Yan#include "rk3566.dtsi"
152e0537b1SAndy Yan
162e0537b1SAndy Yan/ {
172e0537b1SAndy Yan	model = "Rockchip RK3566 BOX DEMO Board";
182e0537b1SAndy Yan	compatible = "rockchip,rk3566-box-demo", "rockchip,rk3566";
192e0537b1SAndy Yan
202e0537b1SAndy Yan	aliases {
212e0537b1SAndy Yan		ethernet0 = &gmac1;
22*b6490faaSAndy Yan		mmc0 = &sdhci;
23*b6490faaSAndy Yan		mmc1 = &sdmmc0;
24*b6490faaSAndy Yan		mmc2 = &sdmmc1;
252e0537b1SAndy Yan	};
262e0537b1SAndy Yan
272e0537b1SAndy Yan	chosen: chosen {
282e0537b1SAndy Yan		stdout-path = "serial2:1500000n8";
292e0537b1SAndy Yan	};
302e0537b1SAndy Yan
312e0537b1SAndy Yan	gmac1_clkin: external-gmac1-clock {
322e0537b1SAndy Yan		compatible = "fixed-clock";
332e0537b1SAndy Yan		clock-frequency = <125000000>;
342e0537b1SAndy Yan		clock-output-names = "gmac1_clkin";
352e0537b1SAndy Yan		#clock-cells = <0>;
362e0537b1SAndy Yan	};
372e0537b1SAndy Yan
382e0537b1SAndy Yan	hdmi-con {
392e0537b1SAndy Yan		compatible = "hdmi-connector";
402e0537b1SAndy Yan		type = "a";
412e0537b1SAndy Yan
422e0537b1SAndy Yan		port {
432e0537b1SAndy Yan			hdmi_con_in: endpoint {
442e0537b1SAndy Yan				remote-endpoint = <&hdmi_out_con>;
452e0537b1SAndy Yan			};
462e0537b1SAndy Yan		};
472e0537b1SAndy Yan	};
482e0537b1SAndy Yan
492e0537b1SAndy Yan	ir-receiver {
502e0537b1SAndy Yan		compatible = "gpio-ir-receiver";
512e0537b1SAndy Yan		gpios = <&gpio4 RK_PC3 GPIO_ACTIVE_LOW>;
522e0537b1SAndy Yan		pinctrl-0 = <&ir_int>;
532e0537b1SAndy Yan		linux,rc-map-name = "rc-beelink-gs1";
542e0537b1SAndy Yan		status = "okay";
552e0537b1SAndy Yan	};
562e0537b1SAndy Yan
572e0537b1SAndy Yan	leds {
582e0537b1SAndy Yan		compatible = "gpio-leds";
592e0537b1SAndy Yan
602e0537b1SAndy Yan		led_work: led-0 {
612e0537b1SAndy Yan			gpios = <&gpio0 RK_PC3 GPIO_ACTIVE_HIGH>;
622e0537b1SAndy Yan			function = LED_FUNCTION_HEARTBEAT;
632e0537b1SAndy Yan			color = <LED_COLOR_ID_BLUE>;
642e0537b1SAndy Yan			linux,default-trigger = "heartbeat";
652e0537b1SAndy Yan			pinctrl-names = "default";
662e0537b1SAndy Yan			pinctrl-0 = <&led_work_en>;
672e0537b1SAndy Yan		};
682e0537b1SAndy Yan	};
692e0537b1SAndy Yan
702e0537b1SAndy Yan	sdio_pwrseq: sdio-pwrseq {
712e0537b1SAndy Yan		status = "okay";
722e0537b1SAndy Yan		compatible = "mmc-pwrseq-simple";
732e0537b1SAndy Yan		clocks = <&pmucru CLK_RTC_32K>;
742e0537b1SAndy Yan		clock-names = "ext_clock";
752e0537b1SAndy Yan		pinctrl-names = "default";
762e0537b1SAndy Yan		pinctrl-0 = <&wifi_enable_h &wifi_32k>;
772e0537b1SAndy Yan		reset-gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_LOW>;
782e0537b1SAndy Yan	};
792e0537b1SAndy Yan
802e0537b1SAndy Yan	spdif_dit: spdif-dit {
812e0537b1SAndy Yan		compatible = "linux,spdif-dit";
822e0537b1SAndy Yan		#sound-dai-cells = <0>;
832e0537b1SAndy Yan	};
842e0537b1SAndy Yan
852e0537b1SAndy Yan	spdif_sound: spdif-sound {
862e0537b1SAndy Yan		compatible = "simple-audio-card";
872e0537b1SAndy Yan		simple-audio-card,name = "SPDIF";
882e0537b1SAndy Yan
892e0537b1SAndy Yan		simple-audio-card,cpu {
902e0537b1SAndy Yan			sound-dai = <&spdif>;
912e0537b1SAndy Yan		};
922e0537b1SAndy Yan
932e0537b1SAndy Yan		simple-audio-card,codec {
942e0537b1SAndy Yan			sound-dai = <&spdif_dit>;
952e0537b1SAndy Yan		};
962e0537b1SAndy Yan	};
972e0537b1SAndy Yan
982e0537b1SAndy Yan	vcc12v0_dcin: regulator-vcc12v0-dcin {
992e0537b1SAndy Yan		compatible = "regulator-fixed";
1002e0537b1SAndy Yan		regulator-name = "vcc12v0_dcin";
1012e0537b1SAndy Yan		regulator-always-on;
1022e0537b1SAndy Yan		regulator-boot-on;
1032e0537b1SAndy Yan		regulator-min-microvolt = <12000000>;
1042e0537b1SAndy Yan		regulator-max-microvolt = <12000000>;
1052e0537b1SAndy Yan	};
1062e0537b1SAndy Yan
1072e0537b1SAndy Yan	vcc5v0_sys: regulator-vcc5v0-sys {
1082e0537b1SAndy Yan		compatible = "regulator-fixed";
1092e0537b1SAndy Yan		regulator-name = "vcc5v0_sys";
1102e0537b1SAndy Yan		regulator-always-on;
1112e0537b1SAndy Yan		regulator-boot-on;
1122e0537b1SAndy Yan		regulator-min-microvolt = <5000000>;
1132e0537b1SAndy Yan		regulator-max-microvolt = <5000000>;
1142e0537b1SAndy Yan		vin-supply = <&vcc12v0_dcin>;
1152e0537b1SAndy Yan	};
1162e0537b1SAndy Yan
1172e0537b1SAndy Yan	vcc3v3_sys: regulator-vcc3v3-sys {
1182e0537b1SAndy Yan		compatible = "regulator-fixed";
1192e0537b1SAndy Yan		regulator-name = "vcc3v3_sys";
1202e0537b1SAndy Yan		regulator-always-on;
1212e0537b1SAndy Yan		regulator-boot-on;
1222e0537b1SAndy Yan		regulator-min-microvolt = <3300000>;
1232e0537b1SAndy Yan		regulator-max-microvolt = <3300000>;
1242e0537b1SAndy Yan		vin-supply = <&vcc12v0_dcin>;
1252e0537b1SAndy Yan	};
1262e0537b1SAndy Yan
1272e0537b1SAndy Yan	vcc_3v3: regulator-vcc-3v3 {
1282e0537b1SAndy Yan		compatible = "regulator-fixed";
1292e0537b1SAndy Yan		regulator-name = "vcc_3v3";
1302e0537b1SAndy Yan		regulator-always-on;
1312e0537b1SAndy Yan		regulator-boot-on;
1322e0537b1SAndy Yan		regulator-min-microvolt = <3300000>;
1332e0537b1SAndy Yan		regulator-max-microvolt = <3300000>;
1342e0537b1SAndy Yan		vin-supply = <&vcc3v3_sys>;
1352e0537b1SAndy Yan	};
1362e0537b1SAndy Yan
1372e0537b1SAndy Yan	vcc5v0_usb_host: regulator-vcc5v0-usb-host {
1382e0537b1SAndy Yan		compatible = "regulator-fixed";
1392e0537b1SAndy Yan		enable-active-high;
1402e0537b1SAndy Yan		gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
1412e0537b1SAndy Yan		pinctrl-names = "default";
1422e0537b1SAndy Yan		pinctrl-0 = <&vcc5v0_usb_host_en>;
1432e0537b1SAndy Yan		regulator-name = "vcc5v0_usb_host";
1442e0537b1SAndy Yan		regulator-min-microvolt = <5000000>;
1452e0537b1SAndy Yan		regulator-max-microvolt = <5000000>;
1462e0537b1SAndy Yan		vin-supply = <&vcc5v0_sys>;
1472e0537b1SAndy Yan	};
1482e0537b1SAndy Yan
1492e0537b1SAndy Yan	vcc5v0_usb2_otg: regulator-vcc5v0-usb2-otg {
1502e0537b1SAndy Yan		compatible = "regulator-fixed";
1512e0537b1SAndy Yan		enable-active-high;
1522e0537b1SAndy Yan		gpio = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
1532e0537b1SAndy Yan		pinctrl-names = "default";
1542e0537b1SAndy Yan		pinctrl-0 = <&vcc5v0_usb2_otg_en>;
1552e0537b1SAndy Yan		regulator-name = "vcc5v0_usb_otg";
1562e0537b1SAndy Yan		regulator-min-microvolt = <5000000>;
1572e0537b1SAndy Yan		regulator-max-microvolt = <5000000>;
1582e0537b1SAndy Yan		vin-supply = <&vcc5v0_sys>;
1592e0537b1SAndy Yan	};
1602e0537b1SAndy Yan
1612e0537b1SAndy Yan	vcca_1v8: regulator-vcca-1v8 {
1622e0537b1SAndy Yan		compatible = "regulator-fixed";
1632e0537b1SAndy Yan		regulator-name = "vcca_1v8";
1642e0537b1SAndy Yan		regulator-always-on;
1652e0537b1SAndy Yan		regulator-boot-on;
1662e0537b1SAndy Yan		regulator-min-microvolt = <1800000>;
1672e0537b1SAndy Yan		regulator-max-microvolt = <1800000>;
1682e0537b1SAndy Yan		vin-supply = <&vcc3v3_sys>;
1692e0537b1SAndy Yan	};
1702e0537b1SAndy Yan
1712e0537b1SAndy Yan	vdda_0v9: regulator-vdda-0v9 {
1722e0537b1SAndy Yan		compatible = "regulator-fixed";
1732e0537b1SAndy Yan		regulator-name = "vdda_0v9";
1742e0537b1SAndy Yan		regulator-always-on;
1752e0537b1SAndy Yan		regulator-boot-on;
1762e0537b1SAndy Yan		regulator-min-microvolt = <900000>;
1772e0537b1SAndy Yan		regulator-max-microvolt = <900000>;
1782e0537b1SAndy Yan		vin-supply = <&vcc3v3_sys>;
1792e0537b1SAndy Yan	};
1802e0537b1SAndy Yan
1812e0537b1SAndy Yan	vdd_fixed: regulator-vdd-fixed {
1822e0537b1SAndy Yan		compatible = "regulator-fixed";
1832e0537b1SAndy Yan		regulator-name = "vdd_fixed";
1842e0537b1SAndy Yan		regulator-min-microvolt = <950000>;
1852e0537b1SAndy Yan		regulator-max-microvolt = <950000>;
1862e0537b1SAndy Yan		regulator-always-on;
1872e0537b1SAndy Yan		regulator-boot-on;
1882e0537b1SAndy Yan		vin-supply = <&vcc5v0_sys>;
1892e0537b1SAndy Yan	};
1902e0537b1SAndy Yan
1912e0537b1SAndy Yan	vdd_cpu: regulator-vdd-cpu {
1922e0537b1SAndy Yan		compatible = "pwm-regulator";
1932e0537b1SAndy Yan		pwms = <&pwm0 0 5000 1>;
1942e0537b1SAndy Yan		regulator-name = "vdd_cpu";
1952e0537b1SAndy Yan		regulator-min-microvolt = <800000>;
1962e0537b1SAndy Yan		regulator-max-microvolt = <1200000>;
1972e0537b1SAndy Yan		regulator-always-on;
1982e0537b1SAndy Yan		regulator-boot-on;
1992e0537b1SAndy Yan		regulator-settling-time-up-us = <250>;
2002e0537b1SAndy Yan		pwm-supply = <&vcc5v0_sys>;
2012e0537b1SAndy Yan	};
2022e0537b1SAndy Yan
2032e0537b1SAndy Yan	vdd_logic: regulator-vdd-logic {
2042e0537b1SAndy Yan		compatible = "pwm-regulator";
2052e0537b1SAndy Yan		pwms = <&pwm1 0 5000 1>;
2062e0537b1SAndy Yan		regulator-name = "vdd_logic";
2072e0537b1SAndy Yan		regulator-min-microvolt = <800000>;
2082e0537b1SAndy Yan		regulator-max-microvolt = <1100000>;
2092e0537b1SAndy Yan		regulator-always-on;
2102e0537b1SAndy Yan		regulator-boot-on;
2112e0537b1SAndy Yan		regulator-settling-time-up-us = <250>;
2122e0537b1SAndy Yan		pwm-supply = <&vcc5v0_sys>;
2132e0537b1SAndy Yan	};
2142e0537b1SAndy Yan};
2152e0537b1SAndy Yan
2162e0537b1SAndy Yan&combphy1 {
2172e0537b1SAndy Yan	status = "okay";
2182e0537b1SAndy Yan};
2192e0537b1SAndy Yan
2202e0537b1SAndy Yan&combphy2 {
2212e0537b1SAndy Yan	status = "okay";
2222e0537b1SAndy Yan};
2232e0537b1SAndy Yan
2242e0537b1SAndy Yan&cpu0 {
2252e0537b1SAndy Yan	cpu-supply = <&vdd_cpu>;
2262e0537b1SAndy Yan};
2272e0537b1SAndy Yan
2282e0537b1SAndy Yan&cpu1 {
2292e0537b1SAndy Yan	cpu-supply = <&vdd_cpu>;
2302e0537b1SAndy Yan};
2312e0537b1SAndy Yan
2322e0537b1SAndy Yan&cpu2 {
2332e0537b1SAndy Yan	cpu-supply = <&vdd_cpu>;
2342e0537b1SAndy Yan};
2352e0537b1SAndy Yan
2362e0537b1SAndy Yan&cpu3 {
2372e0537b1SAndy Yan	cpu-supply = <&vdd_cpu>;
2382e0537b1SAndy Yan};
2392e0537b1SAndy Yan
2402e0537b1SAndy Yan&gmac1 {
2412e0537b1SAndy Yan	assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>;
2422e0537b1SAndy Yan	assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&gmac1_clkin>;
2432e0537b1SAndy Yan	phy-mode = "rgmii";
2442e0537b1SAndy Yan	clock_in_out = "input";
2452e0537b1SAndy Yan	pinctrl-names = "default";
2462e0537b1SAndy Yan	pinctrl-0 = <&gmac1m1_miim
2472e0537b1SAndy Yan		    &gmac1m1_tx_bus2
2482e0537b1SAndy Yan		    &gmac1m1_rx_bus2
2492e0537b1SAndy Yan		    &gmac1m1_rgmii_clk
2502e0537b1SAndy Yan		    &gmac1m1_rgmii_bus
2512e0537b1SAndy Yan		    &gmac1m1_clkinout>;
2522e0537b1SAndy Yan	snps,reset-gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_LOW>;
2532e0537b1SAndy Yan	snps,reset-active-low;
2542e0537b1SAndy Yan	/* Reset time is 20ms, 100ms for rtl8211f */
2552e0537b1SAndy Yan	snps,reset-delays-us = <0 20000 100000>;
2562e0537b1SAndy Yan
2572e0537b1SAndy Yan	tx_delay = <0x4f>;
2582e0537b1SAndy Yan	rx_delay = <0x2d>;
2592e0537b1SAndy Yan	phy-handle = <&rgmii_phy1>;
2602e0537b1SAndy Yan	status = "okay";
2612e0537b1SAndy Yan};
2622e0537b1SAndy Yan
2632e0537b1SAndy Yan&mdio1 {
2642e0537b1SAndy Yan	rgmii_phy1: ethernet-phy@1 {
2652e0537b1SAndy Yan		compatible = "ethernet-phy-ieee802.3-c22";
2662e0537b1SAndy Yan		reg = <0x1>;
2672e0537b1SAndy Yan	};
2682e0537b1SAndy Yan};
2692e0537b1SAndy Yan
2702e0537b1SAndy Yan&hdmi {
2712e0537b1SAndy Yan	assigned-clocks = <&cru CLK_HDMI_CEC>;
2722e0537b1SAndy Yan	assigned-clock-rates = <32768>;
2732e0537b1SAndy Yan	avdd-0v9-supply = <&vdda_0v9>;
2742e0537b1SAndy Yan	avdd-1v8-supply = <&vcca_1v8>;
2752e0537b1SAndy Yan	status = "okay";
2762e0537b1SAndy Yan};
2772e0537b1SAndy Yan
2782e0537b1SAndy Yan&hdmi_in {
2792e0537b1SAndy Yan	hdmi_in_vp0: endpoint {
2802e0537b1SAndy Yan		remote-endpoint = <&vp0_out_hdmi>;
2812e0537b1SAndy Yan	};
2822e0537b1SAndy Yan};
2832e0537b1SAndy Yan
2842e0537b1SAndy Yan&hdmi_out {
2852e0537b1SAndy Yan	hdmi_out_con: endpoint {
2862e0537b1SAndy Yan		remote-endpoint = <&hdmi_con_in>;
2872e0537b1SAndy Yan	};
2882e0537b1SAndy Yan};
2892e0537b1SAndy Yan
2902e0537b1SAndy Yan&hdmi_sound {
2912e0537b1SAndy Yan	status = "okay";
2922e0537b1SAndy Yan};
2932e0537b1SAndy Yan
2942e0537b1SAndy Yan&gpu {
2952e0537b1SAndy Yan	status = "okay";
2962e0537b1SAndy Yan};
2972e0537b1SAndy Yan
2982e0537b1SAndy Yan&i2s0_8ch {
2992e0537b1SAndy Yan	status = "okay";
3002e0537b1SAndy Yan};
3012e0537b1SAndy Yan
3022e0537b1SAndy Yan&i2s1_8ch {
3032e0537b1SAndy Yan	rockchip,trcm-sync-tx-only;
3042e0537b1SAndy Yan	status = "okay";
3052e0537b1SAndy Yan};
3062e0537b1SAndy Yan
3072e0537b1SAndy Yan&pinctrl {
3082e0537b1SAndy Yan	bt {
3092e0537b1SAndy Yan		bt_enable_h: bt-enable-h {
3102e0537b1SAndy Yan			rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
3112e0537b1SAndy Yan		};
3122e0537b1SAndy Yan
3132e0537b1SAndy Yan		bt_host_wake_l: bt-host-wake-l {
3142e0537b1SAndy Yan			rockchip,pins = <2 RK_PC0 RK_FUNC_GPIO &pcfg_pull_down>;
3152e0537b1SAndy Yan		};
3162e0537b1SAndy Yan
3172e0537b1SAndy Yan		bt_wake_l: bt-wake-l {
3182e0537b1SAndy Yan			rockchip,pins = <2 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
3192e0537b1SAndy Yan		};
3202e0537b1SAndy Yan	};
3212e0537b1SAndy Yan
3222e0537b1SAndy Yan	sdio-pwrseq {
3232e0537b1SAndy Yan		wifi_enable_h: wifi-enable-h {
3242e0537b1SAndy Yan			rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
3252e0537b1SAndy Yan		};
3262e0537b1SAndy Yan
3273eb403e4SAndy Yan		wifi_host_wake_h: wifi-host-wake-l {
3283eb403e4SAndy Yan			rockchip,pins = <2 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
3293eb403e4SAndy Yan		};
3303eb403e4SAndy Yan
3312e0537b1SAndy Yan		wifi_32k: wifi-32k {
3323eb403e4SAndy Yan			rockchip,pins = <2 RK_PC6 1 &pcfg_pull_none>;
3332e0537b1SAndy Yan		};
3342e0537b1SAndy Yan	};
3352e0537b1SAndy Yan
3362e0537b1SAndy Yan	usb {
3372e0537b1SAndy Yan		vcc5v0_usb_host_en: vcc5v0_usb_host_en {
3382e0537b1SAndy Yan			rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
3392e0537b1SAndy Yan		};
3402e0537b1SAndy Yan
3412e0537b1SAndy Yan		vcc5v0_usb2_otg_en: vcc5v0_usb2_otg_en {
3422e0537b1SAndy Yan			rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
3432e0537b1SAndy Yan		};
3442e0537b1SAndy Yan
3452e0537b1SAndy Yan	};
3462e0537b1SAndy Yan
3472e0537b1SAndy Yan	ir {
3482e0537b1SAndy Yan		ir_int: ir-int {
3492e0537b1SAndy Yan			rockchip,pins = <4 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>;
3502e0537b1SAndy Yan		};
3512e0537b1SAndy Yan	};
3522e0537b1SAndy Yan
3532e0537b1SAndy Yan	led {
3542e0537b1SAndy Yan		led_work_en: led_work_en {
3552e0537b1SAndy Yan			rockchip,pins = <0 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>;
3562e0537b1SAndy Yan		};
3572e0537b1SAndy Yan	};
3582e0537b1SAndy Yan};
3592e0537b1SAndy Yan
3609554f023SAndy Yan&pmu_io_domains {
3619554f023SAndy Yan	pmuio2-supply = <&vcc_3v3>;
3629554f023SAndy Yan	vccio1-supply = <&vcc_3v3>;
3639554f023SAndy Yan	vccio3-supply = <&vcc_3v3>;
3649554f023SAndy Yan	vccio4-supply = <&vcca_1v8>;
3659554f023SAndy Yan	vccio5-supply = <&vcc_3v3>;
3669554f023SAndy Yan	vccio6-supply = <&vcca_1v8>;
3679554f023SAndy Yan	vccio7-supply = <&vcc_3v3>;
3689554f023SAndy Yan	status = "okay";
3699554f023SAndy Yan};
3709554f023SAndy Yan
3712e0537b1SAndy Yan&pwm0 {
3722e0537b1SAndy Yan	status = "okay";
3732e0537b1SAndy Yan};
3742e0537b1SAndy Yan
3752e0537b1SAndy Yan&pwm1 {
3762e0537b1SAndy Yan	status = "okay";
3772e0537b1SAndy Yan};
3782e0537b1SAndy Yan
3792e0537b1SAndy Yan&sdhci {
3802e0537b1SAndy Yan	bus-width = <8>;
3812e0537b1SAndy Yan	mmc-hs200-1_8v;
3822e0537b1SAndy Yan	non-removable;
3832e0537b1SAndy Yan	status = "okay";
3842e0537b1SAndy Yan};
3852e0537b1SAndy Yan
3862e0537b1SAndy Yan&sdmmc0 {
3872e0537b1SAndy Yan	bus-width = <4>;
3882e0537b1SAndy Yan	cap-sd-highspeed;
3892e0537b1SAndy Yan	cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
3902e0537b1SAndy Yan	disable-wp;
3912e0537b1SAndy Yan	pinctrl-names = "default";
3922e0537b1SAndy Yan	pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
3932e0537b1SAndy Yan	vmmc-supply = <&vcc_3v3>;
3942e0537b1SAndy Yan	status = "okay";
3952e0537b1SAndy Yan};
3962e0537b1SAndy Yan
3972e0537b1SAndy Yan&sdmmc1 {
3983eb403e4SAndy Yan	/* WiFi & BT combo module AMPAK AP6398S */
3993eb403e4SAndy Yan	#address-cells = <1>;
4003eb403e4SAndy Yan	#size-cells = <0>;
4012e0537b1SAndy Yan	bus-width = <4>;
4023eb403e4SAndy Yan	clock-frequency = <150000000>;
4033eb403e4SAndy Yan	cap-sdio-irq;
4042e0537b1SAndy Yan	cap-sd-highspeed;
4053eb403e4SAndy Yan	sd-uhs-sdr104;
4063eb403e4SAndy Yan	keep-power-in-suspend;
4072e0537b1SAndy Yan	mmc-pwrseq = <&sdio_pwrseq>;
4082e0537b1SAndy Yan	non-removable;
4092e0537b1SAndy Yan	pinctrl-names = "default";
4102e0537b1SAndy Yan	pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>;
4112e0537b1SAndy Yan	vmmc-supply = <&vcc_3v3>;
4122e0537b1SAndy Yan	vqmmc-supply = <&vcca_1v8>;
4132e0537b1SAndy Yan	status = "okay";
4143eb403e4SAndy Yan
4153eb403e4SAndy Yan	brcmf: wifi@1 {
4163eb403e4SAndy Yan		compatible = "brcm,bcm4329-fmac";
4173eb403e4SAndy Yan		reg = <1>;
4183eb403e4SAndy Yan		interrupt-parent = <&gpio2>;
4192d6f7e39SKrzysztof Kozlowski		interrupts = <RK_PB2 IRQ_TYPE_LEVEL_HIGH>;
4203eb403e4SAndy Yan		interrupt-names = "host-wake";
4213eb403e4SAndy Yan		pinctrl-names = "default";
4223eb403e4SAndy Yan		pinctrl-0 = <&wifi_host_wake_h>;
4233eb403e4SAndy Yan	};
4242e0537b1SAndy Yan};
4252e0537b1SAndy Yan
4262e0537b1SAndy Yan&spdif {
4272e0537b1SAndy Yan	status = "okay";
4282e0537b1SAndy Yan};
4292e0537b1SAndy Yan
4302e0537b1SAndy Yan&spi1 {
4312e0537b1SAndy Yan	pinctrl-names = "default";
4322e0537b1SAndy Yan	pinctrl-0 = <&spi1m1_cs0 &spi1m1_pins>;
4332e0537b1SAndy Yan};
4342e0537b1SAndy Yan
4352e0537b1SAndy Yan&tsadc {
4362e0537b1SAndy Yan	/* tshut mode 0:CRU 1:GPIO */
4372e0537b1SAndy Yan	rockchip,hw-tshut-mode = <1>;
4382e0537b1SAndy Yan	/* tshut polarity 0:LOW 1:HIGH */
4392e0537b1SAndy Yan	rockchip,hw-tshut-polarity = <0>;
4402e0537b1SAndy Yan	status = "okay";
4412e0537b1SAndy Yan};
4422e0537b1SAndy Yan
4432e0537b1SAndy Yan&uart1 {
4442e0537b1SAndy Yan	pinctrl-names = "default";
4452e0537b1SAndy Yan	pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn>;
4462e0537b1SAndy Yan	status = "okay";
4472e0537b1SAndy Yan	uart-has-rtscts;
4482e0537b1SAndy Yan
4492e0537b1SAndy Yan	bluetooth {
4502e0537b1SAndy Yan		compatible = "brcm,bcm43438-bt";
4512e0537b1SAndy Yan		clocks = <&pmucru CLK_RTC_32K>;
4522fa98dccSHeiko Stuebner		clock-names = "txco";
4532fa98dccSHeiko Stuebner		device-wakeup-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>;
4542fa98dccSHeiko Stuebner		host-wakeup-gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>;
4552e0537b1SAndy Yan		shutdown-gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
4562e0537b1SAndy Yan		pinctrl-names = "default";
4572e0537b1SAndy Yan		pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
4582e0537b1SAndy Yan		vbat-supply = <&vcc3v3_sys>;
4592e0537b1SAndy Yan		vddio-supply = <&vcca_1v8>;
4602e0537b1SAndy Yan	};
4612e0537b1SAndy Yan};
4622e0537b1SAndy Yan
4632e0537b1SAndy Yan&uart2 {
4642e0537b1SAndy Yan	status = "okay";
4652e0537b1SAndy Yan};
4662e0537b1SAndy Yan
4672e0537b1SAndy Yan&vop {
4682e0537b1SAndy Yan	assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
4692e0537b1SAndy Yan	assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
4702e0537b1SAndy Yan	status = "okay";
4712e0537b1SAndy Yan};
4722e0537b1SAndy Yan
4732e0537b1SAndy Yan&vop_mmu {
4742e0537b1SAndy Yan	status = "okay";
4752e0537b1SAndy Yan};
4762e0537b1SAndy Yan
4772e0537b1SAndy Yan&vp0 {
4782e0537b1SAndy Yan	vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
4792e0537b1SAndy Yan		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
4802e0537b1SAndy Yan		remote-endpoint = <&hdmi_in_vp0>;
4812e0537b1SAndy Yan	};
4822e0537b1SAndy Yan};
4832e0537b1SAndy Yan
4842e0537b1SAndy Yan&vpu {
4852e0537b1SAndy Yan	status = "okay";
4862e0537b1SAndy Yan};
4872e0537b1SAndy Yan
4882e0537b1SAndy Yan&vdpu_mmu {
4892e0537b1SAndy Yan	status = "okay";
4902e0537b1SAndy Yan};
4912e0537b1SAndy Yan
4922e0537b1SAndy Yan&usb2phy0_host {
4932e0537b1SAndy Yan	phy-supply = <&vcc5v0_usb_host>;
4942e0537b1SAndy Yan	status = "okay";
4952e0537b1SAndy Yan};
4962e0537b1SAndy Yan
4972e0537b1SAndy Yan&usb2phy0_otg {
498fc440ea1SJohan Jonker	phy-supply = <&vcc5v0_usb2_otg>;
4992e0537b1SAndy Yan	status = "okay";
5002e0537b1SAndy Yan};
5012e0537b1SAndy Yan
5022e0537b1SAndy Yan&usb2phy1_host {
5032e0537b1SAndy Yan	phy-supply = <&vcc5v0_usb_host>;
5042e0537b1SAndy Yan	status = "okay";
5052e0537b1SAndy Yan};
5062e0537b1SAndy Yan
5072e0537b1SAndy Yan&usb2phy1_otg {
5082e0537b1SAndy Yan	phy-supply = <&vcc5v0_usb_host>;
5092e0537b1SAndy Yan	status = "okay";
5102e0537b1SAndy Yan};
5112e0537b1SAndy Yan
5122e0537b1SAndy Yan&usb2phy1 {
5132e0537b1SAndy Yan	status = "okay";
5142e0537b1SAndy Yan};
5152e0537b1SAndy Yan
5162e0537b1SAndy Yan&usb_host0_ehci {
5172e0537b1SAndy Yan	status = "okay";
5182e0537b1SAndy Yan};
5192e0537b1SAndy Yan
5202e0537b1SAndy Yan&usb_host0_ohci {
5212e0537b1SAndy Yan	status = "okay";
5222e0537b1SAndy Yan};
5232e0537b1SAndy Yan
5242e0537b1SAndy Yan&usb_host1_ehci {
5252e0537b1SAndy Yan	status = "okay";
5262e0537b1SAndy Yan};
5272e0537b1SAndy Yan
5282e0537b1SAndy Yan&usb_host1_ohci {
5292e0537b1SAndy Yan	status = "okay";
5302e0537b1SAndy Yan};
5312e0537b1SAndy Yan
5322e0537b1SAndy Yan&usb_host1_xhci {
5332e0537b1SAndy Yan	status = "okay";
5342e0537b1SAndy Yan};
535