linux/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero-3w.dts

// SPDX-License-Identifier: (GPL-2.0+ OR MIT)

/dts-v1/;

#include "rk3566-radxa-zero-3.dtsi"

/ {
	model = "Radxa ZERO 3W";
	compatible = "radxa,zero-3w", "rockchip,rk3566";

	aliases {
		mmc0 = &sdhci;
		mmc1 = &sdmmc0;
		mmc2 = &sdmmc1;
	};

	sdio_pwrseq: sdio-pwrseq {
		compatible = "mmc-pwrseq-simple";
		clocks = <&rk817 1>;
		clock-names = "ext_clock";
		pinctrl-names = "default";
		pinctrl-0 = <&wifi_reg_on_h>;
		post-power-on-delay-ms = <100>;
		power-off-delay-us = <5000000>;
		reset-gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_LOW>;
	};
};

&pinctrl {
	bluetooth {
		bt_reg_on_h: bt-reg-on-h {
			rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		bt_wake_host_h: bt-wake-host-h {
			rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		host_wake_bt_h: host-wake-bt-h {
			rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	wifi {
		wifi_reg_on_h: wifi-reg-on-h {
			rockchip,pins = <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		wifi_wake_host_h: wifi-wake-host-h {
			rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};
};

&sdhci {
	bus-width = <8>;
	cap-mmc-highspeed;
	max-frequency = <200000000>;
	mmc-hs200-1_8v;
	no-sd;
	no-sdio;
	non-removable;
	pinctrl-names = "default";
	pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>;
	vmmc-supply = <&vcc_3v3>;
	vqmmc-supply = <&vcc_1v8>;
	status = "okay";
};

&sdmmc1 {
	bus-width = <4>;
	cap-sd-highspeed;
	cap-sdio-irq;
	keep-power-in-suspend;
	mmc-pwrseq = <&sdio_pwrseq>;
	no-mmc;
	no-sd;
	non-removable;
	pinctrl-names = "default";
	pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_clk &sdmmc1_cmd>;
	sd-uhs-sdr104;
	vmmc-supply = <&vcc_3v3>;
	vqmmc-supply = <&vcc_1v8>;
	status = "okay";
};

&uart1 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn &uart1m0_rtsn>;
	uart-has-rtscts;
	status = "okay";
};