1c19af67fSJagan Teki/* 2c19af67fSJagan Teki * Copyright (C) 2017 Jagan Teki <jagan@amarulasolutions.com> 3c19af67fSJagan Teki * 4c19af67fSJagan Teki * This file is dual-licensed: you can use it either under the terms 5c19af67fSJagan Teki * of the GPL or the X11 license, at your option. Note that this dual 6c19af67fSJagan Teki * licensing only applies to this file, and not this project as a 7c19af67fSJagan Teki * whole. 8c19af67fSJagan Teki * 9c19af67fSJagan Teki * a) This file is free software; you can redistribute it and/or 10c19af67fSJagan Teki * modify it under the terms of the GNU General Public License as 11c19af67fSJagan Teki * published by the Free Software Foundation; either version 2 of the 12c19af67fSJagan Teki * License, or (at your option) any later version. 13c19af67fSJagan Teki * 14c19af67fSJagan Teki * This file is distributed in the hope that it will be useful, 15c19af67fSJagan Teki * but WITHOUT ANY WARRANTY; without even the implied warranty of 16c19af67fSJagan Teki * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17c19af67fSJagan Teki * GNU General Public License for more details. 18c19af67fSJagan Teki * 19c19af67fSJagan Teki * Or, alternatively, 20c19af67fSJagan Teki * 21c19af67fSJagan Teki * b) Permission is hereby granted, free of charge, to any person 22c19af67fSJagan Teki * obtaining a copy of this software and associated documentation 23c19af67fSJagan Teki * files (the "Software"), to deal in the Software without 24c19af67fSJagan Teki * restriction, including without limitation the rights to use, 25c19af67fSJagan Teki * copy, modify, merge, publish, distribute, sublicense, and/or 26c19af67fSJagan Teki * sell copies of the Software, and to permit persons to whom the 27c19af67fSJagan Teki * Software is furnished to do so, subject to the following 28c19af67fSJagan Teki * conditions: 29c19af67fSJagan Teki * 30c19af67fSJagan Teki * The above copyright notice and this permission notice shall be 31c19af67fSJagan Teki * included in all copies or substantial portions of the Software. 32c19af67fSJagan Teki * 33c19af67fSJagan Teki * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34c19af67fSJagan Teki * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 35c19af67fSJagan Teki * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36c19af67fSJagan Teki * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 37c19af67fSJagan Teki * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 38c19af67fSJagan Teki * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 39c19af67fSJagan Teki * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40c19af67fSJagan Teki * OTHER DEALINGS IN THE SOFTWARE. 41c19af67fSJagan Teki */ 42c19af67fSJagan Teki 43c19af67fSJagan Teki/dts-v1/; 44c19af67fSJagan Teki#include "rk3288.dtsi" 45*c22f479cSJoseph Chen#include "rk3288-u-boot.dtsi" 46c19af67fSJagan Teki 47c19af67fSJagan Teki/ { 48c19af67fSJagan Teki model = "Amarula Vyasa-RK3288"; 49c19af67fSJagan Teki compatible = "amarula,vyasa-rk3288", "rockchip,rk3288"; 50c19af67fSJagan Teki 51c19af67fSJagan Teki chosen { 52c19af67fSJagan Teki stdout-path = &uart2; 53c19af67fSJagan Teki }; 54c19af67fSJagan Teki 55c19af67fSJagan Teki memory { 56c19af67fSJagan Teki device_type = "memory"; 57c19af67fSJagan Teki reg = <0 0x80000000>; 58c19af67fSJagan Teki }; 59c19af67fSJagan Teki 60c19af67fSJagan Teki vcc_sd: sdmmc-regulator { 61c19af67fSJagan Teki compatible = "regulator-fixed"; 62c19af67fSJagan Teki gpio = <&gpio7 RK_PB3 GPIO_ACTIVE_LOW>; 63c19af67fSJagan Teki pinctrl-names = "default"; 64c19af67fSJagan Teki pinctrl-0 = <&sdmmc_pwr>; 65c19af67fSJagan Teki regulator-name = "vcc_sd"; 66c19af67fSJagan Teki regulator-min-microvolt = <3300000>; 67c19af67fSJagan Teki regulator-max-microvolt = <3300000>; 68c19af67fSJagan Teki startup-delay-us = <100000>; 69c19af67fSJagan Teki vin-supply = <&vcc_io>; 70c19af67fSJagan Teki }; 71c19af67fSJagan Teki 72c19af67fSJagan Teki vcc_sys: vsys-regulator { 73c19af67fSJagan Teki compatible = "regulator-fixed"; 74c19af67fSJagan Teki regulator-name = "vcc_sys"; 75c19af67fSJagan Teki regulator-min-microvolt = <5000000>; 76c19af67fSJagan Teki regulator-max-microvolt = <5000000>; 77c19af67fSJagan Teki regulator-always-on; 78c19af67fSJagan Teki regulator-boot-on; 79c19af67fSJagan Teki }; 80c19af67fSJagan Teki}; 81c19af67fSJagan Teki 82c19af67fSJagan Teki&dmc { 83c19af67fSJagan Teki rockchip,pctl-timing = <0x29a 0xc8 0x1f8 0x42 0x4e 0x4 0xea 0xa 84c19af67fSJagan Teki 0x5 0x0 0xa 0x7 0x19 0x24 0xa 0x7 85c19af67fSJagan Teki 0x5 0xa 0x5 0x200 0x5 0x10 0x40 0x0 86c19af67fSJagan Teki 0x1 0x7 0x7 0x4 0xc 0x43 0x100 0x0 87c19af67fSJagan Teki 0x5 0x0>; 88c19af67fSJagan Teki rockchip,phy-timing = <0x48f9aab4 0xea0910 0x1002c200 89c19af67fSJagan Teki 0xa60 0x40 0x10 0x0>; 90c19af67fSJagan Teki /* Add a dummy value to cause of-platdata think this is bytes */ 91c19af67fSJagan Teki rockchip,sdram-params = <0x30B25564 0x627 3 666000000 3 9 1>; 92c19af67fSJagan Teki}; 93c19af67fSJagan Teki 94c19af67fSJagan Teki&cpu0 { 95c19af67fSJagan Teki cpu0-supply = <&vdd_cpu>; 96c19af67fSJagan Teki}; 97c19af67fSJagan Teki 98c19af67fSJagan Teki&i2c0 { 99c19af67fSJagan Teki clock-frequency = <400000>; 100c19af67fSJagan Teki status = "okay"; 101c19af67fSJagan Teki 102c19af67fSJagan Teki rk808: pmic@1b { 103c19af67fSJagan Teki compatible = "rockchip,rk808"; 104c19af67fSJagan Teki reg = <0x1b>; 105c19af67fSJagan Teki interrupt-parent = <&gpio0>; 106c19af67fSJagan Teki interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>; 107c19af67fSJagan Teki pinctrl-names = "default"; 108c19af67fSJagan Teki pinctrl-0 = <&pmic_int &global_pwroff>; 109c19af67fSJagan Teki wakeup-source; 110c19af67fSJagan Teki rockchip,system-power-controller; 111c19af67fSJagan Teki #clock-cells = <1>; 112c19af67fSJagan Teki clock-output-names = "xin32k", "rk808-clkout2"; 113c19af67fSJagan Teki 114c19af67fSJagan Teki vcc1-supply = <&vcc_sys>; 115c19af67fSJagan Teki vcc2-supply = <&vcc_sys>; 116c19af67fSJagan Teki vcc3-supply = <&vcc_sys>; 117c19af67fSJagan Teki vcc4-supply = <&vcc_sys>; 118c19af67fSJagan Teki vcc6-supply = <&vcc_sys>; 119c19af67fSJagan Teki vcc7-supply = <&vcc_sys>; 120c19af67fSJagan Teki vcc8-supply = <&vcc_io>; 121c19af67fSJagan Teki vcc9-supply = <&vcc_sys>; 122c19af67fSJagan Teki vcc10-supply = <&vcc_sys>; 123c19af67fSJagan Teki vcc11-supply = <&vcc_sys>; 124c19af67fSJagan Teki vcc12-supply = <&vcc_io>; 125c19af67fSJagan Teki 126c19af67fSJagan Teki regulators { 127c19af67fSJagan Teki vdd_cpu: vdd_log: DCDC_REG1 { 128c19af67fSJagan Teki regulator-always-on; 129c19af67fSJagan Teki regulator-boot-on; 130c19af67fSJagan Teki regulator-min-microvolt = <750000>; 131c19af67fSJagan Teki regulator-max-microvolt = <1350000>; 132c19af67fSJagan Teki regulator-name = "vdd_log"; 133c19af67fSJagan Teki regulator-state-mem { 134c19af67fSJagan Teki regulator-off-in-suspend; 135c19af67fSJagan Teki }; 136c19af67fSJagan Teki }; 137c19af67fSJagan Teki 138c19af67fSJagan Teki vdd_gpu: DCDC_REG2 { 139c19af67fSJagan Teki regulator-always-on; 140c19af67fSJagan Teki regulator-boot-on; 141c19af67fSJagan Teki regulator-min-microvolt = <850000>; 142c19af67fSJagan Teki regulator-max-microvolt = <1250000>; 143c19af67fSJagan Teki regulator-name = "vdd_gpu"; 144c19af67fSJagan Teki regulator-state-mem { 145c19af67fSJagan Teki regulator-on-in-suspend; 146c19af67fSJagan Teki regulator-suspend-microvolt = <1000000>; 147c19af67fSJagan Teki }; 148c19af67fSJagan Teki }; 149c19af67fSJagan Teki 150c19af67fSJagan Teki vcc_ddr: DCDC_REG3 { 151c19af67fSJagan Teki regulator-always-on; 152c19af67fSJagan Teki regulator-boot-on; 153c19af67fSJagan Teki regulator-name = "vcc_ddr"; 154c19af67fSJagan Teki regulator-state-mem { 155c19af67fSJagan Teki regulator-on-in-suspend; 156c19af67fSJagan Teki }; 157c19af67fSJagan Teki }; 158c19af67fSJagan Teki 159c19af67fSJagan Teki vcc_io: DCDC_REG4 { 160c19af67fSJagan Teki regulator-always-on; 161c19af67fSJagan Teki regulator-boot-on; 162c19af67fSJagan Teki regulator-min-microvolt = <3300000>; 163c19af67fSJagan Teki regulator-max-microvolt = <3300000>; 164c19af67fSJagan Teki regulator-name = "vcc_io"; 165c19af67fSJagan Teki regulator-state-mem { 166c19af67fSJagan Teki regulator-on-in-suspend; 167c19af67fSJagan Teki regulator-suspend-microvolt = <3300000>; 168c19af67fSJagan Teki }; 169c19af67fSJagan Teki }; 170c19af67fSJagan Teki 171c19af67fSJagan Teki vcca_tp: LDO_REG1 { 172c19af67fSJagan Teki regulator-always-on; 173c19af67fSJagan Teki regulator-boot-on; 174c19af67fSJagan Teki regulator-min-microvolt = <3300000>; 175c19af67fSJagan Teki regulator-max-microvolt = <3300000>; 176c19af67fSJagan Teki regulator-name = "vcc_tp"; 177c19af67fSJagan Teki regulator-state-mem { 178c19af67fSJagan Teki regulator-on-in-suspend; 179c19af67fSJagan Teki regulator-suspend-microvolt = <3300000>; 180c19af67fSJagan Teki }; 181c19af67fSJagan Teki }; 182c19af67fSJagan Teki 183c19af67fSJagan Teki vcc_codec: LDO_REG2 { 184c19af67fSJagan Teki regulator-always-on; 185c19af67fSJagan Teki regulator-boot-on; 186c19af67fSJagan Teki regulator-min-microvolt = <3300000>; 187c19af67fSJagan Teki regulator-max-microvolt = <3300000>; 188c19af67fSJagan Teki regulator-name = "vcc_codec"; 189c19af67fSJagan Teki regulator-state-mem { 190c19af67fSJagan Teki regulator-off-in-suspend; 191c19af67fSJagan Teki }; 192c19af67fSJagan Teki }; 193c19af67fSJagan Teki 194c19af67fSJagan Teki vdd_10: LDO_REG3 { 195c19af67fSJagan Teki regulator-always-on; 196c19af67fSJagan Teki regulator-boot-on; 197c19af67fSJagan Teki regulator-min-microvolt = <1000000>; 198c19af67fSJagan Teki regulator-max-microvolt = <1000000>; 199c19af67fSJagan Teki regulator-name = "vdd_10"; 200c19af67fSJagan Teki regulator-state-mem { 201c19af67fSJagan Teki regulator-on-in-suspend; 202c19af67fSJagan Teki regulator-suspend-microvolt = <1000000>; 203c19af67fSJagan Teki }; 204c19af67fSJagan Teki }; 205c19af67fSJagan Teki 206c19af67fSJagan Teki vcc_gps: LDO_REG4 { 207c19af67fSJagan Teki regulator-always-on; 208c19af67fSJagan Teki regulator-boot-on; 209c19af67fSJagan Teki regulator-min-microvolt = <1800000>; 210c19af67fSJagan Teki regulator-max-microvolt = <1800000>; 211c19af67fSJagan Teki regulator-name = "vcc_gps"; 212c19af67fSJagan Teki regulator-state-mem { 213c19af67fSJagan Teki regulator-on-in-suspend; 214c19af67fSJagan Teki regulator-suspend-microvolt = <1800000>; 215c19af67fSJagan Teki }; 216c19af67fSJagan Teki }; 217c19af67fSJagan Teki 218c19af67fSJagan Teki vccio_sd: LDO_REG5 { 219c19af67fSJagan Teki regulator-always-on; 220c19af67fSJagan Teki regulator-boot-on; 221c19af67fSJagan Teki regulator-min-microvolt = <1800000>; 222c19af67fSJagan Teki regulator-max-microvolt = <3300000>; 223c19af67fSJagan Teki regulator-name = "vccio_sd"; 224c19af67fSJagan Teki regulator-state-mem { 225c19af67fSJagan Teki regulator-on-in-suspend; 226c19af67fSJagan Teki regulator-suspend-microvolt = <3300000>; 227c19af67fSJagan Teki }; 228c19af67fSJagan Teki }; 229c19af67fSJagan Teki 230c19af67fSJagan Teki vcc10_lcd: LDO_REG6 { 231c19af67fSJagan Teki regulator-always-on; 232c19af67fSJagan Teki regulator-boot-on; 233c19af67fSJagan Teki regulator-min-microvolt = <1000000>; 234c19af67fSJagan Teki regulator-max-microvolt = <1000000>; 235c19af67fSJagan Teki regulator-name = "vcc10_lcd"; 236c19af67fSJagan Teki regulator-state-mem { 237c19af67fSJagan Teki regulator-on-in-suspend; 238c19af67fSJagan Teki regulator-suspend-microvolt = <1800000>; 239c19af67fSJagan Teki }; 240c19af67fSJagan Teki }; 241c19af67fSJagan Teki 242c19af67fSJagan Teki vcc_18: LDO_REG7 { 243c19af67fSJagan Teki regulator-always-on; 244c19af67fSJagan Teki regulator-boot-on; 245c19af67fSJagan Teki regulator-min-microvolt = <1800000>; 246c19af67fSJagan Teki regulator-max-microvolt = <1800000>; 247c19af67fSJagan Teki regulator-name = "vcc_18"; 248c19af67fSJagan Teki regulator-state-mem { 249c19af67fSJagan Teki regulator-on-in-suspend; 250c19af67fSJagan Teki regulator-suspend-microvolt = <1800000>; 251c19af67fSJagan Teki }; 252c19af67fSJagan Teki }; 253c19af67fSJagan Teki 254c19af67fSJagan Teki vcc18_lcd: LDO_REG8 { 255c19af67fSJagan Teki regulator-always-on; 256c19af67fSJagan Teki regulator-boot-on; 257c19af67fSJagan Teki regulator-min-microvolt = <1800000>; 258c19af67fSJagan Teki regulator-max-microvolt = <1800000>; 259c19af67fSJagan Teki regulator-name = "vcc18_lcd"; 260c19af67fSJagan Teki regulator-state-mem { 261c19af67fSJagan Teki regulator-on-in-suspend; 262c19af67fSJagan Teki regulator-suspend-microvolt = <1800000>; 263c19af67fSJagan Teki }; 264c19af67fSJagan Teki }; 265c19af67fSJagan Teki 266c19af67fSJagan Teki vcc33_sd: SWITCH_REG1 { 267c19af67fSJagan Teki regulator-always-on; 268c19af67fSJagan Teki regulator-boot-on; 269c19af67fSJagan Teki regulator-min-microvolt = <3300000>; 270c19af67fSJagan Teki regulator-max-microvolt = <3300000>; 271c19af67fSJagan Teki regulator-name = "vcc33_sd"; 272c19af67fSJagan Teki regulator-state-mem { 273c19af67fSJagan Teki regulator-on-in-suspend; 274c19af67fSJagan Teki }; 275c19af67fSJagan Teki }; 276c19af67fSJagan Teki 277c19af67fSJagan Teki vcc_lan: SWITCH_REG2 { 278c19af67fSJagan Teki regulator-always-on; 279c19af67fSJagan Teki regulator-boot-on; 280c19af67fSJagan Teki regulator-min-microvolt = <3300000>; 281c19af67fSJagan Teki regulator-max-microvolt = <3300000>; 282c19af67fSJagan Teki regulator-name = "vcc_lan"; 283c19af67fSJagan Teki regulator-state-mem { 284c19af67fSJagan Teki regulator-on-in-suspend; 285c19af67fSJagan Teki }; 286c19af67fSJagan Teki }; 287c19af67fSJagan Teki }; 288c19af67fSJagan Teki }; 289c19af67fSJagan Teki}; 290c19af67fSJagan Teki 291c19af67fSJagan Teki&sdmmc { 292c19af67fSJagan Teki u-boot,dm-pre-reloc; 293c19af67fSJagan Teki status = "okay"; 294c19af67fSJagan Teki 295c19af67fSJagan Teki bus-width = <4>; 296c19af67fSJagan Teki cap-mmc-highspeed; 297c19af67fSJagan Teki cap-sd-highspeed; 298c19af67fSJagan Teki card-detect-delay = <200>; 299c19af67fSJagan Teki disable-wp; 300c19af67fSJagan Teki pinctrl-names = "default"; 301c19af67fSJagan Teki pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>; 302c19af67fSJagan Teki vmmc-supply = <&vcc_sd>; 303c19af67fSJagan Teki vqmmc-supply = <&vccio_sd>; 304c19af67fSJagan Teki}; 305c19af67fSJagan Teki 306c19af67fSJagan Teki&uart2 { 307c19af67fSJagan Teki u-boot,dm-pre-reloc; 308c19af67fSJagan Teki status = "okay"; 309c19af67fSJagan Teki}; 310c19af67fSJagan Teki 311c19af67fSJagan Teki&wdt { 312c19af67fSJagan Teki status = "okay"; 313c19af67fSJagan Teki}; 314c19af67fSJagan Teki 315c19af67fSJagan Teki&pinctrl { 316c19af67fSJagan Teki u-boot,dm-pre-reloc; 317c19af67fSJagan Teki pmic { 318c19af67fSJagan Teki pmic_int: pmic-int { 319c19af67fSJagan Teki rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>; 320c19af67fSJagan Teki }; 321c19af67fSJagan Teki }; 322c19af67fSJagan Teki 323c19af67fSJagan Teki sdmmc { 324c19af67fSJagan Teki sdmmc_pwr: sdmmc-pwr { 325c19af67fSJagan Teki rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>; 326c19af67fSJagan Teki }; 327c19af67fSJagan Teki }; 328c19af67fSJagan Teki}; 329