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