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 { 55*d11455f5SJagan Teki reg = <0x0 0x0 0x0 0x80000000>; 56d55af074SJagan Teki device_type = "memory"; 57d55af074SJagan Teki }; 58d55af074SJagan Teki 59d55af074SJagan Teki vcc_sd: sdmmc-regulator { 60d55af074SJagan Teki compatible = "regulator-fixed"; 61d55af074SJagan Teki gpio = <&gpio7 RK_PB3 GPIO_ACTIVE_LOW>; 62d55af074SJagan Teki pinctrl-names = "default"; 63d55af074SJagan Teki pinctrl-0 = <&sdmmc_pwr>; 64d55af074SJagan Teki regulator-name = "vcc_sd"; 65d55af074SJagan Teki regulator-min-microvolt = <3300000>; 66d55af074SJagan Teki regulator-max-microvolt = <3300000>; 67d55af074SJagan Teki startup-delay-us = <100000>; 68d55af074SJagan Teki vin-supply = <&vcc_io>; 69d55af074SJagan Teki }; 70d55af074SJagan Teki 71d55af074SJagan Teki vcc_sys: vsys-regulator { 72d55af074SJagan Teki compatible = "regulator-fixed"; 73d55af074SJagan Teki regulator-name = "vcc_sys"; 74d55af074SJagan Teki regulator-min-microvolt = <5000000>; 75d55af074SJagan Teki regulator-max-microvolt = <5000000>; 76d55af074SJagan Teki regulator-always-on; 77d55af074SJagan Teki regulator-boot-on; 78d55af074SJagan Teki }; 79d55af074SJagan Teki}; 80d55af074SJagan Teki 81d55af074SJagan Teki&cpu0 { 82d55af074SJagan Teki cpu0-supply = <&vdd_cpu>; 83d55af074SJagan Teki}; 84d55af074SJagan Teki 85*d11455f5SJagan Teki&gpu { 86*d11455f5SJagan Teki mali-supply = <&vdd_gpu>; 87*d11455f5SJagan Teki status = "okay"; 88*d11455f5SJagan Teki}; 89*d11455f5SJagan Teki 90*d11455f5SJagan Teki&hdmi { 91*d11455f5SJagan Teki ddc-i2c-bus = <&i2c2>; 92*d11455f5SJagan Teki status = "okay"; 93*d11455f5SJagan Teki}; 94*d11455f5SJagan Teki 95d55af074SJagan Teki&i2c0 { 96d55af074SJagan Teki clock-frequency = <400000>; 97d55af074SJagan Teki status = "okay"; 98d55af074SJagan Teki 99d55af074SJagan Teki rk808: pmic@1b { 100d55af074SJagan Teki compatible = "rockchip,rk808"; 101d55af074SJagan Teki reg = <0x1b>; 102d55af074SJagan Teki interrupt-parent = <&gpio0>; 103d55af074SJagan Teki interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>; 104d55af074SJagan Teki #clock-cells = <1>; 105d55af074SJagan Teki clock-output-names = "xin32k", "rk808-clkout2"; 106*d11455f5SJagan Teki pinctrl-names = "default"; 107*d11455f5SJagan Teki pinctrl-0 = <&pmic_int &global_pwroff>; 108*d11455f5SJagan Teki rockchip,system-power-controller; 109*d11455f5SJagan Teki wakeup-source; 110d55af074SJagan Teki 111d55af074SJagan Teki vcc1-supply = <&vcc_sys>; 112d55af074SJagan Teki vcc2-supply = <&vcc_sys>; 113d55af074SJagan Teki vcc3-supply = <&vcc_sys>; 114d55af074SJagan Teki vcc4-supply = <&vcc_sys>; 115d55af074SJagan Teki vcc6-supply = <&vcc_sys>; 116d55af074SJagan Teki vcc7-supply = <&vcc_sys>; 117d55af074SJagan Teki vcc8-supply = <&vcc_io>; 118d55af074SJagan Teki vcc9-supply = <&vcc_sys>; 119d55af074SJagan Teki vcc10-supply = <&vcc_sys>; 120d55af074SJagan Teki vcc11-supply = <&vcc_sys>; 121d55af074SJagan Teki vcc12-supply = <&vcc_io>; 122d55af074SJagan Teki 123d55af074SJagan Teki regulators { 124d55af074SJagan Teki vdd_cpu: vdd_log: DCDC_REG1 { 125*d11455f5SJagan Teki regulator-name = "vdd_log"; 126d55af074SJagan Teki regulator-min-microvolt = <750000>; 127d55af074SJagan Teki regulator-max-microvolt = <1350000>; 128*d11455f5SJagan Teki regulator-always-on; 129*d11455f5SJagan Teki regulator-boot-on; 130d55af074SJagan Teki regulator-state-mem { 131d55af074SJagan Teki regulator-off-in-suspend; 132d55af074SJagan Teki }; 133d55af074SJagan Teki }; 134d55af074SJagan Teki 135d55af074SJagan Teki vdd_gpu: DCDC_REG2 { 136*d11455f5SJagan Teki regulator-name = "vdd_gpu"; 137d55af074SJagan Teki regulator-min-microvolt = <850000>; 138d55af074SJagan Teki regulator-max-microvolt = <1250000>; 139*d11455f5SJagan Teki regulator-always-on; 140*d11455f5SJagan Teki regulator-boot-on; 141d55af074SJagan Teki regulator-state-mem { 142d55af074SJagan Teki regulator-on-in-suspend; 143d55af074SJagan Teki regulator-suspend-microvolt = <1000000>; 144d55af074SJagan Teki }; 145d55af074SJagan Teki }; 146d55af074SJagan Teki 147d55af074SJagan Teki vcc_ddr: DCDC_REG3 { 148*d11455f5SJagan Teki regulator-name = "vcc_ddr"; 149d55af074SJagan Teki regulator-always-on; 150d55af074SJagan Teki regulator-boot-on; 151d55af074SJagan Teki regulator-state-mem { 152d55af074SJagan Teki regulator-on-in-suspend; 153d55af074SJagan Teki }; 154d55af074SJagan Teki }; 155d55af074SJagan Teki 156d55af074SJagan Teki vcc_io: DCDC_REG4 { 157*d11455f5SJagan Teki regulator-name = "vcc_io"; 158d55af074SJagan Teki regulator-min-microvolt = <3300000>; 159d55af074SJagan Teki regulator-max-microvolt = <3300000>; 160*d11455f5SJagan Teki regulator-always-on; 161*d11455f5SJagan 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 vcca_tp: LDO_REG1 { 169*d11455f5SJagan Teki regulator-name = "vcc_tp"; 170d55af074SJagan Teki regulator-min-microvolt = <3300000>; 171d55af074SJagan Teki regulator-max-microvolt = <3300000>; 172*d11455f5SJagan Teki regulator-always-on; 173*d11455f5SJagan Teki regulator-boot-on; 174d55af074SJagan Teki regulator-state-mem { 175d55af074SJagan Teki regulator-on-in-suspend; 176d55af074SJagan Teki regulator-suspend-microvolt = <3300000>; 177d55af074SJagan Teki }; 178d55af074SJagan Teki }; 179d55af074SJagan Teki 180d55af074SJagan Teki vcc_codec: LDO_REG2 { 181*d11455f5SJagan Teki regulator-name = "vcc_codec"; 182d55af074SJagan Teki regulator-min-microvolt = <3300000>; 183d55af074SJagan Teki regulator-max-microvolt = <3300000>; 184*d11455f5SJagan Teki regulator-always-on; 185*d11455f5SJagan Teki regulator-boot-on; 186d55af074SJagan Teki regulator-state-mem { 187d55af074SJagan Teki regulator-off-in-suspend; 188d55af074SJagan Teki }; 189d55af074SJagan Teki }; 190d55af074SJagan Teki 191d55af074SJagan Teki vdd_10: LDO_REG3 { 192*d11455f5SJagan Teki regulator-name = "vdd_10"; 193d55af074SJagan Teki regulator-min-microvolt = <1000000>; 194d55af074SJagan Teki regulator-max-microvolt = <1000000>; 195*d11455f5SJagan Teki regulator-always-on; 196*d11455f5SJagan Teki regulator-boot-on; 197d55af074SJagan Teki regulator-state-mem { 198d55af074SJagan Teki regulator-on-in-suspend; 199d55af074SJagan Teki regulator-suspend-microvolt = <1000000>; 200d55af074SJagan Teki }; 201d55af074SJagan Teki }; 202d55af074SJagan Teki 203d55af074SJagan Teki vcc_gps: LDO_REG4 { 204*d11455f5SJagan Teki regulator-name = "vcc_gps"; 205d55af074SJagan Teki regulator-min-microvolt = <1800000>; 206d55af074SJagan Teki regulator-max-microvolt = <1800000>; 207*d11455f5SJagan Teki regulator-always-on; 208*d11455f5SJagan Teki regulator-boot-on; 209d55af074SJagan Teki regulator-state-mem { 210d55af074SJagan Teki regulator-on-in-suspend; 211d55af074SJagan Teki regulator-suspend-microvolt = <1800000>; 212d55af074SJagan Teki }; 213d55af074SJagan Teki }; 214d55af074SJagan Teki 215d55af074SJagan Teki vccio_sd: LDO_REG5 { 216*d11455f5SJagan Teki regulator-name = "vccio_sd"; 217d55af074SJagan Teki regulator-min-microvolt = <1800000>; 218d55af074SJagan Teki regulator-max-microvolt = <3300000>; 219*d11455f5SJagan Teki regulator-always-on; 220*d11455f5SJagan Teki regulator-boot-on; 221d55af074SJagan Teki regulator-state-mem { 222d55af074SJagan Teki regulator-on-in-suspend; 223d55af074SJagan Teki regulator-suspend-microvolt = <3300000>; 224d55af074SJagan Teki }; 225d55af074SJagan Teki }; 226d55af074SJagan Teki 227d55af074SJagan Teki vcc10_lcd: LDO_REG6 { 228*d11455f5SJagan Teki regulator-name = "vcc10_lcd"; 229d55af074SJagan Teki regulator-min-microvolt = <1000000>; 230d55af074SJagan Teki regulator-max-microvolt = <1000000>; 231*d11455f5SJagan Teki regulator-always-on; 232*d11455f5SJagan 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 vcc_18: LDO_REG7 { 240*d11455f5SJagan Teki regulator-name = "vcc_18"; 241d55af074SJagan Teki regulator-min-microvolt = <1800000>; 242d55af074SJagan Teki regulator-max-microvolt = <1800000>; 243*d11455f5SJagan Teki regulator-always-on; 244*d11455f5SJagan 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 251d55af074SJagan Teki vcc18_lcd: LDO_REG8 { 252*d11455f5SJagan Teki regulator-name = "vcc18_lcd"; 253d55af074SJagan Teki regulator-min-microvolt = <1800000>; 254d55af074SJagan Teki regulator-max-microvolt = <1800000>; 255*d11455f5SJagan Teki regulator-always-on; 256*d11455f5SJagan Teki regulator-boot-on; 257d55af074SJagan Teki regulator-state-mem { 258d55af074SJagan Teki regulator-on-in-suspend; 259d55af074SJagan Teki regulator-suspend-microvolt = <1800000>; 260d55af074SJagan Teki }; 261d55af074SJagan Teki }; 262d55af074SJagan Teki 263d55af074SJagan Teki vcc33_sd: SWITCH_REG1 { 264*d11455f5SJagan Teki regulator-name = "vcc33_sd"; 265d55af074SJagan Teki regulator-min-microvolt = <3300000>; 266d55af074SJagan Teki regulator-max-microvolt = <3300000>; 267*d11455f5SJagan Teki regulator-always-on; 268*d11455f5SJagan Teki regulator-boot-on; 269d55af074SJagan Teki regulator-state-mem { 270d55af074SJagan Teki regulator-on-in-suspend; 271d55af074SJagan Teki }; 272d55af074SJagan Teki }; 273d55af074SJagan Teki 274d55af074SJagan Teki vcc_lan: SWITCH_REG2 { 275*d11455f5SJagan Teki regulator-name = "vcc_lan"; 276d55af074SJagan Teki regulator-min-microvolt = <3300000>; 277d55af074SJagan Teki regulator-max-microvolt = <3300000>; 278*d11455f5SJagan Teki regulator-always-on; 279*d11455f5SJagan Teki regulator-boot-on; 280d55af074SJagan Teki regulator-state-mem { 281d55af074SJagan Teki regulator-on-in-suspend; 282d55af074SJagan Teki }; 283d55af074SJagan Teki }; 284d55af074SJagan Teki }; 285d55af074SJagan Teki }; 286d55af074SJagan Teki}; 287d55af074SJagan Teki 288*d11455f5SJagan Teki&i2c2 { 289d55af074SJagan Teki status = "okay"; 290*d11455f5SJagan Teki}; 291d55af074SJagan Teki 292*d11455f5SJagan Teki&sdmmc { 293d55af074SJagan Teki bus-width = <4>; 294d55af074SJagan Teki cap-mmc-highspeed; 295d55af074SJagan Teki cap-sd-highspeed; 296d55af074SJagan Teki card-detect-delay = <200>; 297d55af074SJagan Teki disable-wp; 298d55af074SJagan Teki pinctrl-names = "default"; 299d55af074SJagan Teki pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>; 300d55af074SJagan Teki vmmc-supply = <&vcc_sd>; 301d55af074SJagan Teki vqmmc-supply = <&vccio_sd>; 302*d11455f5SJagan Teki status = "okay"; 303d55af074SJagan Teki}; 304d55af074SJagan Teki 305d55af074SJagan Teki&uart2 { 306*d11455f5SJagan Teki status = "okay"; 307*d11455f5SJagan Teki}; 308*d11455f5SJagan Teki 309*d11455f5SJagan Teki&vopb { 310*d11455f5SJagan Teki status = "okay"; 311*d11455f5SJagan Teki}; 312*d11455f5SJagan Teki 313*d11455f5SJagan Teki&vopb_mmu { 314*d11455f5SJagan Teki status = "okay"; 315*d11455f5SJagan Teki}; 316*d11455f5SJagan Teki 317*d11455f5SJagan Teki&vopl { 318*d11455f5SJagan Teki status = "okay"; 319*d11455f5SJagan Teki}; 320*d11455f5SJagan Teki 321*d11455f5SJagan Teki&vopl_mmu { 322d55af074SJagan Teki status = "okay"; 323d55af074SJagan Teki}; 324d55af074SJagan Teki 325d55af074SJagan Teki&wdt { 326d55af074SJagan Teki status = "okay"; 327d55af074SJagan Teki}; 328d55af074SJagan Teki 329d55af074SJagan Teki&pinctrl { 330d55af074SJagan Teki pmic { 331d55af074SJagan Teki pmic_int: pmic-int { 332d55af074SJagan Teki rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>; 333d55af074SJagan Teki }; 334d55af074SJagan Teki }; 335d55af074SJagan Teki 336d55af074SJagan Teki sdmmc { 337d55af074SJagan Teki sdmmc_pwr: sdmmc-pwr { 338d55af074SJagan Teki rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>; 339d55af074SJagan Teki }; 340d55af074SJagan Teki }; 341d55af074SJagan Teki}; 342