xref: /linux/arch/arm64/boot/dts/rockchip/rk3328-evb.dts (revision fae7ee435d40204b315f27f678f9607a16fcc362)
10c1f8546SLiang Chen/*
20c1f8546SLiang Chen * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd
30c1f8546SLiang Chen *
40c1f8546SLiang Chen * This file is dual-licensed: you can use it either under the terms
50c1f8546SLiang Chen * of the GPL or the X11 license, at your option. Note that this dual
60c1f8546SLiang Chen * licensing only applies to this file, and not this project as a
70c1f8546SLiang Chen * whole.
80c1f8546SLiang Chen *
90c1f8546SLiang Chen *  a) This library is free software; you can redistribute it and/or
100c1f8546SLiang Chen *     modify it under the terms of the GNU General Public License as
110c1f8546SLiang Chen *     published by the Free Software Foundation; either version 2 of the
120c1f8546SLiang Chen *     License, or (at your option) any later version.
130c1f8546SLiang Chen *
140c1f8546SLiang Chen *     This library is distributed in the hope that it will be useful,
150c1f8546SLiang Chen *     but WITHOUT ANY WARRANTY; without even the implied warranty of
160c1f8546SLiang Chen *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
170c1f8546SLiang Chen *     GNU General Public License for more details.
180c1f8546SLiang Chen *
190c1f8546SLiang Chen * Or, alternatively,
200c1f8546SLiang Chen *
210c1f8546SLiang Chen *  b) Permission is hereby granted, free of charge, to any person
220c1f8546SLiang Chen *     obtaining a copy of this software and associated documentation
230c1f8546SLiang Chen *     files (the "Software"), to deal in the Software without
240c1f8546SLiang Chen *     restriction, including without limitation the rights to use,
250c1f8546SLiang Chen *     copy, modify, merge, publish, distribute, sublicense, and/or
260c1f8546SLiang Chen *     sell copies of the Software, and to permit persons to whom the
270c1f8546SLiang Chen *     Software is furnished to do so, subject to the following
280c1f8546SLiang Chen *     conditions:
290c1f8546SLiang Chen *
300c1f8546SLiang Chen *     The above copyright notice and this permission notice shall be
310c1f8546SLiang Chen *     included in all copies or substantial portions of the Software.
320c1f8546SLiang Chen *
330c1f8546SLiang Chen *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
340c1f8546SLiang Chen *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
350c1f8546SLiang Chen *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
360c1f8546SLiang Chen *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
370c1f8546SLiang Chen *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
380c1f8546SLiang Chen *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
390c1f8546SLiang Chen *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
400c1f8546SLiang Chen *     OTHER DEALINGS IN THE SOFTWARE.
410c1f8546SLiang Chen */
420c1f8546SLiang Chen
430c1f8546SLiang Chen/dts-v1/;
440c1f8546SLiang Chen#include "rk3328.dtsi"
450c1f8546SLiang Chen
460c1f8546SLiang Chen/ {
470c1f8546SLiang Chen	model = "Rockchip RK3328 EVB";
480c1f8546SLiang Chen	compatible = "rockchip,rk3328-evb", "rockchip,rk3328";
490c1f8546SLiang Chen
500c1f8546SLiang Chen	chosen {
510c1f8546SLiang Chen		stdout-path = "serial2:1500000n8";
520c1f8546SLiang Chen	};
534b05bc61SDavid Wu
541e28037eSJoseph Chen	dc_12v: dc-12v {
551e28037eSJoseph Chen		compatible = "regulator-fixed";
561e28037eSJoseph Chen		regulator-name = "dc_12v";
571e28037eSJoseph Chen		regulator-always-on;
581e28037eSJoseph Chen		regulator-boot-on;
591e28037eSJoseph Chen		regulator-min-microvolt = <12000000>;
601e28037eSJoseph Chen		regulator-max-microvolt = <12000000>;
611e28037eSJoseph Chen	};
621e28037eSJoseph Chen
63b9299452SLiang Chen	sdio_pwrseq: sdio-pwrseq {
64b9299452SLiang Chen		compatible = "mmc-pwrseq-simple";
65b9299452SLiang Chen		pinctrl-names = "default";
66b9299452SLiang Chen		pinctrl-0 = <&wifi_enable_h>;
67b9299452SLiang Chen
68b9299452SLiang Chen		/*
69b9299452SLiang Chen		 * On the module itself this is one of these (depending
70b9299452SLiang Chen		 * on the actual card populated):
71b9299452SLiang Chen		 * - SDIO_RESET_L_WL_REG_ON
72b9299452SLiang Chen		 * - PDN (power down when low)
73b9299452SLiang Chen		 */
74b9299452SLiang Chen		reset-gpios = <&gpio1 18 GPIO_ACTIVE_LOW>;
75b9299452SLiang Chen	};
76b9299452SLiang Chen
77b9299452SLiang Chen	vcc_sd: sdmmc-regulator {
78b9299452SLiang Chen		compatible = "regulator-fixed";
79b9299452SLiang Chen		gpio = <&gpio0 30 GPIO_ACTIVE_LOW>;
80b9299452SLiang Chen		pinctrl-names = "default";
81b9299452SLiang Chen		pinctrl-0 = <&sdmmc0m1_gpio>;
82b9299452SLiang Chen		regulator-name = "vcc_sd";
83b9299452SLiang Chen		regulator-min-microvolt = <3300000>;
84b9299452SLiang Chen		regulator-max-microvolt = <3300000>;
85b9299452SLiang Chen		vin-supply = <&vcc_io>;
86b9299452SLiang Chen	};
87b9299452SLiang Chen
881e28037eSJoseph Chen	vcc_sys: vcc-sys {
891e28037eSJoseph Chen		compatible = "regulator-fixed";
901e28037eSJoseph Chen		regulator-name = "vcc_sys";
911e28037eSJoseph Chen		regulator-always-on;
921e28037eSJoseph Chen		regulator-boot-on;
931e28037eSJoseph Chen		regulator-min-microvolt = <5000000>;
941e28037eSJoseph Chen		regulator-max-microvolt = <5000000>;
951e28037eSJoseph Chen		vin-supply = <&dc_12v>;
961e28037eSJoseph Chen	};
97e90937e7SLinus Torvalds
984b05bc61SDavid Wu	vcc_phy: vcc-phy-regulator {
994b05bc61SDavid Wu		compatible = "regulator-fixed";
1004b05bc61SDavid Wu		regulator-name = "vcc_phy";
1014b05bc61SDavid Wu		regulator-always-on;
1024b05bc61SDavid Wu		regulator-boot-on;
1034b05bc61SDavid Wu	};
1044b05bc61SDavid Wu};
1054b05bc61SDavid Wu
106*fae7ee43SLiang Chen&cpu0 {
107*fae7ee43SLiang Chen	cpu-supply = <&vdd_arm>;
108*fae7ee43SLiang Chen};
109*fae7ee43SLiang Chen
110b9299452SLiang Chen&emmc {
111b9299452SLiang Chen	bus-width = <8>;
112b9299452SLiang Chen	cap-mmc-highspeed;
113b9299452SLiang Chen	non-removable;
114b9299452SLiang Chen	pinctrl-names = "default";
115b9299452SLiang Chen	pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
116b9299452SLiang Chen	status = "okay";
117b9299452SLiang Chen};
118b9299452SLiang Chen
1194b05bc61SDavid Wu&gmac2phy {
1204b05bc61SDavid Wu	phy-supply = <&vcc_phy>;
1214b05bc61SDavid Wu	clock_in_out = "output";
1224b05bc61SDavid Wu	assigned-clocks = <&cru SCLK_MAC2PHY_SRC>;
1234b05bc61SDavid Wu	assigned-clock-rate = <50000000>;
1244b05bc61SDavid Wu	assigned-clocks = <&cru SCLK_MAC2PHY>;
1254b05bc61SDavid Wu	assigned-clock-parents = <&cru SCLK_MAC2PHY_SRC>;
126b9299452SLiang Chen
1270c1f8546SLiang Chen};
1280c1f8546SLiang Chen
1291e28037eSJoseph Chen&i2c1 {
1301e28037eSJoseph Chen	status = "okay";
1311e28037eSJoseph Chen
1321e28037eSJoseph Chen	rk805: rk805@18 {
1331e28037eSJoseph Chen		compatible = "rockchip,rk805";
1341e28037eSJoseph Chen		reg = <0x18>;
1351e28037eSJoseph Chen		interrupt-parent = <&gpio2>;
1361e28037eSJoseph Chen		interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
1371e28037eSJoseph Chen		#clock-cells = <1>;
1381e28037eSJoseph Chen		clock-output-names = "xin32k", "rk805-clkout2";
1391e28037eSJoseph Chen		gpio-controller;
1401e28037eSJoseph Chen		#gpio-cells = <2>;
1411e28037eSJoseph Chen		pinctrl-names = "default";
1421e28037eSJoseph Chen		pinctrl-0 = <&pmic_int_l>;
1431e28037eSJoseph Chen		rockchip,system-power-controller;
1441e28037eSJoseph Chen		wakeup-source;
1451e28037eSJoseph Chen
1461e28037eSJoseph Chen		vcc1-supply = <&vcc_sys>;
1471e28037eSJoseph Chen		vcc2-supply = <&vcc_sys>;
1481e28037eSJoseph Chen		vcc3-supply = <&vcc_sys>;
1491e28037eSJoseph Chen		vcc4-supply = <&vcc_sys>;
1501e28037eSJoseph Chen		vcc5-supply = <&vcc_io>;
1511e28037eSJoseph Chen		vcc6-supply = <&vcc_io>;
1521e28037eSJoseph Chen
1531e28037eSJoseph Chen		regulators {
1541e28037eSJoseph Chen			vdd_logic: DCDC_REG1 {
1551e28037eSJoseph Chen				regulator-name = "vdd_logic";
1561e28037eSJoseph Chen				regulator-min-microvolt = <712500>;
1571e28037eSJoseph Chen				regulator-max-microvolt = <1450000>;
1581e28037eSJoseph Chen				regulator-always-on;
1591e28037eSJoseph Chen				regulator-boot-on;
1601e28037eSJoseph Chen				regulator-state-mem {
1611e28037eSJoseph Chen					regulator-on-in-suspend;
1621e28037eSJoseph Chen					regulator-suspend-microvolt = <1000000>;
1631e28037eSJoseph Chen				};
1641e28037eSJoseph Chen			};
1651e28037eSJoseph Chen
1661e28037eSJoseph Chen			vdd_arm: DCDC_REG2 {
1671e28037eSJoseph Chen				regulator-name = "vdd_arm";
1681e28037eSJoseph Chen				regulator-min-microvolt = <712500>;
1691e28037eSJoseph Chen				regulator-max-microvolt = <1450000>;
1701e28037eSJoseph Chen				regulator-always-on;
1711e28037eSJoseph Chen				regulator-boot-on;
1721e28037eSJoseph Chen				regulator-state-mem {
1731e28037eSJoseph Chen					regulator-on-in-suspend;
1741e28037eSJoseph Chen					regulator-suspend-microvolt = <950000>;
1751e28037eSJoseph Chen				};
1761e28037eSJoseph Chen			};
1771e28037eSJoseph Chen
1781e28037eSJoseph Chen			vcc_ddr: DCDC_REG3 {
1791e28037eSJoseph Chen				regulator-name = "vcc_ddr";
1801e28037eSJoseph Chen				regulator-always-on;
1811e28037eSJoseph Chen				regulator-boot-on;
1821e28037eSJoseph Chen				regulator-state-mem {
1831e28037eSJoseph Chen					regulator-on-in-suspend;
1841e28037eSJoseph Chen				};
1851e28037eSJoseph Chen			};
1861e28037eSJoseph Chen
1871e28037eSJoseph Chen			vcc_io: DCDC_REG4 {
1881e28037eSJoseph Chen				regulator-name = "vcc_io";
1891e28037eSJoseph Chen				regulator-min-microvolt = <3300000>;
1901e28037eSJoseph Chen				regulator-max-microvolt = <3300000>;
1911e28037eSJoseph Chen				regulator-always-on;
1921e28037eSJoseph Chen				regulator-boot-on;
1931e28037eSJoseph Chen				regulator-state-mem {
1941e28037eSJoseph Chen					regulator-on-in-suspend;
1951e28037eSJoseph Chen					regulator-suspend-microvolt = <3300000>;
1961e28037eSJoseph Chen				};
1971e28037eSJoseph Chen			};
1981e28037eSJoseph Chen
1991e28037eSJoseph Chen			vcc_18: LDO_REG1 {
2001e28037eSJoseph Chen				regulator-name = "vcc_18";
2011e28037eSJoseph Chen				regulator-min-microvolt = <1800000>;
2021e28037eSJoseph Chen				regulator-max-microvolt = <1800000>;
2031e28037eSJoseph Chen				regulator-always-on;
2041e28037eSJoseph Chen				regulator-boot-on;
2051e28037eSJoseph Chen				regulator-state-mem {
2061e28037eSJoseph Chen					regulator-on-in-suspend;
2071e28037eSJoseph Chen					regulator-suspend-microvolt = <1800000>;
2081e28037eSJoseph Chen				};
2091e28037eSJoseph Chen			};
2101e28037eSJoseph Chen
2111e28037eSJoseph Chen			vcc18_emmc: LDO_REG2 {
2121e28037eSJoseph Chen				regulator-name = "vcc18_emmc";
2131e28037eSJoseph Chen				regulator-min-microvolt = <1800000>;
2141e28037eSJoseph Chen				regulator-max-microvolt = <1800000>;
2151e28037eSJoseph Chen				regulator-always-on;
2161e28037eSJoseph Chen				regulator-boot-on;
2171e28037eSJoseph Chen				regulator-state-mem {
2181e28037eSJoseph Chen					regulator-on-in-suspend;
2191e28037eSJoseph Chen					regulator-suspend-microvolt = <1800000>;
2201e28037eSJoseph Chen				};
2211e28037eSJoseph Chen			};
2221e28037eSJoseph Chen
2231e28037eSJoseph Chen			vdd_10: LDO_REG3 {
2241e28037eSJoseph Chen				regulator-name = "vdd_10";
2251e28037eSJoseph Chen				regulator-min-microvolt = <1000000>;
2261e28037eSJoseph Chen				regulator-max-microvolt = <1000000>;
2271e28037eSJoseph Chen				regulator-always-on;
2281e28037eSJoseph Chen				regulator-boot-on;
2291e28037eSJoseph Chen				regulator-state-mem {
2301e28037eSJoseph Chen					regulator-on-in-suspend;
2311e28037eSJoseph Chen					regulator-suspend-microvolt = <1000000>;
2321e28037eSJoseph Chen				};
2331e28037eSJoseph Chen			};
2341e28037eSJoseph Chen		};
2351e28037eSJoseph Chen	};
2361e28037eSJoseph Chen};
2371e28037eSJoseph Chen
2381e28037eSJoseph Chen&pinctrl {
2391e28037eSJoseph Chen	pmic {
2401e28037eSJoseph Chen		pmic_int_l: pmic-int-l {
2411e28037eSJoseph Chen			rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
2421e28037eSJoseph Chen		};
2431e28037eSJoseph Chen	};
244b9299452SLiang Chen
245b9299452SLiang Chen	sdio-pwrseq {
246b9299452SLiang Chen		wifi_enable_h: wifi-enable-h {
247b9299452SLiang Chen		rockchip,pins =
248b9299452SLiang Chen			<1 18 RK_FUNC_GPIO &pcfg_pull_none>;
249b9299452SLiang Chen		};
250b9299452SLiang Chen	};
251b9299452SLiang Chen};
252b9299452SLiang Chen
253b9299452SLiang Chen&sdio {
254b9299452SLiang Chen	bus-width = <4>;
255b9299452SLiang Chen	cap-sd-highspeed;
256b9299452SLiang Chen	cap-sdio-irq;
257b9299452SLiang Chen	keep-power-in-suspend;
258b9299452SLiang Chen	max-frequency = <150000000>;
259b9299452SLiang Chen	mmc-pwrseq = <&sdio_pwrseq>;
260b9299452SLiang Chen	non-removable;
261b9299452SLiang Chen	pinctrl-names = "default";
262b9299452SLiang Chen	pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>;
263b9299452SLiang Chen	status = "okay";
264b9299452SLiang Chen};
265b9299452SLiang Chen
266b9299452SLiang Chen&sdmmc {
267b9299452SLiang Chen	bus-width = <4>;
268b9299452SLiang Chen	cap-mmc-highspeed;
269b9299452SLiang Chen	cap-sd-highspeed;
270b9299452SLiang Chen	disable-wp;
271b9299452SLiang Chen	max-frequency = <150000000>;
272b9299452SLiang Chen	pinctrl-names = "default";
273b9299452SLiang Chen	pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
274b9299452SLiang Chen	vmmc-supply = <&vcc_sd>;
275b9299452SLiang Chen	status = "okay";
2760c1f8546SLiang Chen};
2770c1f8546SLiang Chen
278ab78718bSRocky Hao&tsadc {
279ab78718bSRocky Hao	status = "okay";
280ab78718bSRocky Hao};
281ab78718bSRocky Hao
2820c1f8546SLiang Chen&uart2 {
2830c1f8546SLiang Chen	status = "okay";
2840c1f8546SLiang Chen};
285d4446793SWilliam Wu
286d4446793SWilliam Wu&u2phy {
287d4446793SWilliam Wu	status = "okay";
288d4446793SWilliam Wu};
289d4446793SWilliam Wu
290d4446793SWilliam Wu&u2phy_host {
291d4446793SWilliam Wu	status = "okay";
292d4446793SWilliam Wu};
293d4446793SWilliam Wu
294d4446793SWilliam Wu&u2phy_otg {
295d4446793SWilliam Wu	status = "okay";
296d4446793SWilliam Wu};
297d4446793SWilliam Wu
298d4446793SWilliam Wu&usb20_otg {
299d4446793SWilliam Wu	status = "okay";
300d4446793SWilliam Wu};
301d4446793SWilliam Wu
302d4446793SWilliam Wu&usb_host0_ehci {
303d4446793SWilliam Wu	status = "okay";
304d4446793SWilliam Wu};
305d4446793SWilliam Wu
306d4446793SWilliam Wu&usb_host0_ohci {
307d4446793SWilliam Wu	status = "okay";
308d4446793SWilliam Wu};
309