xref: /linux/arch/arm64/boot/dts/rockchip/rk3328-evb.dts (revision c617ed88502d0b05149e7f32f3b3fd8a0663f7e2)
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-clock-rate = <50000000>;
864b05bc61SDavid Wu	assigned-clocks = <&cru SCLK_MAC2PHY>;
874b05bc61SDavid Wu	assigned-clock-parents = <&cru SCLK_MAC2PHY_SRC>;
88*c617ed88SJohan Jonker	status = "okay";
890c1f8546SLiang Chen};
900c1f8546SLiang Chen
911e28037eSJoseph Chen&i2c1 {
921e28037eSJoseph Chen	status = "okay";
931e28037eSJoseph Chen
9483b99412SChen-Yu Tsai	rk805: pmic@18 {
951e28037eSJoseph Chen		compatible = "rockchip,rk805";
961e28037eSJoseph Chen		reg = <0x18>;
971e28037eSJoseph Chen		interrupt-parent = <&gpio2>;
981e28037eSJoseph Chen		interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
991e28037eSJoseph Chen		#clock-cells = <1>;
1001e28037eSJoseph Chen		clock-output-names = "xin32k", "rk805-clkout2";
1011e28037eSJoseph Chen		gpio-controller;
1021e28037eSJoseph Chen		#gpio-cells = <2>;
1031e28037eSJoseph Chen		pinctrl-names = "default";
1041e28037eSJoseph Chen		pinctrl-0 = <&pmic_int_l>;
1051e28037eSJoseph Chen		rockchip,system-power-controller;
1061e28037eSJoseph Chen		wakeup-source;
1071e28037eSJoseph Chen
1081e28037eSJoseph Chen		vcc1-supply = <&vcc_sys>;
1091e28037eSJoseph Chen		vcc2-supply = <&vcc_sys>;
1101e28037eSJoseph Chen		vcc3-supply = <&vcc_sys>;
1111e28037eSJoseph Chen		vcc4-supply = <&vcc_sys>;
1121e28037eSJoseph Chen		vcc5-supply = <&vcc_io>;
1131e28037eSJoseph Chen		vcc6-supply = <&vcc_io>;
1141e28037eSJoseph Chen
1151e28037eSJoseph Chen		regulators {
1161e28037eSJoseph Chen			vdd_logic: DCDC_REG1 {
1171e28037eSJoseph Chen				regulator-name = "vdd_logic";
1181e28037eSJoseph Chen				regulator-min-microvolt = <712500>;
1191e28037eSJoseph Chen				regulator-max-microvolt = <1450000>;
1201e28037eSJoseph Chen				regulator-always-on;
1211e28037eSJoseph Chen				regulator-boot-on;
1221e28037eSJoseph Chen				regulator-state-mem {
1231e28037eSJoseph Chen					regulator-on-in-suspend;
1241e28037eSJoseph Chen					regulator-suspend-microvolt = <1000000>;
1251e28037eSJoseph Chen				};
1261e28037eSJoseph Chen			};
1271e28037eSJoseph Chen
1281e28037eSJoseph Chen			vdd_arm: DCDC_REG2 {
1291e28037eSJoseph Chen				regulator-name = "vdd_arm";
1301e28037eSJoseph Chen				regulator-min-microvolt = <712500>;
1311e28037eSJoseph Chen				regulator-max-microvolt = <1450000>;
1321e28037eSJoseph Chen				regulator-always-on;
1331e28037eSJoseph Chen				regulator-boot-on;
1341e28037eSJoseph Chen				regulator-state-mem {
1351e28037eSJoseph Chen					regulator-on-in-suspend;
1361e28037eSJoseph Chen					regulator-suspend-microvolt = <950000>;
1371e28037eSJoseph Chen				};
1381e28037eSJoseph Chen			};
1391e28037eSJoseph Chen
1401e28037eSJoseph Chen			vcc_ddr: DCDC_REG3 {
1411e28037eSJoseph Chen				regulator-name = "vcc_ddr";
1421e28037eSJoseph Chen				regulator-always-on;
1431e28037eSJoseph Chen				regulator-boot-on;
1441e28037eSJoseph Chen				regulator-state-mem {
1451e28037eSJoseph Chen					regulator-on-in-suspend;
1461e28037eSJoseph Chen				};
1471e28037eSJoseph Chen			};
1481e28037eSJoseph Chen
1491e28037eSJoseph Chen			vcc_io: DCDC_REG4 {
1501e28037eSJoseph Chen				regulator-name = "vcc_io";
1511e28037eSJoseph Chen				regulator-min-microvolt = <3300000>;
1521e28037eSJoseph Chen				regulator-max-microvolt = <3300000>;
1531e28037eSJoseph Chen				regulator-always-on;
1541e28037eSJoseph Chen				regulator-boot-on;
1551e28037eSJoseph Chen				regulator-state-mem {
1561e28037eSJoseph Chen					regulator-on-in-suspend;
1571e28037eSJoseph Chen					regulator-suspend-microvolt = <3300000>;
1581e28037eSJoseph Chen				};
1591e28037eSJoseph Chen			};
1601e28037eSJoseph Chen
1611e28037eSJoseph Chen			vcc_18: LDO_REG1 {
1621e28037eSJoseph Chen				regulator-name = "vcc_18";
1631e28037eSJoseph Chen				regulator-min-microvolt = <1800000>;
1641e28037eSJoseph Chen				regulator-max-microvolt = <1800000>;
1651e28037eSJoseph Chen				regulator-always-on;
1661e28037eSJoseph Chen				regulator-boot-on;
1671e28037eSJoseph Chen				regulator-state-mem {
1681e28037eSJoseph Chen					regulator-on-in-suspend;
1691e28037eSJoseph Chen					regulator-suspend-microvolt = <1800000>;
1701e28037eSJoseph Chen				};
1711e28037eSJoseph Chen			};
1721e28037eSJoseph Chen
1731e28037eSJoseph Chen			vcc18_emmc: LDO_REG2 {
1741e28037eSJoseph Chen				regulator-name = "vcc18_emmc";
1751e28037eSJoseph Chen				regulator-min-microvolt = <1800000>;
1761e28037eSJoseph Chen				regulator-max-microvolt = <1800000>;
1771e28037eSJoseph Chen				regulator-always-on;
1781e28037eSJoseph Chen				regulator-boot-on;
1791e28037eSJoseph Chen				regulator-state-mem {
1801e28037eSJoseph Chen					regulator-on-in-suspend;
1811e28037eSJoseph Chen					regulator-suspend-microvolt = <1800000>;
1821e28037eSJoseph Chen				};
1831e28037eSJoseph Chen			};
1841e28037eSJoseph Chen
1851e28037eSJoseph Chen			vdd_10: LDO_REG3 {
1861e28037eSJoseph Chen				regulator-name = "vdd_10";
1871e28037eSJoseph Chen				regulator-min-microvolt = <1000000>;
1881e28037eSJoseph Chen				regulator-max-microvolt = <1000000>;
1891e28037eSJoseph Chen				regulator-always-on;
1901e28037eSJoseph Chen				regulator-boot-on;
1911e28037eSJoseph Chen				regulator-state-mem {
1921e28037eSJoseph Chen					regulator-on-in-suspend;
1931e28037eSJoseph Chen					regulator-suspend-microvolt = <1000000>;
1941e28037eSJoseph Chen				};
1951e28037eSJoseph Chen			};
1961e28037eSJoseph Chen		};
1971e28037eSJoseph Chen	};
1981e28037eSJoseph Chen};
1991e28037eSJoseph Chen
2001e28037eSJoseph Chen&pinctrl {
2011e28037eSJoseph Chen	pmic {
2021e28037eSJoseph Chen		pmic_int_l: pmic-int-l {
2031e28037eSJoseph Chen			rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
2041e28037eSJoseph Chen		};
2051e28037eSJoseph Chen	};
206b9299452SLiang Chen
207b9299452SLiang Chen	sdio-pwrseq {
208b9299452SLiang Chen		wifi_enable_h: wifi-enable-h {
209b9299452SLiang Chen		rockchip,pins =
210d64420e8SHeiko Stuebner			<1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
211b9299452SLiang Chen		};
212b9299452SLiang Chen	};
213b9299452SLiang Chen};
214b9299452SLiang Chen
215b9299452SLiang Chen&sdio {
216b9299452SLiang Chen	bus-width = <4>;
217b9299452SLiang Chen	cap-sd-highspeed;
218b9299452SLiang Chen	cap-sdio-irq;
219b9299452SLiang Chen	keep-power-in-suspend;
220b9299452SLiang Chen	max-frequency = <150000000>;
221b9299452SLiang Chen	mmc-pwrseq = <&sdio_pwrseq>;
222b9299452SLiang Chen	non-removable;
223b9299452SLiang Chen	pinctrl-names = "default";
224b9299452SLiang Chen	pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>;
225b9299452SLiang Chen	status = "okay";
226b9299452SLiang Chen};
227b9299452SLiang Chen
228b9299452SLiang Chen&sdmmc {
229b9299452SLiang Chen	bus-width = <4>;
230b9299452SLiang Chen	cap-mmc-highspeed;
231b9299452SLiang Chen	cap-sd-highspeed;
232b9299452SLiang Chen	disable-wp;
233b9299452SLiang Chen	max-frequency = <150000000>;
234b9299452SLiang Chen	pinctrl-names = "default";
235b9299452SLiang Chen	pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
236b9299452SLiang Chen	vmmc-supply = <&vcc_sd>;
237b9299452SLiang Chen	status = "okay";
2380c1f8546SLiang Chen};
2390c1f8546SLiang Chen
240ab78718bSRocky Hao&tsadc {
241ab78718bSRocky Hao	status = "okay";
242ab78718bSRocky Hao};
243ab78718bSRocky Hao
2440c1f8546SLiang Chen&uart2 {
2450c1f8546SLiang Chen	status = "okay";
2460c1f8546SLiang Chen};
247d4446793SWilliam Wu
248d4446793SWilliam Wu&u2phy {
249d4446793SWilliam Wu	status = "okay";
250d4446793SWilliam Wu};
251d4446793SWilliam Wu
252d4446793SWilliam Wu&u2phy_host {
253d4446793SWilliam Wu	status = "okay";
254d4446793SWilliam Wu};
255d4446793SWilliam Wu
256d4446793SWilliam Wu&u2phy_otg {
257d4446793SWilliam Wu	status = "okay";
258d4446793SWilliam Wu};
259d4446793SWilliam Wu
260d4446793SWilliam Wu&usb20_otg {
261d4446793SWilliam Wu	status = "okay";
262d4446793SWilliam Wu};
263d4446793SWilliam Wu
264d4446793SWilliam Wu&usb_host0_ehci {
265d4446793SWilliam Wu	status = "okay";
266d4446793SWilliam Wu};
267d4446793SWilliam Wu
268d4446793SWilliam Wu&usb_host0_ohci {
269d4446793SWilliam Wu	status = "okay";
270d4446793SWilliam Wu};
271