xref: /openbmc/u-boot/arch/arm/dts/sun6i-a31-mele-a1000g-quad.dts (revision cc49e2bdb8fbd47af28cb7e47696322586e9fff1)
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 = <&reg_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 = <&reg_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 = <&reg_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&reg_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&reg_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&reg_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&reg_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&reg_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&reg_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&reg_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&reg_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&reg_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&reg_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&reg_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 = <&reg_usb1_vbus>;
237860fbdd4SHans de Goede	usb2_vbus-supply = <&reg_aldo1>;
2382c23da06SHans de Goede	status = "okay";
2392c23da06SHans de Goede};
240