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