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