xref: /linux/arch/arm64/boot/dts/rockchip/rk3328-evb.dts (revision 06d07429858317ded2db7986113a9e0129cd599b)
14ee99cebSKlaus Goger// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
20c1f8546SLiang Chen/*
30c1f8546SLiang Chen * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd
40c1f8546SLiang Chen */
50c1f8546SLiang Chen
60c1f8546SLiang Chen/dts-v1/;
70c1f8546SLiang Chen#include "rk3328.dtsi"
80c1f8546SLiang Chen
90c1f8546SLiang Chen/ {
100c1f8546SLiang Chen	model = "Rockchip RK3328 EVB";
110c1f8546SLiang Chen	compatible = "rockchip,rk3328-evb", "rockchip,rk3328";
120c1f8546SLiang Chen
1328869aa5SHeiko Stuebner	aliases {
14*9012ab6bSDragan Simic		ethernet0 = &gmac2phy;
1528869aa5SHeiko Stuebner		mmc0 = &sdmmc;
1628869aa5SHeiko Stuebner		mmc1 = &sdio;
1728869aa5SHeiko Stuebner		mmc2 = &emmc;
1828869aa5SHeiko Stuebner	};
1928869aa5SHeiko Stuebner
200c1f8546SLiang Chen	chosen {
210c1f8546SLiang Chen		stdout-path = "serial2:1500000n8";
220c1f8546SLiang Chen	};
234b05bc61SDavid Wu
241e28037eSJoseph Chen	dc_12v: dc-12v {
251e28037eSJoseph Chen		compatible = "regulator-fixed";
261e28037eSJoseph Chen		regulator-name = "dc_12v";
271e28037eSJoseph Chen		regulator-always-on;
281e28037eSJoseph Chen		regulator-boot-on;
291e28037eSJoseph Chen		regulator-min-microvolt = <12000000>;
301e28037eSJoseph Chen		regulator-max-microvolt = <12000000>;
311e28037eSJoseph Chen	};
321e28037eSJoseph Chen
33b9299452SLiang Chen	sdio_pwrseq: sdio-pwrseq {
34b9299452SLiang Chen		compatible = "mmc-pwrseq-simple";
35b9299452SLiang Chen		pinctrl-names = "default";
36b9299452SLiang Chen		pinctrl-0 = <&wifi_enable_h>;
37b9299452SLiang Chen
38b9299452SLiang Chen		/*
39b9299452SLiang Chen		 * On the module itself this is one of these (depending
40b9299452SLiang Chen		 * on the actual card populated):
41b9299452SLiang Chen		 * - SDIO_RESET_L_WL_REG_ON
42b9299452SLiang Chen		 * - PDN (power down when low)
43b9299452SLiang Chen		 */
44b9299452SLiang Chen		reset-gpios = <&gpio1 18 GPIO_ACTIVE_LOW>;
45b9299452SLiang Chen	};
46b9299452SLiang Chen
47b9299452SLiang Chen	vcc_sd: sdmmc-regulator {
48b9299452SLiang Chen		compatible = "regulator-fixed";
49b9299452SLiang Chen		gpio = <&gpio0 30 GPIO_ACTIVE_LOW>;
50b9299452SLiang Chen		pinctrl-names = "default";
512bc65fefSJohan Jonker		pinctrl-0 = <&sdmmc0m1_pin>;
52b9299452SLiang Chen		regulator-name = "vcc_sd";
53b9299452SLiang Chen		regulator-min-microvolt = <3300000>;
54b9299452SLiang Chen		regulator-max-microvolt = <3300000>;
55b9299452SLiang Chen		vin-supply = <&vcc_io>;
56b9299452SLiang Chen	};
57b9299452SLiang Chen
581e28037eSJoseph Chen	vcc_sys: vcc-sys {
591e28037eSJoseph Chen		compatible = "regulator-fixed";
601e28037eSJoseph Chen		regulator-name = "vcc_sys";
611e28037eSJoseph Chen		regulator-always-on;
621e28037eSJoseph Chen		regulator-boot-on;
631e28037eSJoseph Chen		regulator-min-microvolt = <5000000>;
641e28037eSJoseph Chen		regulator-max-microvolt = <5000000>;
651e28037eSJoseph Chen		vin-supply = <&dc_12v>;
661e28037eSJoseph Chen	};
67e90937e7SLinus Torvalds
684b05bc61SDavid Wu	vcc_phy: vcc-phy-regulator {
694b05bc61SDavid Wu		compatible = "regulator-fixed";
704b05bc61SDavid Wu		regulator-name = "vcc_phy";
714b05bc61SDavid Wu		regulator-always-on;
724b05bc61SDavid Wu		regulator-boot-on;
734b05bc61SDavid Wu	};
744b05bc61SDavid Wu};
754b05bc61SDavid Wu
76fae7ee43SLiang Chen&cpu0 {
77fae7ee43SLiang Chen	cpu-supply = <&vdd_arm>;
78fae7ee43SLiang Chen};
79fae7ee43SLiang Chen
804be8df7bSJohan Jonker&cpu1 {
814be8df7bSJohan Jonker	cpu-supply = <&vdd_arm>;
824be8df7bSJohan Jonker};
834be8df7bSJohan Jonker
844be8df7bSJohan Jonker&cpu2 {
854be8df7bSJohan Jonker	cpu-supply = <&vdd_arm>;
864be8df7bSJohan Jonker};
874be8df7bSJohan Jonker
884be8df7bSJohan Jonker&cpu3 {
894be8df7bSJohan Jonker	cpu-supply = <&vdd_arm>;
904be8df7bSJohan Jonker};
914be8df7bSJohan Jonker
92b9299452SLiang Chen&emmc {
93b9299452SLiang Chen	bus-width = <8>;
94b9299452SLiang Chen	cap-mmc-highspeed;
95b9299452SLiang Chen	non-removable;
96b9299452SLiang Chen	pinctrl-names = "default";
97b9299452SLiang Chen	pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
98b9299452SLiang Chen	status = "okay";
99b9299452SLiang Chen};
100b9299452SLiang Chen
1014b05bc61SDavid Wu&gmac2phy {
1024b05bc61SDavid Wu	phy-supply = <&vcc_phy>;
1034b05bc61SDavid Wu	clock_in_out = "output";
1044b05bc61SDavid Wu	assigned-clock-rate = <50000000>;
1054b05bc61SDavid Wu	assigned-clocks = <&cru SCLK_MAC2PHY>;
1064b05bc61SDavid Wu	assigned-clock-parents = <&cru SCLK_MAC2PHY_SRC>;
107c617ed88SJohan Jonker	status = "okay";
1080c1f8546SLiang Chen};
1090c1f8546SLiang Chen
1101e28037eSJoseph Chen&i2c1 {
1111e28037eSJoseph Chen	status = "okay";
1121e28037eSJoseph Chen
11383b99412SChen-Yu Tsai	rk805: pmic@18 {
1141e28037eSJoseph Chen		compatible = "rockchip,rk805";
1151e28037eSJoseph Chen		reg = <0x18>;
1161e28037eSJoseph Chen		interrupt-parent = <&gpio2>;
1171e28037eSJoseph Chen		interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
1181e28037eSJoseph Chen		#clock-cells = <1>;
1191e28037eSJoseph Chen		clock-output-names = "xin32k", "rk805-clkout2";
1201e28037eSJoseph Chen		gpio-controller;
1211e28037eSJoseph Chen		#gpio-cells = <2>;
1221e28037eSJoseph Chen		pinctrl-names = "default";
1231e28037eSJoseph Chen		pinctrl-0 = <&pmic_int_l>;
1241e28037eSJoseph Chen		rockchip,system-power-controller;
1251e28037eSJoseph Chen		wakeup-source;
1261e28037eSJoseph Chen
1271e28037eSJoseph Chen		vcc1-supply = <&vcc_sys>;
1281e28037eSJoseph Chen		vcc2-supply = <&vcc_sys>;
1291e28037eSJoseph Chen		vcc3-supply = <&vcc_sys>;
1301e28037eSJoseph Chen		vcc4-supply = <&vcc_sys>;
1311e28037eSJoseph Chen		vcc5-supply = <&vcc_io>;
1321e28037eSJoseph Chen		vcc6-supply = <&vcc_io>;
1331e28037eSJoseph Chen
1341e28037eSJoseph Chen		regulators {
1351e28037eSJoseph Chen			vdd_logic: DCDC_REG1 {
1361e28037eSJoseph Chen				regulator-name = "vdd_logic";
1371e28037eSJoseph Chen				regulator-min-microvolt = <712500>;
1381e28037eSJoseph Chen				regulator-max-microvolt = <1450000>;
1391e28037eSJoseph Chen				regulator-always-on;
1401e28037eSJoseph Chen				regulator-boot-on;
1411e28037eSJoseph Chen				regulator-state-mem {
1421e28037eSJoseph Chen					regulator-on-in-suspend;
1431e28037eSJoseph Chen					regulator-suspend-microvolt = <1000000>;
1441e28037eSJoseph Chen				};
1451e28037eSJoseph Chen			};
1461e28037eSJoseph Chen
1471e28037eSJoseph Chen			vdd_arm: DCDC_REG2 {
1481e28037eSJoseph Chen				regulator-name = "vdd_arm";
1491e28037eSJoseph Chen				regulator-min-microvolt = <712500>;
1501e28037eSJoseph Chen				regulator-max-microvolt = <1450000>;
1511e28037eSJoseph Chen				regulator-always-on;
1521e28037eSJoseph Chen				regulator-boot-on;
1531e28037eSJoseph Chen				regulator-state-mem {
1541e28037eSJoseph Chen					regulator-on-in-suspend;
1551e28037eSJoseph Chen					regulator-suspend-microvolt = <950000>;
1561e28037eSJoseph Chen				};
1571e28037eSJoseph Chen			};
1581e28037eSJoseph Chen
1591e28037eSJoseph Chen			vcc_ddr: DCDC_REG3 {
1601e28037eSJoseph Chen				regulator-name = "vcc_ddr";
1611e28037eSJoseph Chen				regulator-always-on;
1621e28037eSJoseph Chen				regulator-boot-on;
1631e28037eSJoseph Chen				regulator-state-mem {
1641e28037eSJoseph Chen					regulator-on-in-suspend;
1651e28037eSJoseph Chen				};
1661e28037eSJoseph Chen			};
1671e28037eSJoseph Chen
1681e28037eSJoseph Chen			vcc_io: DCDC_REG4 {
1691e28037eSJoseph Chen				regulator-name = "vcc_io";
1701e28037eSJoseph Chen				regulator-min-microvolt = <3300000>;
1711e28037eSJoseph Chen				regulator-max-microvolt = <3300000>;
1721e28037eSJoseph Chen				regulator-always-on;
1731e28037eSJoseph Chen				regulator-boot-on;
1741e28037eSJoseph Chen				regulator-state-mem {
1751e28037eSJoseph Chen					regulator-on-in-suspend;
1761e28037eSJoseph Chen					regulator-suspend-microvolt = <3300000>;
1771e28037eSJoseph Chen				};
1781e28037eSJoseph Chen			};
1791e28037eSJoseph Chen
1801e28037eSJoseph Chen			vcc_18: LDO_REG1 {
1811e28037eSJoseph Chen				regulator-name = "vcc_18";
1821e28037eSJoseph Chen				regulator-min-microvolt = <1800000>;
1831e28037eSJoseph Chen				regulator-max-microvolt = <1800000>;
1841e28037eSJoseph Chen				regulator-always-on;
1851e28037eSJoseph Chen				regulator-boot-on;
1861e28037eSJoseph Chen				regulator-state-mem {
1871e28037eSJoseph Chen					regulator-on-in-suspend;
1881e28037eSJoseph Chen					regulator-suspend-microvolt = <1800000>;
1891e28037eSJoseph Chen				};
1901e28037eSJoseph Chen			};
1911e28037eSJoseph Chen
1921e28037eSJoseph Chen			vcc18_emmc: LDO_REG2 {
1931e28037eSJoseph Chen				regulator-name = "vcc18_emmc";
1941e28037eSJoseph Chen				regulator-min-microvolt = <1800000>;
1951e28037eSJoseph Chen				regulator-max-microvolt = <1800000>;
1961e28037eSJoseph Chen				regulator-always-on;
1971e28037eSJoseph Chen				regulator-boot-on;
1981e28037eSJoseph Chen				regulator-state-mem {
1991e28037eSJoseph Chen					regulator-on-in-suspend;
2001e28037eSJoseph Chen					regulator-suspend-microvolt = <1800000>;
2011e28037eSJoseph Chen				};
2021e28037eSJoseph Chen			};
2031e28037eSJoseph Chen
2041e28037eSJoseph Chen			vdd_10: LDO_REG3 {
2051e28037eSJoseph Chen				regulator-name = "vdd_10";
2061e28037eSJoseph Chen				regulator-min-microvolt = <1000000>;
2071e28037eSJoseph Chen				regulator-max-microvolt = <1000000>;
2081e28037eSJoseph Chen				regulator-always-on;
2091e28037eSJoseph Chen				regulator-boot-on;
2101e28037eSJoseph Chen				regulator-state-mem {
2111e28037eSJoseph Chen					regulator-on-in-suspend;
2121e28037eSJoseph Chen					regulator-suspend-microvolt = <1000000>;
2131e28037eSJoseph Chen				};
2141e28037eSJoseph Chen			};
2151e28037eSJoseph Chen		};
2161e28037eSJoseph Chen	};
2171e28037eSJoseph Chen};
2181e28037eSJoseph Chen
2191e28037eSJoseph Chen&pinctrl {
2201e28037eSJoseph Chen	pmic {
2211e28037eSJoseph Chen		pmic_int_l: pmic-int-l {
2221e28037eSJoseph Chen			rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
2231e28037eSJoseph Chen		};
2241e28037eSJoseph Chen	};
225b9299452SLiang Chen
226b9299452SLiang Chen	sdio-pwrseq {
227b9299452SLiang Chen		wifi_enable_h: wifi-enable-h {
228b9299452SLiang Chen		rockchip,pins =
229d64420e8SHeiko Stuebner			<1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
230b9299452SLiang Chen		};
231b9299452SLiang Chen	};
232b9299452SLiang Chen};
233b9299452SLiang Chen
234b9299452SLiang Chen&sdio {
235b9299452SLiang Chen	bus-width = <4>;
236b9299452SLiang Chen	cap-sd-highspeed;
237b9299452SLiang Chen	cap-sdio-irq;
238b9299452SLiang Chen	keep-power-in-suspend;
239b9299452SLiang Chen	max-frequency = <150000000>;
240b9299452SLiang Chen	mmc-pwrseq = <&sdio_pwrseq>;
241b9299452SLiang Chen	non-removable;
242b9299452SLiang Chen	pinctrl-names = "default";
243b9299452SLiang Chen	pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>;
244b9299452SLiang Chen	status = "okay";
245b9299452SLiang Chen};
246b9299452SLiang Chen
247b9299452SLiang Chen&sdmmc {
248b9299452SLiang Chen	bus-width = <4>;
249b9299452SLiang Chen	cap-mmc-highspeed;
250b9299452SLiang Chen	cap-sd-highspeed;
251b9299452SLiang Chen	disable-wp;
252b9299452SLiang Chen	max-frequency = <150000000>;
253b9299452SLiang Chen	pinctrl-names = "default";
254b9299452SLiang Chen	pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
255b9299452SLiang Chen	vmmc-supply = <&vcc_sd>;
256b9299452SLiang Chen	status = "okay";
2570c1f8546SLiang Chen};
2580c1f8546SLiang Chen
259ab78718bSRocky Hao&tsadc {
260ab78718bSRocky Hao	status = "okay";
261ab78718bSRocky Hao};
262ab78718bSRocky Hao
2630c1f8546SLiang Chen&uart2 {
2640c1f8546SLiang Chen	status = "okay";
2650c1f8546SLiang Chen};
266d4446793SWilliam Wu
267d4446793SWilliam Wu&u2phy {
268d4446793SWilliam Wu	status = "okay";
269d4446793SWilliam Wu};
270d4446793SWilliam Wu
271d4446793SWilliam Wu&u2phy_host {
272d4446793SWilliam Wu	status = "okay";
273d4446793SWilliam Wu};
274d4446793SWilliam Wu
275d4446793SWilliam Wu&u2phy_otg {
276d4446793SWilliam Wu	status = "okay";
277d4446793SWilliam Wu};
278d4446793SWilliam Wu
279d4446793SWilliam Wu&usb20_otg {
280d4446793SWilliam Wu	status = "okay";
281d4446793SWilliam Wu};
282d4446793SWilliam Wu
283d4446793SWilliam Wu&usb_host0_ehci {
284d4446793SWilliam Wu	status = "okay";
285d4446793SWilliam Wu};
286d4446793SWilliam Wu
287d4446793SWilliam Wu&usb_host0_ohci {
288d4446793SWilliam Wu	status = "okay";
289d4446793SWilliam Wu};
290