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