1*724ba675SRob Herring/*
2*724ba675SRob Herring * Copyright 2014 Chen-Yu Tsai
3*724ba675SRob Herring *
4*724ba675SRob Herring * Chen-Yu Tsai <wens@csie.org>
5*724ba675SRob Herring *
6*724ba675SRob Herring * This file is dual-licensed: you can use it either under the terms
7*724ba675SRob Herring * of the GPL or the X11 license, at your option. Note that this dual
8*724ba675SRob Herring * licensing only applies to this file, and not this project as a
9*724ba675SRob Herring * whole.
10*724ba675SRob Herring *
11*724ba675SRob Herring *  a) This file is free software; you can redistribute it and/or
12*724ba675SRob Herring *     modify it under the terms of the GNU General Public License as
13*724ba675SRob Herring *     published by the Free Software Foundation; either version 2 of the
14*724ba675SRob Herring *     License, or (at your option) any later version.
15*724ba675SRob Herring *
16*724ba675SRob Herring *     This file is distributed in the hope that it will be useful,
17*724ba675SRob Herring *     but WITHOUT ANY WARRANTY; without even the implied warranty of
18*724ba675SRob Herring *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19*724ba675SRob Herring *     GNU General Public License for more details.
20*724ba675SRob Herring *
21*724ba675SRob Herring * Or, alternatively,
22*724ba675SRob Herring *
23*724ba675SRob Herring *  b) Permission is hereby granted, free of charge, to any person
24*724ba675SRob Herring *     obtaining a copy of this software and associated documentation
25*724ba675SRob Herring *     files (the "Software"), to deal in the Software without
26*724ba675SRob Herring *     restriction, including without limitation the rights to use,
27*724ba675SRob Herring *     copy, modify, merge, publish, distribute, sublicense, and/or
28*724ba675SRob Herring *     sell copies of the Software, and to permit persons to whom the
29*724ba675SRob Herring *     Software is furnished to do so, subject to the following
30*724ba675SRob Herring *     conditions:
31*724ba675SRob Herring *
32*724ba675SRob Herring *     The above copyright notice and this permission notice shall be
33*724ba675SRob Herring *     included in all copies or substantial portions of the Software.
34*724ba675SRob Herring *
35*724ba675SRob Herring *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36*724ba675SRob Herring *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37*724ba675SRob Herring *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38*724ba675SRob Herring *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39*724ba675SRob Herring *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40*724ba675SRob Herring *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41*724ba675SRob Herring *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42*724ba675SRob Herring *     OTHER DEALINGS IN THE SOFTWARE.
43*724ba675SRob Herring */
44*724ba675SRob Herring
45*724ba675SRob Herring/dts-v1/;
46*724ba675SRob Herring#include "sun9i-a80.dtsi"
47*724ba675SRob Herring
48*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
49*724ba675SRob Herring
50*724ba675SRob Herring/ {
51*724ba675SRob Herring	model = "Merrii A80 Optimus Board";
52*724ba675SRob Herring	compatible = "merrii,a80-optimus", "allwinner,sun9i-a80";
53*724ba675SRob Herring
54*724ba675SRob Herring	aliases {
55*724ba675SRob Herring		serial0 = &uart0;
56*724ba675SRob Herring		serial1 = &uart4;
57*724ba675SRob Herring	};
58*724ba675SRob Herring
59*724ba675SRob Herring	chosen {
60*724ba675SRob Herring		stdout-path = "serial0:115200n8";
61*724ba675SRob Herring	};
62*724ba675SRob Herring
63*724ba675SRob Herring	leds {
64*724ba675SRob Herring		compatible = "gpio-leds";
65*724ba675SRob Herring
66*724ba675SRob Herring		/* The LED names match those found on the board */
67*724ba675SRob Herring		led2 {
68*724ba675SRob Herring			label = "optimus:led2:usr";
69*724ba675SRob Herring			gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>;
70*724ba675SRob Herring		};
71*724ba675SRob Herring
72*724ba675SRob Herring		led3 {
73*724ba675SRob Herring			label = "optimus:led3:usr";
74*724ba675SRob Herring			gpios = <&r_pio 1 15 GPIO_ACTIVE_HIGH>; /* PM15 */
75*724ba675SRob Herring		};
76*724ba675SRob Herring
77*724ba675SRob Herring		led4 {
78*724ba675SRob Herring			label = "optimus:led4:usr";
79*724ba675SRob Herring			gpios = <&pio 7 0 GPIO_ACTIVE_HIGH>;
80*724ba675SRob Herring		};
81*724ba675SRob Herring	};
82*724ba675SRob Herring
83*724ba675SRob Herring	reg_usb1_vbus: usb1-vbus {
84*724ba675SRob Herring		compatible = "regulator-fixed";
85*724ba675SRob Herring		regulator-name = "usb1-vbus";
86*724ba675SRob Herring		regulator-min-microvolt = <5000000>;
87*724ba675SRob Herring		regulator-max-microvolt = <5000000>;
88*724ba675SRob Herring		enable-active-high;
89*724ba675SRob Herring		gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
90*724ba675SRob Herring	};
91*724ba675SRob Herring
92*724ba675SRob Herring	reg_usb3_vbus: usb3-vbus {
93*724ba675SRob Herring		compatible = "regulator-fixed";
94*724ba675SRob Herring		regulator-name = "usb3-vbus";
95*724ba675SRob Herring		regulator-min-microvolt = <5000000>;
96*724ba675SRob Herring		regulator-max-microvolt = <5000000>;
97*724ba675SRob Herring		enable-active-high;
98*724ba675SRob Herring		gpio = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
99*724ba675SRob Herring	};
100*724ba675SRob Herring
101*724ba675SRob Herring	wifi_pwrseq: wifi-pwrseq {
102*724ba675SRob Herring		compatible = "mmc-pwrseq-simple";
103*724ba675SRob Herring		clocks = <&ac100_rtc 1>;
104*724ba675SRob Herring		clock-names = "ext_clock";
105*724ba675SRob Herring		/* enables internal regulator and de-asserts reset */
106*724ba675SRob Herring		reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 WL-PMU-EN */
107*724ba675SRob Herring	};
108*724ba675SRob Herring};
109*724ba675SRob Herring
110*724ba675SRob Herring&ehci0 {
111*724ba675SRob Herring	status = "okay";
112*724ba675SRob Herring};
113*724ba675SRob Herring
114*724ba675SRob Herring&ehci1 {
115*724ba675SRob Herring	/* Enable if HSIC peripheral is connected */
116*724ba675SRob Herring	status = "disabled";
117*724ba675SRob Herring};
118*724ba675SRob Herring
119*724ba675SRob Herring&ehci2 {
120*724ba675SRob Herring	status = "okay";
121*724ba675SRob Herring};
122*724ba675SRob Herring
123*724ba675SRob Herring&gmac {
124*724ba675SRob Herring	pinctrl-names = "default";
125*724ba675SRob Herring	pinctrl-0 = <&gmac_rgmii_pins>;
126*724ba675SRob Herring	phy-handle = <&phy1>;
127*724ba675SRob Herring	phy-mode = "rgmii-id";
128*724ba675SRob Herring	phy-supply = <&reg_cldo1>;
129*724ba675SRob Herring	status = "okay";
130*724ba675SRob Herring};
131*724ba675SRob Herring
132*724ba675SRob Herring&mdio {
133*724ba675SRob Herring	phy1: ethernet-phy@1 {
134*724ba675SRob Herring		reg = <1>;
135*724ba675SRob Herring	};
136*724ba675SRob Herring};
137*724ba675SRob Herring
138*724ba675SRob Herring&mmc0 {
139*724ba675SRob Herring	pinctrl-names = "default";
140*724ba675SRob Herring	pinctrl-0 = <&mmc0_pins>;
141*724ba675SRob Herring	vmmc-supply = <&reg_dcdc1>;
142*724ba675SRob Herring	bus-width = <4>;
143*724ba675SRob Herring	cd-gpios = <&pio 7 18 GPIO_ACTIVE_LOW>; /* PH8 */
144*724ba675SRob Herring	status = "okay";
145*724ba675SRob Herring};
146*724ba675SRob Herring
147*724ba675SRob Herring&mmc1 {
148*724ba675SRob Herring	pinctrl-names = "default";
149*724ba675SRob Herring	pinctrl-0 = <&mmc1_pins>;
150*724ba675SRob Herring	vmmc-supply = <&reg_dldo1>;
151*724ba675SRob Herring	vqmmc-supply = <&reg_cldo3>;
152*724ba675SRob Herring	mmc-pwrseq = <&wifi_pwrseq>;
153*724ba675SRob Herring	bus-width = <4>;
154*724ba675SRob Herring	non-removable;
155*724ba675SRob Herring	status = "okay";
156*724ba675SRob Herring};
157*724ba675SRob Herring
158*724ba675SRob Herring&mmc1_pins {
159*724ba675SRob Herring	bias-pull-up;
160*724ba675SRob Herring};
161*724ba675SRob Herring
162*724ba675SRob Herring&mmc2 {
163*724ba675SRob Herring	pinctrl-names = "default";
164*724ba675SRob Herring	pinctrl-0 = <&mmc2_8bit_pins>;
165*724ba675SRob Herring	vmmc-supply = <&reg_dcdc1>;
166*724ba675SRob Herring	bus-width = <8>;
167*724ba675SRob Herring	non-removable;
168*724ba675SRob Herring	cap-mmc-hw-reset;
169*724ba675SRob Herring	status = "okay";
170*724ba675SRob Herring};
171*724ba675SRob Herring
172*724ba675SRob Herring&mmc2_8bit_pins {
173*724ba675SRob Herring	/* Increase drive strength for DDR modes */
174*724ba675SRob Herring	drive-strength = <40>;
175*724ba675SRob Herring};
176*724ba675SRob Herring
177*724ba675SRob Herring&ohci0 {
178*724ba675SRob Herring	status = "okay";
179*724ba675SRob Herring};
180*724ba675SRob Herring
181*724ba675SRob Herring&ohci2 {
182*724ba675SRob Herring	status = "okay";
183*724ba675SRob Herring};
184*724ba675SRob Herring
185*724ba675SRob Herring&osc32k {
186*724ba675SRob Herring	/* osc32k input is from AC100 */
187*724ba675SRob Herring	clocks = <&ac100_rtc 0>;
188*724ba675SRob Herring};
189*724ba675SRob Herring
190*724ba675SRob Herring&pio {
191*724ba675SRob Herring	vcc-pa-supply = <&reg_ldo_io1>;
192*724ba675SRob Herring	vcc-pb-supply = <&reg_aldo2>;
193*724ba675SRob Herring	vcc-pc-supply = <&reg_dcdc1>;
194*724ba675SRob Herring	vcc-pd-supply = <&reg_dcdc1>;
195*724ba675SRob Herring	vcc-pe-supply = <&reg_eldo2>;
196*724ba675SRob Herring	vcc-pf-supply = <&reg_dcdc1>;
197*724ba675SRob Herring	vcc-pg-supply = <&reg_ldo_io0>;
198*724ba675SRob Herring	vcc-ph-supply = <&reg_dcdc1>;
199*724ba675SRob Herring};
200*724ba675SRob Herring
201*724ba675SRob Herring&r_ir {
202*724ba675SRob Herring	status = "okay";
203*724ba675SRob Herring};
204*724ba675SRob Herring
205*724ba675SRob Herring&r_pio {
206*724ba675SRob Herring	vcc-pl-supply = <&reg_dldo2>;
207*724ba675SRob Herring	vcc-pm-supply = <&reg_eldo3>;
208*724ba675SRob Herring};
209*724ba675SRob Herring
210*724ba675SRob Herring&r_rsb {
211*724ba675SRob Herring	status = "okay";
212*724ba675SRob Herring
213*724ba675SRob Herring	axp809: pmic@3a3 {
214*724ba675SRob Herring		reg = <0x3a3>;
215*724ba675SRob Herring		interrupt-parent = <&nmi_intc>;
216*724ba675SRob Herring		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
217*724ba675SRob Herring
218*724ba675SRob Herring		regulators {
219*724ba675SRob Herring			reg_aldo1: aldo1 {
220*724ba675SRob Herring				/*
221*724ba675SRob Herring				 * TODO: This should be handled by the
222*724ba675SRob Herring				 * USB PHY driver.
223*724ba675SRob Herring				 */
224*724ba675SRob Herring				regulator-always-on;
225*724ba675SRob Herring				regulator-min-microvolt = <3000000>;
226*724ba675SRob Herring				regulator-max-microvolt = <3000000>;
227*724ba675SRob Herring				regulator-name = "vcc33-usbh";
228*724ba675SRob Herring			};
229*724ba675SRob Herring
230*724ba675SRob Herring			reg_aldo2: aldo2 {
231*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
232*724ba675SRob Herring				regulator-max-microvolt = <1800000>;
233*724ba675SRob Herring				regulator-name = "vcc-pb-io-cam";
234*724ba675SRob Herring			};
235*724ba675SRob Herring
236*724ba675SRob Herring			aldo3 {
237*724ba675SRob Herring				/* unused */
238*724ba675SRob Herring			};
239*724ba675SRob Herring
240*724ba675SRob Herring			reg_dc5ldo: dc5ldo {
241*724ba675SRob Herring				regulator-always-on;
242*724ba675SRob Herring				regulator-min-microvolt = <800000>;
243*724ba675SRob Herring				regulator-max-microvolt = <1100000>;
244*724ba675SRob Herring				regulator-name = "vdd-cpus-09-usbh";
245*724ba675SRob Herring			};
246*724ba675SRob Herring
247*724ba675SRob Herring			dc1sw {
248*724ba675SRob Herring				/* unused */
249*724ba675SRob Herring			};
250*724ba675SRob Herring
251*724ba675SRob Herring			reg_dcdc1: dcdc1 {
252*724ba675SRob Herring				regulator-always-on;
253*724ba675SRob Herring				regulator-min-microvolt = <3000000>;
254*724ba675SRob Herring				regulator-max-microvolt = <3000000>;
255*724ba675SRob Herring				regulator-name = "vcc-3v";
256*724ba675SRob Herring			};
257*724ba675SRob Herring
258*724ba675SRob Herring			reg_dcdc2: dcdc2 {
259*724ba675SRob Herring				regulator-min-microvolt = <800000>;
260*724ba675SRob Herring				regulator-max-microvolt = <1100000>;
261*724ba675SRob Herring				regulator-name = "vdd-gpu";
262*724ba675SRob Herring			};
263*724ba675SRob Herring
264*724ba675SRob Herring			reg_dcdc3: dcdc3 {
265*724ba675SRob Herring				regulator-always-on;
266*724ba675SRob Herring				regulator-min-microvolt = <800000>;
267*724ba675SRob Herring				regulator-max-microvolt = <1100000>;
268*724ba675SRob Herring				regulator-name = "vdd-cpua";
269*724ba675SRob Herring			};
270*724ba675SRob Herring
271*724ba675SRob Herring			reg_dcdc4: dcdc4 {
272*724ba675SRob Herring				regulator-always-on;
273*724ba675SRob Herring				regulator-min-microvolt = <800000>;
274*724ba675SRob Herring				regulator-max-microvolt = <1100000>;
275*724ba675SRob Herring				regulator-name = "vdd-sys-usb0-hdmi";
276*724ba675SRob Herring			};
277*724ba675SRob Herring
278*724ba675SRob Herring			reg_dcdc5: dcdc5 {
279*724ba675SRob Herring				regulator-always-on;
280*724ba675SRob Herring				regulator-min-microvolt = <1425000>;
281*724ba675SRob Herring				regulator-max-microvolt = <1575000>;
282*724ba675SRob Herring				regulator-name = "vcc-dram";
283*724ba675SRob Herring			};
284*724ba675SRob Herring
285*724ba675SRob Herring			reg_dldo1: dldo1 {
286*724ba675SRob Herring				/*
287*724ba675SRob Herring				 * The WiFi chip supports a wide range
288*724ba675SRob Herring				 * (3.0 ~ 4.8V) of voltages, and so does
289*724ba675SRob Herring				 * this regulator (3.0 ~ 4.2V), but
290*724ba675SRob Herring				 * Allwinner SDK always sets it to 3.3V.
291*724ba675SRob Herring				 */
292*724ba675SRob Herring				regulator-min-microvolt = <3300000>;
293*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
294*724ba675SRob Herring				regulator-name = "vcc-wifi";
295*724ba675SRob Herring			};
296*724ba675SRob Herring
297*724ba675SRob Herring			reg_dldo2: dldo2 {
298*724ba675SRob Herring				regulator-min-microvolt = <3000000>;
299*724ba675SRob Herring				regulator-max-microvolt = <3000000>;
300*724ba675SRob Herring				regulator-name = "vcc-pl";
301*724ba675SRob Herring			};
302*724ba675SRob Herring
303*724ba675SRob Herring			reg_eldo1: eldo1 {
304*724ba675SRob Herring				regulator-min-microvolt = <1200000>;
305*724ba675SRob Herring				regulator-max-microvolt = <1200000>;
306*724ba675SRob Herring				regulator-name = "vcc-dvdd-cam";
307*724ba675SRob Herring			};
308*724ba675SRob Herring
309*724ba675SRob Herring			reg_eldo2: eldo2 {
310*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
311*724ba675SRob Herring				regulator-max-microvolt = <1800000>;
312*724ba675SRob Herring				regulator-name = "vcc-pe";
313*724ba675SRob Herring			};
314*724ba675SRob Herring
315*724ba675SRob Herring			reg_eldo3: eldo3 {
316*724ba675SRob Herring				regulator-min-microvolt = <3000000>;
317*724ba675SRob Herring				regulator-max-microvolt = <3000000>;
318*724ba675SRob Herring				regulator-name = "vcc-pm-codec-io1";
319*724ba675SRob Herring			};
320*724ba675SRob Herring
321*724ba675SRob Herring			reg_ldo_io0: ldo_io0 {
322*724ba675SRob Herring				regulator-min-microvolt = <3000000>;
323*724ba675SRob Herring				regulator-max-microvolt = <3000000>;
324*724ba675SRob Herring				regulator-name = "vcc-pg";
325*724ba675SRob Herring			};
326*724ba675SRob Herring
327*724ba675SRob Herring			reg_ldo_io1: ldo_io1 {
328*724ba675SRob Herring				regulator-min-microvolt = <2500000>;
329*724ba675SRob Herring				regulator-max-microvolt = <2500000>;
330*724ba675SRob Herring				regulator-name = "vcc-pa-gmac-2v5";
331*724ba675SRob Herring			};
332*724ba675SRob Herring
333*724ba675SRob Herring			reg_rtc_ldo: rtc_ldo {
334*724ba675SRob Herring				regulator-name = "vcc-rtc-vdd1v8-io";
335*724ba675SRob Herring			};
336*724ba675SRob Herring
337*724ba675SRob Herring			sw {
338*724ba675SRob Herring				/* unused */
339*724ba675SRob Herring			};
340*724ba675SRob Herring		};
341*724ba675SRob Herring	};
342*724ba675SRob Herring
343*724ba675SRob Herring	axp806: pmic@745 {
344*724ba675SRob Herring		compatible = "x-powers,axp806";
345*724ba675SRob Herring		reg = <0x745>;
346*724ba675SRob Herring		interrupt-parent = <&nmi_intc>;
347*724ba675SRob Herring		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
348*724ba675SRob Herring		interrupt-controller;
349*724ba675SRob Herring		#interrupt-cells = <1>;
350*724ba675SRob Herring		bldoin-supply = <&reg_dcdce>;
351*724ba675SRob Herring
352*724ba675SRob Herring		regulators {
353*724ba675SRob Herring			reg_s_aldo1: aldo1 {
354*724ba675SRob Herring				regulator-always-on;
355*724ba675SRob Herring				regulator-min-microvolt = <3000000>;
356*724ba675SRob Herring				regulator-max-microvolt = <3000000>;
357*724ba675SRob Herring				regulator-name = "avcc";
358*724ba675SRob Herring			};
359*724ba675SRob Herring
360*724ba675SRob Herring			aldo2 {
361*724ba675SRob Herring				/*
362*724ba675SRob Herring				 * unused, but use a different name to
363*724ba675SRob Herring				 * avoid name clash with axp809's aldo's
364*724ba675SRob Herring				 */
365*724ba675SRob Herring				regulator-name = "s_aldo2";
366*724ba675SRob Herring			};
367*724ba675SRob Herring
368*724ba675SRob Herring			aldo3 {
369*724ba675SRob Herring				/*
370*724ba675SRob Herring				 * unused, but use a different name to
371*724ba675SRob Herring				 * avoid name clash with axp809's aldo's
372*724ba675SRob Herring				 */
373*724ba675SRob Herring				regulator-name = "s_aldo3";
374*724ba675SRob Herring			};
375*724ba675SRob Herring
376*724ba675SRob Herring			reg_bldo1: bldo1 {
377*724ba675SRob Herring				regulator-always-on;
378*724ba675SRob Herring				regulator-min-microvolt = <1700000>;
379*724ba675SRob Herring				regulator-max-microvolt = <1900000>;
380*724ba675SRob Herring				regulator-name = "vcc18-efuse-adc-display-csi";
381*724ba675SRob Herring			};
382*724ba675SRob Herring
383*724ba675SRob Herring			reg_bldo2: bldo2 {
384*724ba675SRob Herring				regulator-always-on;
385*724ba675SRob Herring				regulator-min-microvolt = <1700000>;
386*724ba675SRob Herring				regulator-max-microvolt = <1900000>;
387*724ba675SRob Herring				regulator-name =
388*724ba675SRob Herring					"vdd18-drampll-vcc18-pll-cpvdd";
389*724ba675SRob Herring			};
390*724ba675SRob Herring
391*724ba675SRob Herring			bldo3 {
392*724ba675SRob Herring				/* unused */
393*724ba675SRob Herring			};
394*724ba675SRob Herring
395*724ba675SRob Herring			reg_bldo4: bldo4 {
396*724ba675SRob Herring				regulator-min-microvolt = <1100000>;
397*724ba675SRob Herring				regulator-max-microvolt = <1300000>;
398*724ba675SRob Herring				regulator-name = "vcc12-hsic";
399*724ba675SRob Herring			};
400*724ba675SRob Herring
401*724ba675SRob Herring			reg_cldo1: cldo1 {
402*724ba675SRob Herring				/*
403*724ba675SRob Herring				 * This was 3V in the original design, but
404*724ba675SRob Herring				 * 3.3V is the recommended supply voltage
405*724ba675SRob Herring				 * for the Ethernet PHY.
406*724ba675SRob Herring				 */
407*724ba675SRob Herring				regulator-min-microvolt = <3300000>;
408*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
409*724ba675SRob Herring				/*
410*724ba675SRob Herring				 * The PHY requires 20ms after all voltages
411*724ba675SRob Herring				 * are applied until core logic is ready and
412*724ba675SRob Herring				 * 30ms after the reset pin is de-asserted.
413*724ba675SRob Herring				 * Set a 100ms delay to account for PMIC
414*724ba675SRob Herring				 * ramp time and board traces.
415*724ba675SRob Herring				 */
416*724ba675SRob Herring				regulator-enable-ramp-delay = <100000>;
417*724ba675SRob Herring				regulator-name = "vcc-gmac-phy";
418*724ba675SRob Herring			};
419*724ba675SRob Herring
420*724ba675SRob Herring			reg_cldo2: cldo2 {
421*724ba675SRob Herring				regulator-min-microvolt = <2800000>;
422*724ba675SRob Herring				regulator-max-microvolt = <2800000>;
423*724ba675SRob Herring				regulator-name = "afvcc-cam";
424*724ba675SRob Herring			};
425*724ba675SRob Herring
426*724ba675SRob Herring			reg_cldo3: cldo3 {
427*724ba675SRob Herring				regulator-min-microvolt = <3000000>;
428*724ba675SRob Herring				regulator-max-microvolt = <3000000>;
429*724ba675SRob Herring				regulator-name = "vcc-io-wifi-codec-io2";
430*724ba675SRob Herring			};
431*724ba675SRob Herring
432*724ba675SRob Herring			reg_dcdca: dcdca {
433*724ba675SRob Herring				regulator-always-on;
434*724ba675SRob Herring				regulator-min-microvolt = <800000>;
435*724ba675SRob Herring				regulator-max-microvolt = <1100000>;
436*724ba675SRob Herring				regulator-name = "vdd-cpub";
437*724ba675SRob Herring			};
438*724ba675SRob Herring
439*724ba675SRob Herring			reg_dcdcd: dcdcd {
440*724ba675SRob Herring				regulator-always-on;
441*724ba675SRob Herring				regulator-min-microvolt = <800000>;
442*724ba675SRob Herring				regulator-max-microvolt = <1100000>;
443*724ba675SRob Herring				regulator-name = "vdd-vpu";
444*724ba675SRob Herring			};
445*724ba675SRob Herring
446*724ba675SRob Herring			reg_dcdce: dcdce {
447*724ba675SRob Herring				regulator-always-on;
448*724ba675SRob Herring				regulator-min-microvolt = <2100000>;
449*724ba675SRob Herring				regulator-max-microvolt = <2100000>;
450*724ba675SRob Herring				regulator-name = "vcc-bldo-codec-ldoin";
451*724ba675SRob Herring			};
452*724ba675SRob Herring
453*724ba675SRob Herring			sw {
454*724ba675SRob Herring				/*
455*724ba675SRob Herring				 * unused, but use a different name to
456*724ba675SRob Herring				 * avoid name clash with axp809's sw
457*724ba675SRob Herring				 */
458*724ba675SRob Herring				regulator-name = "s_sw";
459*724ba675SRob Herring			};
460*724ba675SRob Herring		};
461*724ba675SRob Herring	};
462*724ba675SRob Herring
463*724ba675SRob Herring	ac100: codec@e89 {
464*724ba675SRob Herring		compatible = "x-powers,ac100";
465*724ba675SRob Herring		reg = <0xe89>;
466*724ba675SRob Herring
467*724ba675SRob Herring		ac100_codec: codec {
468*724ba675SRob Herring			compatible = "x-powers,ac100-codec";
469*724ba675SRob Herring			interrupt-parent = <&r_pio>;
470*724ba675SRob Herring			interrupts = <0 9 IRQ_TYPE_LEVEL_LOW>; /* PL9 */
471*724ba675SRob Herring			#clock-cells = <0>;
472*724ba675SRob Herring			clock-output-names = "4M_adda";
473*724ba675SRob Herring		};
474*724ba675SRob Herring
475*724ba675SRob Herring		ac100_rtc: rtc {
476*724ba675SRob Herring			compatible = "x-powers,ac100-rtc";
477*724ba675SRob Herring			interrupt-parent = <&nmi_intc>;
478*724ba675SRob Herring			interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
479*724ba675SRob Herring			clocks = <&ac100_codec>;
480*724ba675SRob Herring			#clock-cells = <1>;
481*724ba675SRob Herring			clock-output-names = "cko1_rtc",
482*724ba675SRob Herring					     "cko2_rtc",
483*724ba675SRob Herring					     "cko3_rtc";
484*724ba675SRob Herring		};
485*724ba675SRob Herring	};
486*724ba675SRob Herring};
487*724ba675SRob Herring
488*724ba675SRob Herring#include "axp809.dtsi"
489*724ba675SRob Herring
490*724ba675SRob Herring&uart0 {
491*724ba675SRob Herring	pinctrl-names = "default";
492*724ba675SRob Herring	pinctrl-0 = <&uart0_ph_pins>;
493*724ba675SRob Herring	status = "okay";
494*724ba675SRob Herring};
495*724ba675SRob Herring
496*724ba675SRob Herring&usbphy1 {
497*724ba675SRob Herring	phy-supply = <&reg_usb1_vbus>;
498*724ba675SRob Herring	status = "okay";
499*724ba675SRob Herring};
500*724ba675SRob Herring
501*724ba675SRob Herring&usbphy2 {
502*724ba675SRob Herring	phy-supply = <&reg_bldo4>;
503*724ba675SRob Herring	/* Enable if HSIC peripheral is connected */
504*724ba675SRob Herring	status = "disabled";
505*724ba675SRob Herring};
506*724ba675SRob Herring
507*724ba675SRob Herring&usbphy3 {
508*724ba675SRob Herring	phy-supply = <&reg_usb3_vbus>;
509*724ba675SRob Herring	status = "okay";
510*724ba675SRob Herring};
511