xref: /openbmc/u-boot/arch/arm/dts/sun9i-a80-cx-a99.dts (revision d01806a8fcbdaedcc67cead56ece572021d97ab7)
158c4020cSRask Ingemann Lambertsen/*
258c4020cSRask Ingemann Lambertsen * sun9i-a80-cx-a99.dts - Device Tree file for the Sunchip CX-A99 board.
358c4020cSRask Ingemann Lambertsen *
458c4020cSRask Ingemann Lambertsen * Copyright (C) 2017 Rask Ingemann Lambertsen <rask@formelder.dk>
558c4020cSRask Ingemann Lambertsen *
658c4020cSRask Ingemann Lambertsen * This file is dual-licensed: you can use it either under the terms
758c4020cSRask Ingemann Lambertsen * of the GPL or the X11 license, at your option. Note that this dual
858c4020cSRask Ingemann Lambertsen * licensing only applies to this file, and not this project as a
958c4020cSRask Ingemann Lambertsen * whole.
1058c4020cSRask Ingemann Lambertsen *
1158c4020cSRask Ingemann Lambertsen *  a) This file is free software; you can redistribute it and/or
1258c4020cSRask Ingemann Lambertsen *     modify it under the terms of the GNU General Public License as
1358c4020cSRask Ingemann Lambertsen *     published by the Free Software Foundation; either version 2 of the
1458c4020cSRask Ingemann Lambertsen *     License, or (at your option) any later version.
1558c4020cSRask Ingemann Lambertsen *
1658c4020cSRask Ingemann Lambertsen *     This file is distributed in the hope that it will be useful,
1758c4020cSRask Ingemann Lambertsen *     but WITHOUT ANY WARRANTY; without even the implied warranty of
1858c4020cSRask Ingemann Lambertsen *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1958c4020cSRask Ingemann Lambertsen *     GNU General Public License for more details.
2058c4020cSRask Ingemann Lambertsen *
2158c4020cSRask Ingemann Lambertsen * Or, alternatively,
2258c4020cSRask Ingemann Lambertsen *
2358c4020cSRask Ingemann Lambertsen *  b) Permission is hereby granted, free of charge, to any person
2458c4020cSRask Ingemann Lambertsen *     obtaining a copy of this software and associated documentation
2558c4020cSRask Ingemann Lambertsen *     files (the "Software"), to deal in the Software without
2658c4020cSRask Ingemann Lambertsen *     restriction, including without limitation the rights to use,
2758c4020cSRask Ingemann Lambertsen *     copy, modify, merge, publish, distribute, sublicense, and/or
2858c4020cSRask Ingemann Lambertsen *     sell copies of the Software, and to permit persons to whom the
2958c4020cSRask Ingemann Lambertsen *     Software is furnished to do so, subject to the following
3058c4020cSRask Ingemann Lambertsen *     conditions:
3158c4020cSRask Ingemann Lambertsen *
3258c4020cSRask Ingemann Lambertsen *     The above copyright notice and this permission notice shall be
3358c4020cSRask Ingemann Lambertsen *     included in all copies or substantial portions of the Software.
3458c4020cSRask Ingemann Lambertsen *
3558c4020cSRask Ingemann Lambertsen *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
3658c4020cSRask Ingemann Lambertsen *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
3758c4020cSRask Ingemann Lambertsen *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
3858c4020cSRask Ingemann Lambertsen *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
3958c4020cSRask Ingemann Lambertsen *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
4058c4020cSRask Ingemann Lambertsen *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
4158c4020cSRask Ingemann Lambertsen *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
4258c4020cSRask Ingemann Lambertsen *     OTHER DEALINGS IN THE SOFTWARE.
4358c4020cSRask Ingemann Lambertsen */
4458c4020cSRask Ingemann Lambertsen
4558c4020cSRask Ingemann Lambertsen/*
4658c4020cSRask Ingemann Lambertsen * The Sunchip CX-A99 board is found in several similar Android media
4758c4020cSRask Ingemann Lambertsen * players, such as:
4858c4020cSRask Ingemann Lambertsen *
4958c4020cSRask Ingemann Lambertsen * Instabox Fantasy A8 (no external antenna)
5058c4020cSRask Ingemann Lambertsen * Jesurun CS-Q8 (ships with larger remote control)
5158c4020cSRask Ingemann Lambertsen * Jesurun Maxone
5258c4020cSRask Ingemann Lambertsen * Rikomagic (RKM) MK80/MK80LE
5358c4020cSRask Ingemann Lambertsen * Tronsmart Draco AW80 Meta/Telos
5458c4020cSRask Ingemann Lambertsen *
5558c4020cSRask Ingemann Lambertsen * See the Sunchip CX-A99 page on the Linux-sunxi wiki for more information.
5658c4020cSRask Ingemann Lambertsen */
5758c4020cSRask Ingemann Lambertsen
5858c4020cSRask Ingemann Lambertsen/dts-v1/;
5958c4020cSRask Ingemann Lambertsen#include "sun9i-a80.dtsi"
6058c4020cSRask Ingemann Lambertsen
6158c4020cSRask Ingemann Lambertsen#include <dt-bindings/gpio/gpio.h>
6258c4020cSRask Ingemann Lambertsen
6358c4020cSRask Ingemann Lambertsen/ {
6458c4020cSRask Ingemann Lambertsen	model = "Sunchip CX-A99";
6558c4020cSRask Ingemann Lambertsen	compatible = "sunchip,cx-a99", "allwinner,sun9i-a80";
6658c4020cSRask Ingemann Lambertsen
6758c4020cSRask Ingemann Lambertsen	aliases {
6858c4020cSRask Ingemann Lambertsen		serial0 = &uart0;
6958c4020cSRask Ingemann Lambertsen	};
7058c4020cSRask Ingemann Lambertsen
7158c4020cSRask Ingemann Lambertsen	chosen {
7258c4020cSRask Ingemann Lambertsen		stdout-path = "serial0:115200n8";
7358c4020cSRask Ingemann Lambertsen	};
7458c4020cSRask Ingemann Lambertsen
7558c4020cSRask Ingemann Lambertsen	leds {
7658c4020cSRask Ingemann Lambertsen		compatible = "gpio-leds";
7758c4020cSRask Ingemann Lambertsen
7858c4020cSRask Ingemann Lambertsen		blue {
7958c4020cSRask Ingemann Lambertsen			gpios = <&pio 6 10 GPIO_ACTIVE_HIGH>;	/* PG10 */
8058c4020cSRask Ingemann Lambertsen			label = "cx-a99:blue:status";
8158c4020cSRask Ingemann Lambertsen		};
8258c4020cSRask Ingemann Lambertsen
8358c4020cSRask Ingemann Lambertsen		red {
8458c4020cSRask Ingemann Lambertsen			gpios = <&pio 6 11 GPIO_ACTIVE_HIGH>;	/* PG11 */
8558c4020cSRask Ingemann Lambertsen			label = "cx-a99:red:status";
8658c4020cSRask Ingemann Lambertsen		};
8758c4020cSRask Ingemann Lambertsen	};
8858c4020cSRask Ingemann Lambertsen
8958c4020cSRask Ingemann Lambertsen	powerseq_wifi: powerseq-wifi {
9058c4020cSRask Ingemann Lambertsen		compatible = "mmc-pwrseq-simple";
9158c4020cSRask Ingemann Lambertsen		clocks = <&ac100_rtc 1>;
9258c4020cSRask Ingemann Lambertsen		clock-names = "ext_clock";
9358c4020cSRask Ingemann Lambertsen		reset-gpios = <&r_pio 1 0 GPIO_ACTIVE_LOW>;	/* PM0 */
9458c4020cSRask Ingemann Lambertsen		post-power-on-delay-ms = <1>;	/* Minimum 2 cycles. */
9558c4020cSRask Ingemann Lambertsen	};
9658c4020cSRask Ingemann Lambertsen
9758c4020cSRask Ingemann Lambertsen	/* USB 2.0 connector closest to the 12 V power connector. */
9858c4020cSRask Ingemann Lambertsen	reg_usb1_vbus: regulator-usb1-vbus {
9958c4020cSRask Ingemann Lambertsen		compatible = "regulator-fixed";
10058c4020cSRask Ingemann Lambertsen		regulator-name = "usb1-vbus";
10158c4020cSRask Ingemann Lambertsen		regulator-min-microvolt = <5000000>;
10258c4020cSRask Ingemann Lambertsen		regulator-max-microvolt = <5000000>;
10358c4020cSRask Ingemann Lambertsen		gpio = <&r_pio 0 7 /* no flag support */ 0>;	/* PL7 */
10458c4020cSRask Ingemann Lambertsen		enable-active-high;
10558c4020cSRask Ingemann Lambertsen	};
10658c4020cSRask Ingemann Lambertsen
10758c4020cSRask Ingemann Lambertsen	/* USB 2.0 connector next to the SD card slot. */
10858c4020cSRask Ingemann Lambertsen	reg_usb3_vbus: regulator-usb3-vbus {
10958c4020cSRask Ingemann Lambertsen		compatible = "regulator-fixed";
11058c4020cSRask Ingemann Lambertsen		regulator-name = "usb3-vbus";
11158c4020cSRask Ingemann Lambertsen		regulator-min-microvolt = <5000000>;
11258c4020cSRask Ingemann Lambertsen		regulator-max-microvolt = <5000000>;
11358c4020cSRask Ingemann Lambertsen		gpio = <&r_pio 0 8 /* no flag support */ 0>;	/* PL8 */
11458c4020cSRask Ingemann Lambertsen		enable-active-high;
11558c4020cSRask Ingemann Lambertsen	};
11658c4020cSRask Ingemann Lambertsen
11758c4020cSRask Ingemann Lambertsen	/*
11858c4020cSRask Ingemann Lambertsen	 * OZ80120 voltage regulator for the four Cortex-A15 CPU cores.
11958c4020cSRask Ingemann Lambertsen	 * Although the regulator can output 750 - 1200 mV, the permissible
12058c4020cSRask Ingemann Lambertsen	 * range for the CPU cores is only 800 - 1100 mV.
12158c4020cSRask Ingemann Lambertsen	 */
12258c4020cSRask Ingemann Lambertsen	reg_vdd_cpub: regulator-vdd-cpub {
12358c4020cSRask Ingemann Lambertsen		compatible = "regulator-gpio";
12458c4020cSRask Ingemann Lambertsen
12558c4020cSRask Ingemann Lambertsen		regulator-always-on;
12658c4020cSRask Ingemann Lambertsen		regulator-min-microvolt = < 800000>;
12758c4020cSRask Ingemann Lambertsen		regulator-max-microvolt = <1100000>;
12858c4020cSRask Ingemann Lambertsen		regulator-name = "vdd-cpub";
12958c4020cSRask Ingemann Lambertsen
13058c4020cSRask Ingemann Lambertsen		/* Note: GPIO flags are not supported here . */
13158c4020cSRask Ingemann Lambertsen		enable-gpio = <&r_pio 0 2 /* flags n/a */ 0>;	/* PL2 */
13258c4020cSRask Ingemann Lambertsen		enable-active-high;
13358c4020cSRask Ingemann Lambertsen		gpios = <&r_pio 0 3 /* no flag support */ 0>,	/* PL3 */
13458c4020cSRask Ingemann Lambertsen			<&r_pio 0 4 /* no flag support */ 0>,	/* PL4 */
13558c4020cSRask Ingemann Lambertsen			<&r_pio 0 5 /* no flag support */ 0>;	/* PL5 */
13658c4020cSRask Ingemann Lambertsen
13758c4020cSRask Ingemann Lambertsen		gpios-states = <1 0 0>;
13858c4020cSRask Ingemann Lambertsen		states = <	 750000 0x7
13958c4020cSRask Ingemann Lambertsen				 800000 0x3
14058c4020cSRask Ingemann Lambertsen				 850000 0x5
14158c4020cSRask Ingemann Lambertsen				 900000 0x1
14258c4020cSRask Ingemann Lambertsen				 950000 0x6
14358c4020cSRask Ingemann Lambertsen				1000000 0x2
14458c4020cSRask Ingemann Lambertsen				1100000 0x4
14558c4020cSRask Ingemann Lambertsen				1200000 0x0>;
14658c4020cSRask Ingemann Lambertsen	};
14758c4020cSRask Ingemann Lambertsen};
14858c4020cSRask Ingemann Lambertsen
14958c4020cSRask Ingemann Lambertsen&ehci0 {
15058c4020cSRask Ingemann Lambertsen	status = "okay";
15158c4020cSRask Ingemann Lambertsen};
15258c4020cSRask Ingemann Lambertsen
15358c4020cSRask Ingemann Lambertsen&ehci2 {
15458c4020cSRask Ingemann Lambertsen	status = "okay";
15558c4020cSRask Ingemann Lambertsen};
15658c4020cSRask Ingemann Lambertsen
15758c4020cSRask Ingemann Lambertsen/*
15858c4020cSRask Ingemann Lambertsen * SD card slot. Although the GPIO pin for card detection is listed as capable
15958c4020cSRask Ingemann Lambertsen * of generating interrupts in the "A80 User Manual", this doesn't work for
16058c4020cSRask Ingemann Lambertsen * some unknown reason, so poll the GPIO for card detection. This is also what
16158c4020cSRask Ingemann Lambertsen * the vendor sys_config.fex file specifies.
16258c4020cSRask Ingemann Lambertsen */
16358c4020cSRask Ingemann Lambertsen&mmc0 {
16458c4020cSRask Ingemann Lambertsen	bus-width = <4>;
16558c4020cSRask Ingemann Lambertsen	cd-gpios = <&pio 7 17 GPIO_ACTIVE_LOW>;	/* PH17 */
16658c4020cSRask Ingemann Lambertsen	broken-cd;				/* Poll. */
16758c4020cSRask Ingemann Lambertsen	pinctrl-names = "default";
16858c4020cSRask Ingemann Lambertsen	pinctrl-0 = <&mmc0_pins>;
16958c4020cSRask Ingemann Lambertsen	vmmc-supply = <&reg_dcdce>;
17058c4020cSRask Ingemann Lambertsen	status = "okay";
17158c4020cSRask Ingemann Lambertsen};
17258c4020cSRask Ingemann Lambertsen
17358c4020cSRask Ingemann Lambertsen/* Ampak AP6335 IEEE 802.11 a/b/g/n/ac Wifi. */
17458c4020cSRask Ingemann Lambertsen&mmc1 {
17558c4020cSRask Ingemann Lambertsen	bus-width = <4>;
17658c4020cSRask Ingemann Lambertsen	non-removable;
17758c4020cSRask Ingemann Lambertsen	pinctrl-names = "default";
17858c4020cSRask Ingemann Lambertsen	pinctrl-0 = <&mmc1_pins>;
17958c4020cSRask Ingemann Lambertsen	vmmc-supply = <&reg_cldo3>;	/* See cldo2,cldo3 note. */
18058c4020cSRask Ingemann Lambertsen	vqmmc-supply = <&reg_aldo2>;
18158c4020cSRask Ingemann Lambertsen	mmc-pwrseq = <&powerseq_wifi>;
18258c4020cSRask Ingemann Lambertsen	status = "okay";
18358c4020cSRask Ingemann Lambertsen};
18458c4020cSRask Ingemann Lambertsen
18558c4020cSRask Ingemann Lambertsen/* On-board eMMC card. */
18658c4020cSRask Ingemann Lambertsen&mmc2 {
18758c4020cSRask Ingemann Lambertsen	bus-width = <8>;
18858c4020cSRask Ingemann Lambertsen	non-removable;
18958c4020cSRask Ingemann Lambertsen	pinctrl-names = "default";
19058c4020cSRask Ingemann Lambertsen	pinctrl-0 = <&mmc2_8bit_pins>;
19158c4020cSRask Ingemann Lambertsen	vmmc-supply = <&reg_dcdce>;
19258c4020cSRask Ingemann Lambertsen	status = "okay";
19358c4020cSRask Ingemann Lambertsen};
19458c4020cSRask Ingemann Lambertsen
19558c4020cSRask Ingemann Lambertsen&osc32k {
19658c4020cSRask Ingemann Lambertsen	clocks = <&ac100_rtc 0>;
19758c4020cSRask Ingemann Lambertsen};
19858c4020cSRask Ingemann Lambertsen
19958c4020cSRask Ingemann Lambertsen&r_ir {
20058c4020cSRask Ingemann Lambertsen	status = "okay";
20158c4020cSRask Ingemann Lambertsen};
20258c4020cSRask Ingemann Lambertsen
20358c4020cSRask Ingemann Lambertsen&r_rsb {
20458c4020cSRask Ingemann Lambertsen	status = "okay";
20558c4020cSRask Ingemann Lambertsen
20658c4020cSRask Ingemann Lambertsen	ac100: codec@e89 {
20758c4020cSRask Ingemann Lambertsen		compatible = "x-powers,ac100";
20858c4020cSRask Ingemann Lambertsen		reg = <0xe89>;
20958c4020cSRask Ingemann Lambertsen
21058c4020cSRask Ingemann Lambertsen		ac100_codec: codec {
21158c4020cSRask Ingemann Lambertsen			compatible = "x-powers,ac100-codec";
21258c4020cSRask Ingemann Lambertsen			interrupt-parent = <&r_pio>;
21358c4020cSRask Ingemann Lambertsen			interrupts = <0 9 IRQ_TYPE_LEVEL_LOW>;	/* PL9 */
21458c4020cSRask Ingemann Lambertsen			#clock-cells = <0>;
21558c4020cSRask Ingemann Lambertsen			clock-output-names = "4M_adda";
21658c4020cSRask Ingemann Lambertsen		};
21758c4020cSRask Ingemann Lambertsen
21858c4020cSRask Ingemann Lambertsen		ac100_rtc: rtc {
21958c4020cSRask Ingemann Lambertsen			compatible = "x-powers,ac100-rtc";
22058c4020cSRask Ingemann Lambertsen			interrupt-parent = <&nmi_intc>;
22158c4020cSRask Ingemann Lambertsen			interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
22258c4020cSRask Ingemann Lambertsen			clocks = <&ac100_codec>;
22358c4020cSRask Ingemann Lambertsen			#clock-cells = <1>;
22458c4020cSRask Ingemann Lambertsen			clock-output-names = "cko1_rtc",
22558c4020cSRask Ingemann Lambertsen					     "cko2_rtc",
22658c4020cSRask Ingemann Lambertsen					     "cko3_rtc";
22758c4020cSRask Ingemann Lambertsen		};
22858c4020cSRask Ingemann Lambertsen	};
22958c4020cSRask Ingemann Lambertsen
23058c4020cSRask Ingemann Lambertsen	pmic@745 {
23158c4020cSRask Ingemann Lambertsen		compatible = "x-powers,axp808", "x-powers,axp806";
23258c4020cSRask Ingemann Lambertsen		x-powers,master-mode;
23358c4020cSRask Ingemann Lambertsen		reg = <0x745>;
23458c4020cSRask Ingemann Lambertsen		interrupt-parent = <&nmi_intc>;
23558c4020cSRask Ingemann Lambertsen		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
23658c4020cSRask Ingemann Lambertsen		interrupt-controller;
23758c4020cSRask Ingemann Lambertsen		#interrupt-cells = <1>;
23858c4020cSRask Ingemann Lambertsen
23958c4020cSRask Ingemann Lambertsen		swin-supply = <&reg_dcdce>;
24058c4020cSRask Ingemann Lambertsen
24158c4020cSRask Ingemann Lambertsen		regulators {
24258c4020cSRask Ingemann Lambertsen			reg_aldo1: aldo1 {
24358c4020cSRask Ingemann Lambertsen				regulator-boot-on;
24458c4020cSRask Ingemann Lambertsen				regulator-min-microvolt = <3000000>;
24558c4020cSRask Ingemann Lambertsen				regulator-max-microvolt = <3000000>;
24658c4020cSRask Ingemann Lambertsen				regulator-name = "vcc-3v0";
24758c4020cSRask Ingemann Lambertsen			};
24858c4020cSRask Ingemann Lambertsen
24958c4020cSRask Ingemann Lambertsen			/* Supplies pin groups G and M. */
25058c4020cSRask Ingemann Lambertsen			reg_aldo2: aldo2 {
25158c4020cSRask Ingemann Lambertsen				regulator-boot-on;
25258c4020cSRask Ingemann Lambertsen				regulator-min-microvolt = <1800000>;
25358c4020cSRask Ingemann Lambertsen				regulator-max-microvolt = <3600000>;
25458c4020cSRask Ingemann Lambertsen				regulator-name = "vddio-wifi-codec";
25558c4020cSRask Ingemann Lambertsen			};
25658c4020cSRask Ingemann Lambertsen
25758c4020cSRask Ingemann Lambertsen			reg_aldo3: aldo3 {
25858c4020cSRask Ingemann Lambertsen				regulator-boot-on;
25958c4020cSRask Ingemann Lambertsen				regulator-min-microvolt = <2500000>;
26058c4020cSRask Ingemann Lambertsen				regulator-max-microvolt = <2500000>;
26158c4020cSRask Ingemann Lambertsen				regulator-name = "vddio-gmac";
26258c4020cSRask Ingemann Lambertsen			};
26358c4020cSRask Ingemann Lambertsen
26458c4020cSRask Ingemann Lambertsen			reg_bldo1: bldo1 {
26558c4020cSRask Ingemann Lambertsen				regulator-always-on;	/* Hang if disabled */
26658c4020cSRask Ingemann Lambertsen				regulator-min-microvolt = <1700000>;
26758c4020cSRask Ingemann Lambertsen				regulator-max-microvolt = <1900000>;
26858c4020cSRask Ingemann Lambertsen				regulator-name = "vdd18-dll-vcc18-pll";
26958c4020cSRask Ingemann Lambertsen			};
27058c4020cSRask Ingemann Lambertsen
27158c4020cSRask Ingemann Lambertsen			reg_bldo2: bldo2 {
27258c4020cSRask Ingemann Lambertsen				regulator-always-on;	/* Hang if disabled */
27358c4020cSRask Ingemann Lambertsen				regulator-min-microvolt = < 800000>;
27458c4020cSRask Ingemann Lambertsen				regulator-max-microvolt = <1100000>;
27558c4020cSRask Ingemann Lambertsen				regulator-name = "vdd-cpus";
27658c4020cSRask Ingemann Lambertsen			};
27758c4020cSRask Ingemann Lambertsen
27858c4020cSRask Ingemann Lambertsen			reg_bldo3: bldo3 {
27958c4020cSRask Ingemann Lambertsen				regulator-min-microvolt = <1100000>;
28058c4020cSRask Ingemann Lambertsen				regulator-max-microvolt = <1300000>;
28158c4020cSRask Ingemann Lambertsen				regulator-name = "vcc12-hsic";
28258c4020cSRask Ingemann Lambertsen			};
28358c4020cSRask Ingemann Lambertsen
28458c4020cSRask Ingemann Lambertsen			reg_bldo4: bldo4 {
28558c4020cSRask Ingemann Lambertsen				regulator-boot-on;
28658c4020cSRask Ingemann Lambertsen				regulator-min-microvolt = < 800000>;
28758c4020cSRask Ingemann Lambertsen				regulator-max-microvolt = <1100000>;
28858c4020cSRask Ingemann Lambertsen				regulator-name = "vdd09-hdmi";
28958c4020cSRask Ingemann Lambertsen			};
29058c4020cSRask Ingemann Lambertsen
29158c4020cSRask Ingemann Lambertsen			/* Supplies PLx pins which control some regulators. */
29258c4020cSRask Ingemann Lambertsen			reg_cldo1: cldo1 {
29358c4020cSRask Ingemann Lambertsen				regulator-always-on;
29458c4020cSRask Ingemann Lambertsen				regulator-min-microvolt = <3300000>;
29558c4020cSRask Ingemann Lambertsen				regulator-max-microvolt = <3300000>;
29658c4020cSRask Ingemann Lambertsen				regulator-name = "vcc-pl-led";
29758c4020cSRask Ingemann Lambertsen			};
29858c4020cSRask Ingemann Lambertsen
29958c4020cSRask Ingemann Lambertsen			/*
30058c4020cSRask Ingemann Lambertsen			 * cldo2 and cldo3 are connected in parallel.
30158c4020cSRask Ingemann Lambertsen			 * There is currently no way to express that.
30258c4020cSRask Ingemann Lambertsen			 * For now, use regulator-always-on on cldo2 and lock
30358c4020cSRask Ingemann Lambertsen			 * the voltage on both to 3.3 V.
30458c4020cSRask Ingemann Lambertsen			 */
30558c4020cSRask Ingemann Lambertsen			reg_cldo2: cldo2 {
30658c4020cSRask Ingemann Lambertsen				regulator-always-on;
30758c4020cSRask Ingemann Lambertsen				regulator-min-microvolt = <3300000>;
30858c4020cSRask Ingemann Lambertsen				regulator-max-microvolt = <3300000>;
30958c4020cSRask Ingemann Lambertsen				regulator-name = "vbat2-wifi+bt";
31058c4020cSRask Ingemann Lambertsen			};
31158c4020cSRask Ingemann Lambertsen
31258c4020cSRask Ingemann Lambertsen			reg_cldo3: cldo3 {
31358c4020cSRask Ingemann Lambertsen				regulator-min-microvolt = <3300000>;
31458c4020cSRask Ingemann Lambertsen				regulator-max-microvolt = <3300000>;
31558c4020cSRask Ingemann Lambertsen				regulator-name = "vbat1-wifi+bt";
31658c4020cSRask Ingemann Lambertsen			};
31758c4020cSRask Ingemann Lambertsen
31858c4020cSRask Ingemann Lambertsen			reg_dcdca: dcdca {
31958c4020cSRask Ingemann Lambertsen				regulator-always-on;
32058c4020cSRask Ingemann Lambertsen				regulator-min-microvolt = < 800000>;
32158c4020cSRask Ingemann Lambertsen				regulator-max-microvolt = <1100000>;
32258c4020cSRask Ingemann Lambertsen				regulator-name = "vdd-cpua";
32358c4020cSRask Ingemann Lambertsen			};
32458c4020cSRask Ingemann Lambertsen
32558c4020cSRask Ingemann Lambertsen			reg_dcdcb: dcdcb {
32658c4020cSRask Ingemann Lambertsen				regulator-always-on;
32758c4020cSRask Ingemann Lambertsen				regulator-min-microvolt = <1450000>;
32858c4020cSRask Ingemann Lambertsen				regulator-max-microvolt = <1550000>;
32958c4020cSRask Ingemann Lambertsen				regulator-name = "vcc-dram";
33058c4020cSRask Ingemann Lambertsen			};
33158c4020cSRask Ingemann Lambertsen
33258c4020cSRask Ingemann Lambertsen			reg_dcdcc: dcdcc {
33358c4020cSRask Ingemann Lambertsen				regulator-min-microvolt = < 800000>;
33458c4020cSRask Ingemann Lambertsen				regulator-max-microvolt = <1100000>;
33558c4020cSRask Ingemann Lambertsen				regulator-name = "vdd-gpu";
33658c4020cSRask Ingemann Lambertsen			};
33758c4020cSRask Ingemann Lambertsen
33858c4020cSRask Ingemann Lambertsen			reg_dcdcd: dcdcd {
33958c4020cSRask Ingemann Lambertsen				regulator-always-on;	/* Hang if disabled. */
34058c4020cSRask Ingemann Lambertsen				regulator-min-microvolt = < 800000>;
34158c4020cSRask Ingemann Lambertsen				regulator-max-microvolt = <1100000>;
34258c4020cSRask Ingemann Lambertsen				regulator-name = "vdd-sys";
34358c4020cSRask Ingemann Lambertsen			};
34458c4020cSRask Ingemann Lambertsen
34558c4020cSRask Ingemann Lambertsen			/* Supplies pin groups B-F and H. */
34658c4020cSRask Ingemann Lambertsen			reg_dcdce: dcdce {
34758c4020cSRask Ingemann Lambertsen				regulator-always-on;
34858c4020cSRask Ingemann Lambertsen				regulator-min-microvolt = <3300000>;
34958c4020cSRask Ingemann Lambertsen				regulator-max-microvolt = <3300000>;
35058c4020cSRask Ingemann Lambertsen				regulator-name = "vcc-io-mmc-spdif";
35158c4020cSRask Ingemann Lambertsen			};
35258c4020cSRask Ingemann Lambertsen
35358c4020cSRask Ingemann Lambertsen			reg_sw: sw {
35458c4020cSRask Ingemann Lambertsen				regulator-min-microvolt = <3300000>;
35558c4020cSRask Ingemann Lambertsen				regulator-max-microvolt = <3300000>;
35658c4020cSRask Ingemann Lambertsen				regulator-name = "vcc-gmac-codec";
35758c4020cSRask Ingemann Lambertsen			};
35858c4020cSRask Ingemann Lambertsen		};
35958c4020cSRask Ingemann Lambertsen	};
36058c4020cSRask Ingemann Lambertsen};
36158c4020cSRask Ingemann Lambertsen
36258c4020cSRask Ingemann Lambertsen/*
36358c4020cSRask Ingemann Lambertsen * 5-pin connector opposite of the SD card slot:
36458c4020cSRask Ingemann Lambertsen * 1 = GND (pointed to by small triangle), 2 = GND, 3 = 3.3 V, 4 = RX, 5 = TX.
36558c4020cSRask Ingemann Lambertsen */
36658c4020cSRask Ingemann Lambertsen&uart0 {
36758c4020cSRask Ingemann Lambertsen	pinctrl-names = "default";
368*8dcc7e69SJagan Teki	pinctrl-0 = <&uart0_ph_pins>;
36958c4020cSRask Ingemann Lambertsen	status = "okay";
37058c4020cSRask Ingemann Lambertsen};
37158c4020cSRask Ingemann Lambertsen
37258c4020cSRask Ingemann Lambertsen&usbphy1 {
37358c4020cSRask Ingemann Lambertsen	phy-supply = <&reg_usb1_vbus>;
37458c4020cSRask Ingemann Lambertsen	status = "okay";
37558c4020cSRask Ingemann Lambertsen};
37658c4020cSRask Ingemann Lambertsen
37758c4020cSRask Ingemann Lambertsen&usbphy3 {
37858c4020cSRask Ingemann Lambertsen	phy-supply = <&reg_usb3_vbus>;
37958c4020cSRask Ingemann Lambertsen	status = "okay";
38058c4020cSRask Ingemann Lambertsen};
381