xref: /linux/arch/arm64/boot/dts/rockchip/rk3328-evb.dts (revision d64420e816059661e70db31d891f38e79f483080)
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
130c1f8546SLiang Chen	chosen {
140c1f8546SLiang Chen		stdout-path = "serial2:1500000n8";
150c1f8546SLiang Chen	};
164b05bc61SDavid Wu
171e28037eSJoseph Chen	dc_12v: dc-12v {
181e28037eSJoseph Chen		compatible = "regulator-fixed";
191e28037eSJoseph Chen		regulator-name = "dc_12v";
201e28037eSJoseph Chen		regulator-always-on;
211e28037eSJoseph Chen		regulator-boot-on;
221e28037eSJoseph Chen		regulator-min-microvolt = <12000000>;
231e28037eSJoseph Chen		regulator-max-microvolt = <12000000>;
241e28037eSJoseph Chen	};
251e28037eSJoseph Chen
26b9299452SLiang Chen	sdio_pwrseq: sdio-pwrseq {
27b9299452SLiang Chen		compatible = "mmc-pwrseq-simple";
28b9299452SLiang Chen		pinctrl-names = "default";
29b9299452SLiang Chen		pinctrl-0 = <&wifi_enable_h>;
30b9299452SLiang Chen
31b9299452SLiang Chen		/*
32b9299452SLiang Chen		 * On the module itself this is one of these (depending
33b9299452SLiang Chen		 * on the actual card populated):
34b9299452SLiang Chen		 * - SDIO_RESET_L_WL_REG_ON
35b9299452SLiang Chen		 * - PDN (power down when low)
36b9299452SLiang Chen		 */
37b9299452SLiang Chen		reset-gpios = <&gpio1 18 GPIO_ACTIVE_LOW>;
38b9299452SLiang Chen	};
39b9299452SLiang Chen
40b9299452SLiang Chen	vcc_sd: sdmmc-regulator {
41b9299452SLiang Chen		compatible = "regulator-fixed";
42b9299452SLiang Chen		gpio = <&gpio0 30 GPIO_ACTIVE_LOW>;
43b9299452SLiang Chen		pinctrl-names = "default";
44b9299452SLiang Chen		pinctrl-0 = <&sdmmc0m1_gpio>;
45b9299452SLiang Chen		regulator-name = "vcc_sd";
46b9299452SLiang Chen		regulator-min-microvolt = <3300000>;
47b9299452SLiang Chen		regulator-max-microvolt = <3300000>;
48b9299452SLiang Chen		vin-supply = <&vcc_io>;
49b9299452SLiang Chen	};
50b9299452SLiang Chen
511e28037eSJoseph Chen	vcc_sys: vcc-sys {
521e28037eSJoseph Chen		compatible = "regulator-fixed";
531e28037eSJoseph Chen		regulator-name = "vcc_sys";
541e28037eSJoseph Chen		regulator-always-on;
551e28037eSJoseph Chen		regulator-boot-on;
561e28037eSJoseph Chen		regulator-min-microvolt = <5000000>;
571e28037eSJoseph Chen		regulator-max-microvolt = <5000000>;
581e28037eSJoseph Chen		vin-supply = <&dc_12v>;
591e28037eSJoseph Chen	};
60e90937e7SLinus Torvalds
614b05bc61SDavid Wu	vcc_phy: vcc-phy-regulator {
624b05bc61SDavid Wu		compatible = "regulator-fixed";
634b05bc61SDavid Wu		regulator-name = "vcc_phy";
644b05bc61SDavid Wu		regulator-always-on;
654b05bc61SDavid Wu		regulator-boot-on;
664b05bc61SDavid Wu	};
674b05bc61SDavid Wu};
684b05bc61SDavid Wu
69fae7ee43SLiang Chen&cpu0 {
70fae7ee43SLiang Chen	cpu-supply = <&vdd_arm>;
71fae7ee43SLiang Chen};
72fae7ee43SLiang Chen
73b9299452SLiang Chen&emmc {
74b9299452SLiang Chen	bus-width = <8>;
75b9299452SLiang Chen	cap-mmc-highspeed;
76b9299452SLiang Chen	non-removable;
77b9299452SLiang Chen	pinctrl-names = "default";
78b9299452SLiang Chen	pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
79b9299452SLiang Chen	status = "okay";
80b9299452SLiang Chen};
81b9299452SLiang Chen
824b05bc61SDavid Wu&gmac2phy {
834b05bc61SDavid Wu	phy-supply = <&vcc_phy>;
844b05bc61SDavid Wu	clock_in_out = "output";
854b05bc61SDavid Wu	assigned-clocks = <&cru SCLK_MAC2PHY_SRC>;
864b05bc61SDavid Wu	assigned-clock-rate = <50000000>;
874b05bc61SDavid Wu	assigned-clocks = <&cru SCLK_MAC2PHY>;
884b05bc61SDavid Wu	assigned-clock-parents = <&cru SCLK_MAC2PHY_SRC>;
89b9299452SLiang Chen
900c1f8546SLiang Chen};
910c1f8546SLiang Chen
921e28037eSJoseph Chen&i2c1 {
931e28037eSJoseph Chen	status = "okay";
941e28037eSJoseph Chen
951e28037eSJoseph Chen	rk805: rk805@18 {
961e28037eSJoseph Chen		compatible = "rockchip,rk805";
971e28037eSJoseph Chen		reg = <0x18>;
981e28037eSJoseph Chen		interrupt-parent = <&gpio2>;
991e28037eSJoseph Chen		interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
1001e28037eSJoseph Chen		#clock-cells = <1>;
1011e28037eSJoseph Chen		clock-output-names = "xin32k", "rk805-clkout2";
1021e28037eSJoseph Chen		gpio-controller;
1031e28037eSJoseph Chen		#gpio-cells = <2>;
1041e28037eSJoseph Chen		pinctrl-names = "default";
1051e28037eSJoseph Chen		pinctrl-0 = <&pmic_int_l>;
1061e28037eSJoseph Chen		rockchip,system-power-controller;
1071e28037eSJoseph Chen		wakeup-source;
1081e28037eSJoseph Chen
1091e28037eSJoseph Chen		vcc1-supply = <&vcc_sys>;
1101e28037eSJoseph Chen		vcc2-supply = <&vcc_sys>;
1111e28037eSJoseph Chen		vcc3-supply = <&vcc_sys>;
1121e28037eSJoseph Chen		vcc4-supply = <&vcc_sys>;
1131e28037eSJoseph Chen		vcc5-supply = <&vcc_io>;
1141e28037eSJoseph Chen		vcc6-supply = <&vcc_io>;
1151e28037eSJoseph Chen
1161e28037eSJoseph Chen		regulators {
1171e28037eSJoseph Chen			vdd_logic: DCDC_REG1 {
1181e28037eSJoseph Chen				regulator-name = "vdd_logic";
1191e28037eSJoseph Chen				regulator-min-microvolt = <712500>;
1201e28037eSJoseph Chen				regulator-max-microvolt = <1450000>;
1211e28037eSJoseph Chen				regulator-always-on;
1221e28037eSJoseph Chen				regulator-boot-on;
1231e28037eSJoseph Chen				regulator-state-mem {
1241e28037eSJoseph Chen					regulator-on-in-suspend;
1251e28037eSJoseph Chen					regulator-suspend-microvolt = <1000000>;
1261e28037eSJoseph Chen				};
1271e28037eSJoseph Chen			};
1281e28037eSJoseph Chen
1291e28037eSJoseph Chen			vdd_arm: DCDC_REG2 {
1301e28037eSJoseph Chen				regulator-name = "vdd_arm";
1311e28037eSJoseph Chen				regulator-min-microvolt = <712500>;
1321e28037eSJoseph Chen				regulator-max-microvolt = <1450000>;
1331e28037eSJoseph Chen				regulator-always-on;
1341e28037eSJoseph Chen				regulator-boot-on;
1351e28037eSJoseph Chen				regulator-state-mem {
1361e28037eSJoseph Chen					regulator-on-in-suspend;
1371e28037eSJoseph Chen					regulator-suspend-microvolt = <950000>;
1381e28037eSJoseph Chen				};
1391e28037eSJoseph Chen			};
1401e28037eSJoseph Chen
1411e28037eSJoseph Chen			vcc_ddr: DCDC_REG3 {
1421e28037eSJoseph Chen				regulator-name = "vcc_ddr";
1431e28037eSJoseph Chen				regulator-always-on;
1441e28037eSJoseph Chen				regulator-boot-on;
1451e28037eSJoseph Chen				regulator-state-mem {
1461e28037eSJoseph Chen					regulator-on-in-suspend;
1471e28037eSJoseph Chen				};
1481e28037eSJoseph Chen			};
1491e28037eSJoseph Chen
1501e28037eSJoseph Chen			vcc_io: DCDC_REG4 {
1511e28037eSJoseph Chen				regulator-name = "vcc_io";
1521e28037eSJoseph Chen				regulator-min-microvolt = <3300000>;
1531e28037eSJoseph Chen				regulator-max-microvolt = <3300000>;
1541e28037eSJoseph Chen				regulator-always-on;
1551e28037eSJoseph Chen				regulator-boot-on;
1561e28037eSJoseph Chen				regulator-state-mem {
1571e28037eSJoseph Chen					regulator-on-in-suspend;
1581e28037eSJoseph Chen					regulator-suspend-microvolt = <3300000>;
1591e28037eSJoseph Chen				};
1601e28037eSJoseph Chen			};
1611e28037eSJoseph Chen
1621e28037eSJoseph Chen			vcc_18: LDO_REG1 {
1631e28037eSJoseph Chen				regulator-name = "vcc_18";
1641e28037eSJoseph Chen				regulator-min-microvolt = <1800000>;
1651e28037eSJoseph Chen				regulator-max-microvolt = <1800000>;
1661e28037eSJoseph Chen				regulator-always-on;
1671e28037eSJoseph Chen				regulator-boot-on;
1681e28037eSJoseph Chen				regulator-state-mem {
1691e28037eSJoseph Chen					regulator-on-in-suspend;
1701e28037eSJoseph Chen					regulator-suspend-microvolt = <1800000>;
1711e28037eSJoseph Chen				};
1721e28037eSJoseph Chen			};
1731e28037eSJoseph Chen
1741e28037eSJoseph Chen			vcc18_emmc: LDO_REG2 {
1751e28037eSJoseph Chen				regulator-name = "vcc18_emmc";
1761e28037eSJoseph Chen				regulator-min-microvolt = <1800000>;
1771e28037eSJoseph Chen				regulator-max-microvolt = <1800000>;
1781e28037eSJoseph Chen				regulator-always-on;
1791e28037eSJoseph Chen				regulator-boot-on;
1801e28037eSJoseph Chen				regulator-state-mem {
1811e28037eSJoseph Chen					regulator-on-in-suspend;
1821e28037eSJoseph Chen					regulator-suspend-microvolt = <1800000>;
1831e28037eSJoseph Chen				};
1841e28037eSJoseph Chen			};
1851e28037eSJoseph Chen
1861e28037eSJoseph Chen			vdd_10: LDO_REG3 {
1871e28037eSJoseph Chen				regulator-name = "vdd_10";
1881e28037eSJoseph Chen				regulator-min-microvolt = <1000000>;
1891e28037eSJoseph Chen				regulator-max-microvolt = <1000000>;
1901e28037eSJoseph Chen				regulator-always-on;
1911e28037eSJoseph Chen				regulator-boot-on;
1921e28037eSJoseph Chen				regulator-state-mem {
1931e28037eSJoseph Chen					regulator-on-in-suspend;
1941e28037eSJoseph Chen					regulator-suspend-microvolt = <1000000>;
1951e28037eSJoseph Chen				};
1961e28037eSJoseph Chen			};
1971e28037eSJoseph Chen		};
1981e28037eSJoseph Chen	};
1991e28037eSJoseph Chen};
2001e28037eSJoseph Chen
2011e28037eSJoseph Chen&pinctrl {
2021e28037eSJoseph Chen	pmic {
2031e28037eSJoseph Chen		pmic_int_l: pmic-int-l {
2041e28037eSJoseph Chen			rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
2051e28037eSJoseph Chen		};
2061e28037eSJoseph Chen	};
207b9299452SLiang Chen
208b9299452SLiang Chen	sdio-pwrseq {
209b9299452SLiang Chen		wifi_enable_h: wifi-enable-h {
210b9299452SLiang Chen		rockchip,pins =
211*d64420e8SHeiko Stuebner			<1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
212b9299452SLiang Chen		};
213b9299452SLiang Chen	};
214b9299452SLiang Chen};
215b9299452SLiang Chen
216b9299452SLiang Chen&sdio {
217b9299452SLiang Chen	bus-width = <4>;
218b9299452SLiang Chen	cap-sd-highspeed;
219b9299452SLiang Chen	cap-sdio-irq;
220b9299452SLiang Chen	keep-power-in-suspend;
221b9299452SLiang Chen	max-frequency = <150000000>;
222b9299452SLiang Chen	mmc-pwrseq = <&sdio_pwrseq>;
223b9299452SLiang Chen	non-removable;
224b9299452SLiang Chen	pinctrl-names = "default";
225b9299452SLiang Chen	pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>;
226b9299452SLiang Chen	status = "okay";
227b9299452SLiang Chen};
228b9299452SLiang Chen
229b9299452SLiang Chen&sdmmc {
230b9299452SLiang Chen	bus-width = <4>;
231b9299452SLiang Chen	cap-mmc-highspeed;
232b9299452SLiang Chen	cap-sd-highspeed;
233b9299452SLiang Chen	disable-wp;
234b9299452SLiang Chen	max-frequency = <150000000>;
235b9299452SLiang Chen	pinctrl-names = "default";
236b9299452SLiang Chen	pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
237b9299452SLiang Chen	vmmc-supply = <&vcc_sd>;
238b9299452SLiang Chen	status = "okay";
2390c1f8546SLiang Chen};
2400c1f8546SLiang Chen
241ab78718bSRocky Hao&tsadc {
242ab78718bSRocky Hao	status = "okay";
243ab78718bSRocky Hao};
244ab78718bSRocky Hao
2450c1f8546SLiang Chen&uart2 {
2460c1f8546SLiang Chen	status = "okay";
2470c1f8546SLiang Chen};
248d4446793SWilliam Wu
249d4446793SWilliam Wu&u2phy {
250d4446793SWilliam Wu	status = "okay";
251d4446793SWilliam Wu};
252d4446793SWilliam Wu
253d4446793SWilliam Wu&u2phy_host {
254d4446793SWilliam Wu	status = "okay";
255d4446793SWilliam Wu};
256d4446793SWilliam Wu
257d4446793SWilliam Wu&u2phy_otg {
258d4446793SWilliam Wu	status = "okay";
259d4446793SWilliam Wu};
260d4446793SWilliam Wu
261d4446793SWilliam Wu&usb20_otg {
262d4446793SWilliam Wu	status = "okay";
263d4446793SWilliam Wu};
264d4446793SWilliam Wu
265d4446793SWilliam Wu&usb_host0_ehci {
266d4446793SWilliam Wu	status = "okay";
267d4446793SWilliam Wu};
268d4446793SWilliam Wu
269d4446793SWilliam Wu&usb_host0_ohci {
270d4446793SWilliam Wu	status = "okay";
271d4446793SWilliam Wu};
272