1/* 2 * This file is dual-licensed: you can use it either under the terms 3 * of the GPL or the X11 license, at your option. Note that this dual 4 * licensing only applies to this file, and not this project as a 5 * whole. 6 * 7 * a) This file is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License as 9 * published by the Free Software Foundation; either version 2 of the 10 * License, or (at your option) any later version. 11 * 12 * This file is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * Or, alternatively, 18 * 19 * b) Permission is hereby granted, free of charge, to any person 20 * obtaining a copy of this software and associated documentation 21 * files (the "Software"), to deal in the Software without 22 * restriction, including without limitation the rights to use, 23 * copy, modify, merge, publish, distribute, sublicense, and/or 24 * sell copies of the Software, and to permit persons to whom the 25 * Software is furnished to do so, subject to the following 26 * conditions: 27 * 28 * The above copyright notice and this permission notice shall be 29 * included in all copies or substantial portions of the Software. 30 * 31 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 32 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 33 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 34 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 35 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 36 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 37 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 38 * OTHER DEALINGS IN THE SOFTWARE. 39 */ 40 41/dts-v1/; 42 43#include "rk3288.dtsi" 44 45/ { 46 model = "Rockchip RK3288 Fennec Board"; 47 compatible = "rockchip,rk3288-fennec", "rockchip,rk3288"; 48 49 memory@0 { 50 reg = <0x0 0x0 0x0 0x80000000>; 51 device_type = "memory"; 52 }; 53 54 ext_gmac: external-gmac-clock { 55 compatible = "fixed-clock"; 56 #clock-cells = <0>; 57 clock-frequency = <125000000>; 58 clock-output-names = "ext_gmac"; 59 }; 60 61 vcc_sys: vsys-regulator { 62 compatible = "regulator-fixed"; 63 regulator-name = "vcc_sys"; 64 regulator-min-microvolt = <5000000>; 65 regulator-max-microvolt = <5000000>; 66 regulator-always-on; 67 regulator-boot-on; 68 }; 69}; 70 71&cpu0 { 72 cpu0-supply = <&vdd_cpu>; 73}; 74 75&emmc { 76 bus-width = <8>; 77 cap-mmc-highspeed; 78 disable-wp; 79 non-removable; 80 pinctrl-names = "default"; 81 pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_pwr &emmc_bus8>; 82 status = "okay"; 83}; 84 85&gmac { 86 assigned-clocks = <&cru SCLK_MAC>; 87 assigned-clock-parents = <&ext_gmac>; 88 clock_in_out = "input"; 89 pinctrl-names = "default"; 90 pinctrl-0 = <&rgmii_pins>, <&phy_rst>, <&phy_pmeb>, <&phy_int>; 91 phy-supply = <&vcc_lan>; 92 phy-mode = "rgmii"; 93 snps,reset-active-low; 94 snps,reset-delays-us = <0 10000 1000000>; 95 snps,reset-gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_LOW>; 96 tx_delay = <0x30>; 97 rx_delay = <0x10>; 98 status = "okay"; 99}; 100 101&gpu { 102 mali-supply = <&vdd_gpu>; 103 status = "okay"; 104}; 105 106&hdmi { 107 status = "okay"; 108}; 109 110&i2c0 { 111 status = "okay"; 112 clock-frequency = <400000>; 113 114 rk808: pmic@1b { 115 compatible = "rockchip,rk808"; 116 reg = <0x1b>; 117 interrupt-parent = <&gpio0>; 118 interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>; 119 #clock-cells = <1>; 120 clock-output-names = "xin32k", "rk808-clkout2"; 121 pinctrl-names = "default"; 122 pinctrl-0 = <&pmic_int &global_pwroff>; 123 rockchip,system-power-controller; 124 wakeup-source; 125 126 vcc1-supply = <&vcc_sys>; 127 vcc2-supply = <&vcc_sys>; 128 vcc3-supply = <&vcc_sys>; 129 vcc4-supply = <&vcc_sys>; 130 vcc6-supply = <&vcc_sys>; 131 vcc7-supply = <&vcc_sys>; 132 vcc8-supply = <&vcc_io>; 133 vcc9-supply = <&vcc_io>; 134 vcc10-supply = <&vcc_io>; 135 vcc11-supply = <&vcc_io>; 136 vcc12-supply = <&vcc_io>; 137 vddio-supply = <&vcc_io>; 138 139 regulators { 140 vdd_cpu: DCDC_REG1 { 141 regulator-always-on; 142 regulator-boot-on; 143 regulator-min-microvolt = <750000>; 144 regulator-max-microvolt = <1350000>; 145 regulator-name = "vdd_arm"; 146 regulator-state-mem { 147 regulator-off-in-suspend; 148 }; 149 }; 150 151 vdd_gpu: DCDC_REG2 { 152 regulator-always-on; 153 regulator-boot-on; 154 regulator-min-microvolt = <850000>; 155 regulator-max-microvolt = <1250000>; 156 regulator-name = "vdd_gpu"; 157 regulator-state-mem { 158 regulator-on-in-suspend; 159 regulator-suspend-microvolt = <1000000>; 160 }; 161 }; 162 163 vcc_ddr: DCDC_REG3 { 164 regulator-always-on; 165 regulator-boot-on; 166 regulator-name = "vcc_ddr"; 167 regulator-state-mem { 168 regulator-on-in-suspend; 169 }; 170 }; 171 172 vcc_io: DCDC_REG4 { 173 regulator-always-on; 174 regulator-boot-on; 175 regulator-min-microvolt = <3300000>; 176 regulator-max-microvolt = <3300000>; 177 regulator-name = "vcc_io"; 178 regulator-state-mem { 179 regulator-on-in-suspend; 180 regulator-suspend-microvolt = <3300000>; 181 }; 182 }; 183 184 vccio_pmu: LDO_REG1 { 185 regulator-always-on; 186 regulator-boot-on; 187 regulator-min-microvolt = <3300000>; 188 regulator-max-microvolt = <3300000>; 189 regulator-name = "vccio_pmu"; 190 regulator-state-mem { 191 regulator-on-in-suspend; 192 regulator-suspend-microvolt = <3300000>; 193 }; 194 }; 195 196 vcca_33: LDO_REG2 { 197 regulator-always-on; 198 regulator-boot-on; 199 regulator-min-microvolt = <3300000>; 200 regulator-max-microvolt = <3300000>; 201 regulator-name = "vcca_33"; 202 regulator-state-mem { 203 regulator-off-in-suspend; 204 }; 205 }; 206 207 vdd_10: LDO_REG3 { 208 regulator-always-on; 209 regulator-boot-on; 210 regulator-min-microvolt = <1000000>; 211 regulator-max-microvolt = <1000000>; 212 regulator-name = "vdd_10"; 213 regulator-state-mem { 214 regulator-on-in-suspend; 215 regulator-suspend-microvolt = <1000000>; 216 }; 217 }; 218 219 vcc_wl: LDO_REG4 { 220 regulator-always-on; 221 regulator-boot-on; 222 regulator-min-microvolt = <1800000>; 223 regulator-max-microvolt = <1800000>; 224 regulator-name = "vcc_wl"; 225 regulator-state-mem { 226 regulator-on-in-suspend; 227 regulator-suspend-microvolt = <1800000>; 228 }; 229 }; 230 231 vccio_sd: LDO_REG5 { 232 regulator-always-on; 233 regulator-boot-on; 234 regulator-min-microvolt = <1800000>; 235 regulator-max-microvolt = <3300000>; 236 regulator-name = "vccio_sd"; 237 regulator-state-mem { 238 regulator-on-in-suspend; 239 regulator-suspend-microvolt = <3300000>; 240 }; 241 }; 242 243 vdd10_lcd: LDO_REG6 { 244 regulator-always-on; 245 regulator-boot-on; 246 regulator-min-microvolt = <1000000>; 247 regulator-max-microvolt = <1000000>; 248 regulator-name = "vdd10_lcd"; 249 regulator-state-mem { 250 regulator-on-in-suspend; 251 regulator-suspend-microvolt = <1000000>; 252 }; 253 }; 254 255 vcc_18: LDO_REG7 { 256 regulator-always-on; 257 regulator-boot-on; 258 regulator-min-microvolt = <1800000>; 259 regulator-max-microvolt = <1800000>; 260 regulator-name = "vcc_18"; 261 regulator-state-mem { 262 regulator-on-in-suspend; 263 regulator-suspend-microvolt = <1800000>; 264 }; 265 }; 266 267 vcc18_lcd: LDO_REG8 { 268 regulator-always-on; 269 regulator-boot-on; 270 regulator-min-microvolt = <1800000>; 271 regulator-max-microvolt = <1800000>; 272 regulator-name = "vcc18_lcd"; 273 regulator-state-mem { 274 regulator-on-in-suspend; 275 regulator-suspend-microvolt = <1800000>; 276 }; 277 }; 278 279 vcc_sd: SWITCH_REG1 { 280 regulator-always-on; 281 regulator-boot-on; 282 regulator-name = "vcc_sd"; 283 regulator-state-mem { 284 regulator-on-in-suspend; 285 }; 286 }; 287 288 vcc_lan: SWITCH_REG2 { 289 regulator-always-on; 290 regulator-boot-on; 291 regulator-name = "vcc_lan"; 292 regulator-state-mem { 293 regulator-on-in-suspend; 294 }; 295 }; 296 }; 297 }; 298}; 299 300&pinctrl { 301 pcfg_output_high: pcfg-output-high { 302 output-high; 303 }; 304 305 pcfg_output_low: pcfg-output-low { 306 output-low; 307 }; 308 309 pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma { 310 drive-strength = <8>; 311 }; 312 313 pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma { 314 bias-pull-up; 315 drive-strength = <8>; 316 }; 317 318 gmac { 319 phy_int: phy-int { 320 rockchip,pins = <0 9 RK_FUNC_GPIO &pcfg_pull_up>; 321 }; 322 323 phy_pmeb: phy-pmeb { 324 rockchip,pins = <0 8 RK_FUNC_GPIO &pcfg_pull_up>; 325 }; 326 327 phy_rst: phy-rst { 328 rockchip,pins = <4 8 RK_FUNC_GPIO &pcfg_output_high>; 329 }; 330 }; 331 332 pmic { 333 pmic_int: pmic-int { 334 rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>; 335 }; 336 }; 337 338 usbphy { 339 host_drv: host-drv { 340 rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>; 341 }; 342 }; 343}; 344 345&uart2 { 346 status = "okay"; 347}; 348 349&usbphy { 350 pinctrl-names = "default"; 351 pinctrl-0 = <&host_drv>; 352 vbus_drv-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>; 353 status = "okay"; 354}; 355 356&usb_host0_ehci { 357 status = "okay"; 358}; 359 360&usb_host1 { 361 status = "okay"; 362}; 363 364&usb_otg { 365 status = "okay"; 366}; 367 368&usb_hsic { 369 status = "okay"; 370}; 371 372&vopb { 373 status = "okay"; 374}; 375 376&vopb_mmu { 377 status = "okay"; 378}; 379 380&vopl { 381 status = "okay"; 382}; 383 384&vopl_mmu { 385 status = "okay"; 386}; 387