1086a2509Svishnupatekar/* 2086a2509Svishnupatekar * Copyright 2015 Vishnu Patekar 3086a2509Svishnupatekar * Vishnu Patekar <vishnupatekar0510@gmail.com> 4086a2509Svishnupatekar * 5086a2509Svishnupatekar * This file is dual-licensed: you can use it either under the terms 6086a2509Svishnupatekar * of the GPL or the X11 license, at your option. Note that this dual 7086a2509Svishnupatekar * licensing only applies to this file, and not this project as a 8086a2509Svishnupatekar * whole. 9086a2509Svishnupatekar * 10086a2509Svishnupatekar * a) This file is free software; you can redistribute it and/or 11086a2509Svishnupatekar * modify it under the terms of the GNU General Public License as 12086a2509Svishnupatekar * published by the Free Software Foundation; either version 2 of the 13086a2509Svishnupatekar * License, or (at your option) any later version. 14086a2509Svishnupatekar * 15086a2509Svishnupatekar * This file is distributed in the hope that it will be useful, 16086a2509Svishnupatekar * but WITHOUT ANY WARRANTY; without even the implied warranty of 17086a2509Svishnupatekar * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18086a2509Svishnupatekar * GNU General Public License for more details. 19086a2509Svishnupatekar * 20086a2509Svishnupatekar * Or, alternatively, 21086a2509Svishnupatekar * 22086a2509Svishnupatekar * b) Permission is hereby granted, free of charge, to any person 23086a2509Svishnupatekar * obtaining a copy of this software and associated documentation 24086a2509Svishnupatekar * files (the "Software"), to deal in the Software without 25086a2509Svishnupatekar * restriction, including without limitation the rights to use, 26086a2509Svishnupatekar * copy, modify, merge, publish, distribute, sublicense, and/or 27086a2509Svishnupatekar * sell copies of the Software, and to permit persons to whom the 28086a2509Svishnupatekar * Software is furnished to do so, subject to the following 29086a2509Svishnupatekar * conditions: 30086a2509Svishnupatekar * 31086a2509Svishnupatekar * The above copyright notice and this permission notice shall be 32086a2509Svishnupatekar * included in all copies or substantial portions of the Software. 33086a2509Svishnupatekar * 34086a2509Svishnupatekar * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 35086a2509Svishnupatekar * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 36086a2509Svishnupatekar * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 37086a2509Svishnupatekar * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 38086a2509Svishnupatekar * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 39086a2509Svishnupatekar * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 40086a2509Svishnupatekar * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 41086a2509Svishnupatekar * OTHER DEALINGS IN THE SOFTWARE. 42086a2509Svishnupatekar */ 43086a2509Svishnupatekar 44086a2509Svishnupatekar/dts-v1/; 45086a2509Svishnupatekar#include "sun8i-a83t.dtsi" 46086a2509Svishnupatekar 47*0ca4d40cSJagan Teki#include <dt-bindings/gpio/gpio.h> 48*0ca4d40cSJagan Teki 49086a2509Svishnupatekar/ { 50086a2509Svishnupatekar model = "Allwinner A83T H8Homlet Proto Dev Board v2.0"; 51086a2509Svishnupatekar compatible = "allwinner,h8homlet-v2", "allwinner,sun8i-a83t"; 52086a2509Svishnupatekar 53086a2509Svishnupatekar aliases { 54086a2509Svishnupatekar serial0 = &uart0; 55086a2509Svishnupatekar }; 56086a2509Svishnupatekar 57086a2509Svishnupatekar chosen { 58086a2509Svishnupatekar stdout-path = "serial0:115200n8"; 59086a2509Svishnupatekar }; 60*0ca4d40cSJagan Teki 61*0ca4d40cSJagan Teki reg_usb0_vbus: reg-usb0-vbus { 62*0ca4d40cSJagan Teki compatible = "regulator-fixed"; 63*0ca4d40cSJagan Teki regulator-name = "usb0-vbus"; 64*0ca4d40cSJagan Teki regulator-min-microvolt = <5000000>; 65*0ca4d40cSJagan Teki regulator-max-microvolt = <5000000>; 66*0ca4d40cSJagan Teki regulator-boot-on; 67*0ca4d40cSJagan Teki enable-active-high; 68*0ca4d40cSJagan Teki gpio = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* PL5 */ 69*0ca4d40cSJagan Teki }; 70*0ca4d40cSJagan Teki 71*0ca4d40cSJagan Teki reg_usb1_vbus: reg-usb1-vbus { 72*0ca4d40cSJagan Teki compatible = "regulator-fixed"; 73*0ca4d40cSJagan Teki regulator-name = "usb1-vbus"; 74*0ca4d40cSJagan Teki regulator-min-microvolt = <5000000>; 75*0ca4d40cSJagan Teki regulator-max-microvolt = <5000000>; 76*0ca4d40cSJagan Teki regulator-boot-on; 77*0ca4d40cSJagan Teki enable-active-high; 78*0ca4d40cSJagan Teki gpio = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */ 79*0ca4d40cSJagan Teki }; 80086a2509Svishnupatekar}; 81086a2509Svishnupatekar 82fa06f7edSChen-Yu Tsai&ehci0 { 83fa06f7edSChen-Yu Tsai status = "okay"; 84fa06f7edSChen-Yu Tsai}; 85fa06f7edSChen-Yu Tsai 86*0ca4d40cSJagan Teki&mmc0 { 87*0ca4d40cSJagan Teki pinctrl-names = "default"; 88*0ca4d40cSJagan Teki pinctrl-0 = <&mmc0_pins>; 89*0ca4d40cSJagan Teki vmmc-supply = <®_dcdc1>; 90*0ca4d40cSJagan Teki cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ 91*0ca4d40cSJagan Teki bus-width = <4>; 92*0ca4d40cSJagan Teki status = "okay"; 93*0ca4d40cSJagan Teki}; 94*0ca4d40cSJagan Teki 95*0ca4d40cSJagan Teki&mmc2 { 96*0ca4d40cSJagan Teki pinctrl-names = "default"; 97*0ca4d40cSJagan Teki pinctrl-0 = <&mmc2_8bit_emmc_pins>; 98*0ca4d40cSJagan Teki vmmc-supply = <®_dcdc1>; 99*0ca4d40cSJagan Teki vqmmc-supply = <®_dcdc1>; 100*0ca4d40cSJagan Teki bus-width = <8>; 101*0ca4d40cSJagan Teki non-removable; 102*0ca4d40cSJagan Teki cap-mmc-hw-reset; 103*0ca4d40cSJagan Teki status = "okay"; 104*0ca4d40cSJagan Teki}; 105*0ca4d40cSJagan Teki 106fa06f7edSChen-Yu Tsai&ohci0 { 107fa06f7edSChen-Yu Tsai status = "okay"; 108fa06f7edSChen-Yu Tsai}; 109fa06f7edSChen-Yu Tsai 110*0ca4d40cSJagan Teki&r_rsb { 111*0ca4d40cSJagan Teki status = "okay"; 112*0ca4d40cSJagan Teki 113*0ca4d40cSJagan Teki axp81x: pmic@3a3 { 114*0ca4d40cSJagan Teki compatible = "x-powers,axp818", "x-powers,axp813"; 115*0ca4d40cSJagan Teki reg = <0x3a3>; 116*0ca4d40cSJagan Teki interrupt-parent = <&r_intc>; 117*0ca4d40cSJagan Teki interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 118*0ca4d40cSJagan Teki eldoin-supply = <®_dcdc1>; 119*0ca4d40cSJagan Teki swin-supply = <®_dcdc1>; 120*0ca4d40cSJagan Teki }; 121*0ca4d40cSJagan Teki 122*0ca4d40cSJagan Teki ac100: codec@e89 { 123*0ca4d40cSJagan Teki compatible = "x-powers,ac100"; 124*0ca4d40cSJagan Teki reg = <0xe89>; 125*0ca4d40cSJagan Teki 126*0ca4d40cSJagan Teki ac100_codec: codec { 127*0ca4d40cSJagan Teki compatible = "x-powers,ac100-codec"; 128*0ca4d40cSJagan Teki interrupt-parent = <&r_pio>; 129*0ca4d40cSJagan Teki interrupts = <0 11 IRQ_TYPE_LEVEL_LOW>; /* PL11 */ 130*0ca4d40cSJagan Teki #clock-cells = <0>; 131*0ca4d40cSJagan Teki clock-output-names = "4M_adda"; 132*0ca4d40cSJagan Teki }; 133*0ca4d40cSJagan Teki 134*0ca4d40cSJagan Teki ac100_rtc: rtc { 135*0ca4d40cSJagan Teki compatible = "x-powers,ac100-rtc"; 136*0ca4d40cSJagan Teki interrupt-parent = <&r_intc>; 137*0ca4d40cSJagan Teki interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 138*0ca4d40cSJagan Teki clocks = <&ac100_codec>; 139*0ca4d40cSJagan Teki #clock-cells = <1>; 140*0ca4d40cSJagan Teki clock-output-names = "cko1_rtc", 141*0ca4d40cSJagan Teki "cko2_rtc", 142*0ca4d40cSJagan Teki "cko3_rtc"; 143*0ca4d40cSJagan Teki }; 144*0ca4d40cSJagan Teki }; 145*0ca4d40cSJagan Teki}; 146*0ca4d40cSJagan Teki 147*0ca4d40cSJagan Teki#include "axp81x.dtsi" 148*0ca4d40cSJagan Teki 149*0ca4d40cSJagan Teki®_aldo1 { 150*0ca4d40cSJagan Teki regulator-always-on; 151*0ca4d40cSJagan Teki regulator-min-microvolt = <1800000>; 152*0ca4d40cSJagan Teki regulator-max-microvolt = <1800000>; 153*0ca4d40cSJagan Teki regulator-name = "vcc-1v8"; 154*0ca4d40cSJagan Teki}; 155*0ca4d40cSJagan Teki 156*0ca4d40cSJagan Teki®_aldo2 { 157*0ca4d40cSJagan Teki regulator-always-on; 158*0ca4d40cSJagan Teki regulator-min-microvolt = <1800000>; 159*0ca4d40cSJagan Teki regulator-max-microvolt = <1800000>; 160*0ca4d40cSJagan Teki regulator-name = "dram-pll"; 161*0ca4d40cSJagan Teki}; 162*0ca4d40cSJagan Teki 163*0ca4d40cSJagan Teki®_aldo3 { 164*0ca4d40cSJagan Teki regulator-always-on; 165*0ca4d40cSJagan Teki regulator-min-microvolt = <3000000>; 166*0ca4d40cSJagan Teki regulator-max-microvolt = <3000000>; 167*0ca4d40cSJagan Teki regulator-name = "avcc"; 168*0ca4d40cSJagan Teki}; 169*0ca4d40cSJagan Teki 170*0ca4d40cSJagan Teki®_dcdc1 { 171*0ca4d40cSJagan Teki regulator-always-on; 172*0ca4d40cSJagan Teki regulator-min-microvolt = <3300000>; 173*0ca4d40cSJagan Teki regulator-max-microvolt = <3300000>; 174*0ca4d40cSJagan Teki regulator-name = "vcc-3v3"; 175*0ca4d40cSJagan Teki}; 176*0ca4d40cSJagan Teki 177*0ca4d40cSJagan Teki®_dcdc2 { 178*0ca4d40cSJagan Teki regulator-always-on; 179*0ca4d40cSJagan Teki regulator-min-microvolt = <700000>; 180*0ca4d40cSJagan Teki regulator-max-microvolt = <1100000>; 181*0ca4d40cSJagan Teki regulator-name = "vdd-cpua"; 182*0ca4d40cSJagan Teki}; 183*0ca4d40cSJagan Teki 184*0ca4d40cSJagan Teki®_dcdc3 { 185*0ca4d40cSJagan Teki regulator-always-on; 186*0ca4d40cSJagan Teki regulator-min-microvolt = <700000>; 187*0ca4d40cSJagan Teki regulator-max-microvolt = <1100000>; 188*0ca4d40cSJagan Teki regulator-name = "vdd-cpub"; 189*0ca4d40cSJagan Teki}; 190*0ca4d40cSJagan Teki 191*0ca4d40cSJagan Teki®_dcdc4 { 192*0ca4d40cSJagan Teki regulator-min-microvolt = <700000>; 193*0ca4d40cSJagan Teki regulator-max-microvolt = <1100000>; 194*0ca4d40cSJagan Teki regulator-name = "vdd-gpu"; 195*0ca4d40cSJagan Teki}; 196*0ca4d40cSJagan Teki 197*0ca4d40cSJagan Teki®_dcdc5 { 198*0ca4d40cSJagan Teki regulator-always-on; 199*0ca4d40cSJagan Teki regulator-min-microvolt = <1500000>; 200*0ca4d40cSJagan Teki regulator-max-microvolt = <1500000>; 201*0ca4d40cSJagan Teki regulator-name = "vcc-dram"; 202*0ca4d40cSJagan Teki}; 203*0ca4d40cSJagan Teki 204*0ca4d40cSJagan Teki®_dcdc6 { 205*0ca4d40cSJagan Teki regulator-always-on; 206*0ca4d40cSJagan Teki regulator-min-microvolt = <900000>; 207*0ca4d40cSJagan Teki regulator-max-microvolt = <900000>; 208*0ca4d40cSJagan Teki regulator-name = "vdd-sys"; 209*0ca4d40cSJagan Teki}; 210*0ca4d40cSJagan Teki 211*0ca4d40cSJagan Teki®_dldo2 { 212*0ca4d40cSJagan Teki regulator-min-microvolt = <3300000>; 213*0ca4d40cSJagan Teki regulator-max-microvolt = <3300000>; 214*0ca4d40cSJagan Teki regulator-name = "vcc-mipi"; 215*0ca4d40cSJagan Teki}; 216*0ca4d40cSJagan Teki 217*0ca4d40cSJagan Teki®_dldo4 { 218*0ca4d40cSJagan Teki /* 219*0ca4d40cSJagan Teki * The PHY requires 20ms after all voltages are applied until core 220*0ca4d40cSJagan Teki * logic is ready and 30ms after the reset pin is de-asserted. 221*0ca4d40cSJagan Teki * Set a 100ms delay to account for PMIC ramp time and board traces. 222*0ca4d40cSJagan Teki */ 223*0ca4d40cSJagan Teki regulator-enable-ramp-delay = <100000>; 224*0ca4d40cSJagan Teki regulator-min-microvolt = <3300000>; 225*0ca4d40cSJagan Teki regulator-max-microvolt = <3300000>; 226*0ca4d40cSJagan Teki regulator-name = "vcc-ephy"; 227*0ca4d40cSJagan Teki}; 228*0ca4d40cSJagan Teki 229*0ca4d40cSJagan Teki®_fldo1 { 230*0ca4d40cSJagan Teki regulator-min-microvolt = <1080000>; 231*0ca4d40cSJagan Teki regulator-max-microvolt = <1320000>; 232*0ca4d40cSJagan Teki regulator-name = "vdd12-hsic"; 233*0ca4d40cSJagan Teki}; 234*0ca4d40cSJagan Teki 235*0ca4d40cSJagan Teki®_fldo2 { 236*0ca4d40cSJagan Teki /* 237*0ca4d40cSJagan Teki * Despite the embedded CPUs core not being used in any way, 238*0ca4d40cSJagan Teki * this must remain on or the system will hang. 239*0ca4d40cSJagan Teki */ 240*0ca4d40cSJagan Teki regulator-always-on; 241*0ca4d40cSJagan Teki regulator-min-microvolt = <700000>; 242*0ca4d40cSJagan Teki regulator-max-microvolt = <1100000>; 243*0ca4d40cSJagan Teki regulator-name = "vdd-cpus"; 244*0ca4d40cSJagan Teki}; 245*0ca4d40cSJagan Teki 246*0ca4d40cSJagan Teki®_rtc_ldo { 247*0ca4d40cSJagan Teki regulator-name = "vcc-rtc"; 248*0ca4d40cSJagan Teki}; 249*0ca4d40cSJagan Teki 250*0ca4d40cSJagan Teki®_sw { 251*0ca4d40cSJagan Teki regulator-name = "vcc-wifi"; 252*0ca4d40cSJagan Teki}; 253*0ca4d40cSJagan Teki 254086a2509Svishnupatekar&uart0 { 255086a2509Svishnupatekar pinctrl-names = "default"; 256*0ca4d40cSJagan Teki pinctrl-0 = <&uart0_pb_pins>; 257*0ca4d40cSJagan Teki status = "okay"; 258*0ca4d40cSJagan Teki}; 259*0ca4d40cSJagan Teki 260*0ca4d40cSJagan Teki&usbphy { 261*0ca4d40cSJagan Teki usb0_vbus-supply = <®_usb0_vbus>; 262*0ca4d40cSJagan Teki usb1_vbus-supply = <®_usb1_vbus>; 263086a2509Svishnupatekar status = "okay"; 264086a2509Svishnupatekar}; 265fa06f7edSChen-Yu Tsai 266fa06f7edSChen-Yu Tsai&usb_otg { 267*0ca4d40cSJagan Teki dr_mode = "host"; 268fa06f7edSChen-Yu Tsai status = "okay"; 269fa06f7edSChen-Yu Tsai}; 270