12c23da06SHans de Goede/* 22c23da06SHans de Goede * Copyright 2014 Hans de Goede <hdegoede@redhat.com> 32c23da06SHans de Goede * 42c23da06SHans de Goede * This file is dual-licensed: you can use it either under the terms 52c23da06SHans de Goede * of the GPL or the X11 license, at your option. Note that this dual 62c23da06SHans de Goede * licensing only applies to this file, and not this project as a 72c23da06SHans de Goede * whole. 82c23da06SHans de Goede * 92c23da06SHans de Goede * a) This file is free software; you can redistribute it and/or 102c23da06SHans de Goede * modify it under the terms of the GNU General Public License as 112c23da06SHans de Goede * published by the Free Software Foundation; either version 2 of the 122c23da06SHans de Goede * License, or (at your option) any later version. 132c23da06SHans de Goede * 142c23da06SHans de Goede * This file is distributed in the hope that it will be useful, 152c23da06SHans de Goede * but WITHOUT ANY WARRANTY; without even the implied warranty of 162c23da06SHans de Goede * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 172c23da06SHans de Goede * GNU General Public License for more details. 182c23da06SHans de Goede * 192c23da06SHans de Goede * Or, alternatively, 202c23da06SHans de Goede * 212c23da06SHans de Goede * b) Permission is hereby granted, free of charge, to any person 222c23da06SHans de Goede * obtaining a copy of this software and associated documentation 232c23da06SHans de Goede * files (the "Software"), to deal in the Software without 242c23da06SHans de Goede * restriction, including without limitation the rights to use, 252c23da06SHans de Goede * copy, modify, merge, publish, distribute, sublicense, and/or 262c23da06SHans de Goede * sell copies of the Software, and to permit persons to whom the 272c23da06SHans de Goede * Software is furnished to do so, subject to the following 282c23da06SHans de Goede * conditions: 292c23da06SHans de Goede * 302c23da06SHans de Goede * The above copyright notice and this permission notice shall be 312c23da06SHans de Goede * included in all copies or substantial portions of the Software. 322c23da06SHans de Goede * 332c23da06SHans de Goede * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 342c23da06SHans de Goede * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 352c23da06SHans de Goede * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 362c23da06SHans de Goede * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 372c23da06SHans de Goede * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 382c23da06SHans de Goede * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 392c23da06SHans de Goede * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 402c23da06SHans de Goede * OTHER DEALINGS IN THE SOFTWARE. 412c23da06SHans de Goede */ 422c23da06SHans de Goede 432c23da06SHans de Goede/dts-v1/; 442c23da06SHans de Goede#include "sun6i-a31.dtsi" 452c23da06SHans de Goede#include "sunxi-common-regulators.dtsi" 462c23da06SHans de Goede 472c23da06SHans de Goede#include <dt-bindings/gpio/gpio.h> 482c23da06SHans de Goede 492c23da06SHans de Goede/ { 502c23da06SHans de Goede model = "Mele A1000G Quad top set box"; 512c23da06SHans de Goede compatible = "mele,a1000g-quad", "allwinner,sun6i-a31"; 522c23da06SHans de Goede 532c23da06SHans de Goede aliases { 542c23da06SHans de Goede serial0 = &uart0; 552c23da06SHans de Goede }; 562c23da06SHans de Goede 572c23da06SHans de Goede chosen { 582c23da06SHans de Goede stdout-path = "serial0:115200n8"; 592c23da06SHans de Goede }; 602c23da06SHans de Goede 612c23da06SHans de Goede leds { 622c23da06SHans de Goede compatible = "gpio-leds"; 632c23da06SHans de Goede pinctrl-names = "default"; 642c23da06SHans de Goede pinctrl-0 = <&led_pins_m9>; 652c23da06SHans de Goede 662c23da06SHans de Goede blue { 67860fbdd4SHans de Goede label = "a1000g:blue:pwr"; 682c23da06SHans de Goede gpios = <&pio 7 13 GPIO_ACTIVE_HIGH>; 69860fbdd4SHans de Goede default-state = "on"; 702c23da06SHans de Goede }; 712c23da06SHans de Goede }; 722c23da06SHans de Goede}; 732c23da06SHans de Goede 74860fbdd4SHans de Goede&cpu0 { 75860fbdd4SHans de Goede cpu-supply = <®_dcdc3>; 76860fbdd4SHans de Goede}; 77860fbdd4SHans de Goede 782c23da06SHans de Goede&ehci0 { 792c23da06SHans de Goede status = "okay"; 802c23da06SHans de Goede}; 812c23da06SHans de Goede 822c23da06SHans de Goede&ehci1 { 832c23da06SHans de Goede status = "okay"; 842c23da06SHans de Goede}; 852c23da06SHans de Goede 862c23da06SHans de Goede&gmac { 872c23da06SHans de Goede pinctrl-names = "default"; 882c23da06SHans de Goede pinctrl-0 = <&gmac_pins_mii_a>; 892c23da06SHans de Goede phy = <&phy1>; 902c23da06SHans de Goede phy-mode = "mii"; 91860fbdd4SHans de Goede phy-supply = <®_dldo1>; 922c23da06SHans de Goede status = "okay"; 932c23da06SHans de Goede 942c23da06SHans de Goede phy1: ethernet-phy@1 { 952c23da06SHans de Goede reg = <1>; 962c23da06SHans de Goede }; 972c23da06SHans de Goede}; 982c23da06SHans de Goede 992c23da06SHans de Goede&ir { 1002c23da06SHans de Goede pinctrl-names = "default"; 1012c23da06SHans de Goede pinctrl-0 = <&ir_pins_a>; 1022c23da06SHans de Goede status = "okay"; 1032c23da06SHans de Goede}; 1042c23da06SHans de Goede 1052c23da06SHans de Goede&mmc0 { 1062c23da06SHans de Goede pinctrl-names = "default"; 1072c23da06SHans de Goede pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_m9>; 108860fbdd4SHans de Goede vmmc-supply = <®_dcdc1>; 1092c23da06SHans de Goede bus-width = <4>; 110*d1d4295aSJagan Teki cd-gpios = <&pio 7 22 GPIO_ACTIVE_LOW>; /* PH22 */ 1112c23da06SHans de Goede status = "okay"; 1122c23da06SHans de Goede}; 1132c23da06SHans de Goede 114860fbdd4SHans de Goede&p2wi { 115860fbdd4SHans de Goede status = "okay"; 116860fbdd4SHans de Goede 117860fbdd4SHans de Goede axp22x: pmic@68 { 118860fbdd4SHans de Goede compatible = "x-powers,axp221"; 119860fbdd4SHans de Goede reg = <0x68>; 120860fbdd4SHans de Goede interrupt-parent = <&nmi_intc>; 121860fbdd4SHans de Goede interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 122860fbdd4SHans de Goede }; 123860fbdd4SHans de Goede}; 124860fbdd4SHans de Goede 125860fbdd4SHans de Goede#include "axp22x.dtsi" 126860fbdd4SHans de Goede 1272c23da06SHans de Goede&pio { 1282c23da06SHans de Goede led_pins_m9: led_pins@0 { 129*d1d4295aSJagan Teki pins = "PH13"; 130*d1d4295aSJagan Teki function = "gpio_out"; 1312c23da06SHans de Goede }; 1322c23da06SHans de Goede 1332c23da06SHans de Goede mmc0_cd_pin_m9: mmc0_cd_pin@0 { 134*d1d4295aSJagan Teki pins = "PH22"; 135*d1d4295aSJagan Teki function = "gpio_in"; 136*d1d4295aSJagan Teki bias-pull-up; 1372c23da06SHans de Goede }; 1382c23da06SHans de Goede 1392c23da06SHans de Goede usb1_vbus_pin_m9: usb1_vbus_pin@0 { 140*d1d4295aSJagan Teki pins = "PC27"; 141*d1d4295aSJagan Teki function = "gpio_out"; 1422c23da06SHans de Goede }; 1432c23da06SHans de Goede}; 1442c23da06SHans de Goede 145860fbdd4SHans de Goede®_aldo1 { 146860fbdd4SHans de Goede regulator-min-microvolt = <3300000>; 147860fbdd4SHans de Goede regulator-max-microvolt = <3300000>; 148860fbdd4SHans de Goede regulator-name = "vcc-wifi"; 149860fbdd4SHans de Goede}; 150860fbdd4SHans de Goede 151860fbdd4SHans de Goede®_aldo3 { 152860fbdd4SHans de Goede regulator-always-on; 153860fbdd4SHans de Goede regulator-min-microvolt = <2700000>; 154860fbdd4SHans de Goede regulator-max-microvolt = <3300000>; 155860fbdd4SHans de Goede regulator-name = "avcc"; 156860fbdd4SHans de Goede}; 157860fbdd4SHans de Goede 158860fbdd4SHans de Goede®_dc5ldo { 159860fbdd4SHans de Goede regulator-always-on; 160860fbdd4SHans de Goede regulator-min-microvolt = <700000>; 161860fbdd4SHans de Goede regulator-max-microvolt = <1320000>; 162860fbdd4SHans de Goede regulator-name = "vdd-cpus"; /* This is an educated guess */ 163860fbdd4SHans de Goede}; 164860fbdd4SHans de Goede 165860fbdd4SHans de Goede®_dcdc1 { 166860fbdd4SHans de Goede regulator-always-on; 167860fbdd4SHans de Goede regulator-min-microvolt = <3300000>; 168860fbdd4SHans de Goede regulator-max-microvolt = <3300000>; 169860fbdd4SHans de Goede regulator-name = "vcc-3v3"; 170860fbdd4SHans de Goede}; 171860fbdd4SHans de Goede 172860fbdd4SHans de Goede®_dcdc2 { 173860fbdd4SHans de Goede regulator-min-microvolt = <700000>; 174860fbdd4SHans de Goede regulator-max-microvolt = <1320000>; 175860fbdd4SHans de Goede regulator-name = "vdd-gpu"; 176860fbdd4SHans de Goede}; 177860fbdd4SHans de Goede 178860fbdd4SHans de Goede®_dcdc3 { 179860fbdd4SHans de Goede regulator-always-on; 180860fbdd4SHans de Goede regulator-min-microvolt = <700000>; 181860fbdd4SHans de Goede regulator-max-microvolt = <1320000>; 182860fbdd4SHans de Goede regulator-name = "vdd-cpu"; 183860fbdd4SHans de Goede}; 184860fbdd4SHans de Goede 185860fbdd4SHans de Goede®_dcdc4 { 186860fbdd4SHans de Goede regulator-always-on; 187860fbdd4SHans de Goede regulator-min-microvolt = <700000>; 188860fbdd4SHans de Goede regulator-max-microvolt = <1320000>; 189860fbdd4SHans de Goede regulator-name = "vdd-sys-dll"; 190860fbdd4SHans de Goede}; 191860fbdd4SHans de Goede 192860fbdd4SHans de Goede®_dcdc5 { 193860fbdd4SHans de Goede regulator-always-on; 194860fbdd4SHans de Goede regulator-min-microvolt = <1500000>; 195860fbdd4SHans de Goede regulator-max-microvolt = <1500000>; 196860fbdd4SHans de Goede regulator-name = "vcc-dram"; 197860fbdd4SHans de Goede}; 198860fbdd4SHans de Goede 199860fbdd4SHans de Goede®_dldo1 { 200860fbdd4SHans de Goede regulator-min-microvolt = <3300000>; 201860fbdd4SHans de Goede regulator-max-microvolt = <3300000>; 202860fbdd4SHans de Goede regulator-name = "vcc-ethernet-phy"; 203860fbdd4SHans de Goede}; 204860fbdd4SHans de Goede 205860fbdd4SHans de Goede/* 206860fbdd4SHans de Goede * Both reg_usb1_vbus and reg_dldo4 need to be on for the hub attached 207860fbdd4SHans de Goede * to usb1 to work, and we can list only one usb1_vbus-supply, so dldo4 is 208860fbdd4SHans de Goede * marked as regulator-always-on. 209860fbdd4SHans de Goede */ 210860fbdd4SHans de Goede®_dldo4 { 211860fbdd4SHans de Goede regulator-always-on; 212860fbdd4SHans de Goede regulator-min-microvolt = <3300000>; 213860fbdd4SHans de Goede regulator-max-microvolt = <3300000>; 214860fbdd4SHans de Goede regulator-name = "vcc-usb-hub"; 215860fbdd4SHans de Goede}; 216860fbdd4SHans de Goede 2172c23da06SHans de Goede®_usb1_vbus { 2182c23da06SHans de Goede pinctrl-names = "default"; 2192c23da06SHans de Goede pinctrl-0 = <&usb1_vbus_pin_m9>; 2202c23da06SHans de Goede gpio = <&pio 2 27 GPIO_ACTIVE_HIGH>; 2212c23da06SHans de Goede status = "okay"; 2222c23da06SHans de Goede}; 2232c23da06SHans de Goede 2242c23da06SHans de Goede&uart0 { 2252c23da06SHans de Goede pinctrl-names = "default"; 2262c23da06SHans de Goede pinctrl-0 = <&uart0_pins_a>; 2272c23da06SHans de Goede status = "okay"; 2282c23da06SHans de Goede}; 2292c23da06SHans de Goede 230da52a4a3SHans de Goede&usb_otg { 231da52a4a3SHans de Goede dr_mode = "host"; 232da52a4a3SHans de Goede status = "okay"; 233da52a4a3SHans de Goede}; 234da52a4a3SHans de Goede 2352c23da06SHans de Goede&usbphy { 2362c23da06SHans de Goede usb1_vbus-supply = <®_usb1_vbus>; 237860fbdd4SHans de Goede usb2_vbus-supply = <®_aldo1>; 2382c23da06SHans de Goede status = "okay"; 2392c23da06SHans de Goede}; 240