153ab4af3SHans de Goede/*
253ab4af3SHans de Goede * Copyright 2014 Chen-Yu Tsai
353ab4af3SHans de Goede *
453ab4af3SHans de Goede * Chen-Yu Tsai <wens@csie.org>
553ab4af3SHans de Goede *
653ab4af3SHans de Goede * This file is dual-licensed: you can use it either under the terms
753ab4af3SHans de Goede * of the GPL or the X11 license, at your option. Note that this dual
853ab4af3SHans de Goede * licensing only applies to this file, and not this project as a
953ab4af3SHans de Goede * whole.
1053ab4af3SHans de Goede *
1153ab4af3SHans de Goede *  a) This file is free software; you can redistribute it and/or
1253ab4af3SHans de Goede *     modify it under the terms of the GNU General Public License as
1353ab4af3SHans de Goede *     published by the Free Software Foundation; either version 2 of the
1453ab4af3SHans de Goede *     License, or (at your option) any later version.
1553ab4af3SHans de Goede *
1653ab4af3SHans de Goede *     This file is distributed in the hope that it will be useful,
1753ab4af3SHans de Goede *     but WITHOUT ANY WARRANTY; without even the implied warranty of
1853ab4af3SHans de Goede *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1953ab4af3SHans de Goede *     GNU General Public License for more details.
2053ab4af3SHans de Goede *
2153ab4af3SHans de Goede * Or, alternatively,
2253ab4af3SHans de Goede *
2353ab4af3SHans de Goede *  b) Permission is hereby granted, free of charge, to any person
2453ab4af3SHans de Goede *     obtaining a copy of this software and associated documentation
2553ab4af3SHans de Goede *     files (the "Software"), to deal in the Software without
2653ab4af3SHans de Goede *     restriction, including without limitation the rights to use,
2753ab4af3SHans de Goede *     copy, modify, merge, publish, distribute, sublicense, and/or
2853ab4af3SHans de Goede *     sell copies of the Software, and to permit persons to whom the
2953ab4af3SHans de Goede *     Software is furnished to do so, subject to the following
3053ab4af3SHans de Goede *     conditions:
3153ab4af3SHans de Goede *
3253ab4af3SHans de Goede *     The above copyright notice and this permission notice shall be
3353ab4af3SHans de Goede *     included in all copies or substantial portions of the Software.
3453ab4af3SHans de Goede *
3553ab4af3SHans de Goede *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
3653ab4af3SHans de Goede *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
3753ab4af3SHans de Goede *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
3853ab4af3SHans de Goede *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
3953ab4af3SHans de Goede *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
4053ab4af3SHans de Goede *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
4153ab4af3SHans de Goede *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
4253ab4af3SHans de Goede *     OTHER DEALINGS IN THE SOFTWARE.
4353ab4af3SHans de Goede */
4453ab4af3SHans de Goede
4553ab4af3SHans de Goede/dts-v1/;
4653ab4af3SHans de Goede#include "sun9i-a80.dtsi"
4753ab4af3SHans de Goede
4853ab4af3SHans de Goede#include <dt-bindings/gpio/gpio.h>
4953ab4af3SHans de Goede
5053ab4af3SHans de Goede/ {
5153ab4af3SHans de Goede	model = "Merrii A80 Optimus Board";
5253ab4af3SHans de Goede	compatible = "merrii,a80-optimus", "allwinner,sun9i-a80";
5353ab4af3SHans de Goede
5453ab4af3SHans de Goede	aliases {
5553ab4af3SHans de Goede		serial0 = &uart0;
5653ab4af3SHans de Goede		serial1 = &uart4;
5753ab4af3SHans de Goede	};
5853ab4af3SHans de Goede
5953ab4af3SHans de Goede	chosen {
6053ab4af3SHans de Goede		stdout-path = "serial0:115200n8";
6153ab4af3SHans de Goede	};
6253ab4af3SHans de Goede
6353ab4af3SHans de Goede	leds {
6453ab4af3SHans de Goede		compatible = "gpio-leds";
6553ab4af3SHans de Goede
6653ab4af3SHans de Goede		/* The LED names match those found on the board */
6753ab4af3SHans de Goede		led2 {
6853ab4af3SHans de Goede			label = "optimus:led2:usr";
6953ab4af3SHans de Goede			gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>;
7053ab4af3SHans de Goede		};
7153ab4af3SHans de Goede
7280e5f83cSHans de Goede		led3 {
7380e5f83cSHans de Goede			label = "optimus:led3:usr";
7480e5f83cSHans de Goede			gpios = <&r_pio 1 15 GPIO_ACTIVE_HIGH>; /* PM15 */
7580e5f83cSHans de Goede		};
7653ab4af3SHans de Goede
7753ab4af3SHans de Goede		led4 {
7853ab4af3SHans de Goede			label = "optimus:led4:usr";
7953ab4af3SHans de Goede			gpios = <&pio 7 0 GPIO_ACTIVE_HIGH>;
8053ab4af3SHans de Goede		};
8153ab4af3SHans de Goede	};
8253ab4af3SHans de Goede
83860fbdd4SHans de Goede	reg_usb1_vbus: usb1-vbus {
84860fbdd4SHans de Goede		compatible = "regulator-fixed";
85860fbdd4SHans de Goede		pinctrl-names = "default";
86860fbdd4SHans de Goede		regulator-min-microvolt = <5000000>;
87860fbdd4SHans de Goede		regulator-max-microvolt = <5000000>;
88860fbdd4SHans de Goede		enable-active-high;
89860fbdd4SHans de Goede		gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
90860fbdd4SHans de Goede	};
91860fbdd4SHans de Goede
9253ab4af3SHans de Goede	reg_usb3_vbus: usb3-vbus {
9353ab4af3SHans de Goede		compatible = "regulator-fixed";
9453ab4af3SHans de Goede		pinctrl-names = "default";
9553ab4af3SHans de Goede		regulator-min-microvolt = <5000000>;
9653ab4af3SHans de Goede		regulator-max-microvolt = <5000000>;
9753ab4af3SHans de Goede		enable-active-high;
9853ab4af3SHans de Goede		gpio = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
9953ab4af3SHans de Goede	};
100*8dcc7e69SJagan Teki
101*8dcc7e69SJagan Teki	wifi_pwrseq: wifi-pwrseq {
102*8dcc7e69SJagan Teki		compatible = "mmc-pwrseq-simple";
103*8dcc7e69SJagan Teki		clocks = <&ac100_rtc 1>;
104*8dcc7e69SJagan Teki		clock-names = "ext_clock";
105*8dcc7e69SJagan Teki		/* enables internal regulator and de-asserts reset */
106*8dcc7e69SJagan Teki		reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 WL-PMU-EN */
107*8dcc7e69SJagan Teki	};
10853ab4af3SHans de Goede};
10953ab4af3SHans de Goede
11053ab4af3SHans de Goede&ehci0 {
11153ab4af3SHans de Goede	status = "okay";
11253ab4af3SHans de Goede};
11353ab4af3SHans de Goede
11453ab4af3SHans de Goede&ehci1 {
115*8dcc7e69SJagan Teki	/* Enable if HSIC peripheral is connected */
116*8dcc7e69SJagan Teki	status = "disabled";
11753ab4af3SHans de Goede};
11853ab4af3SHans de Goede
11953ab4af3SHans de Goede&ehci2 {
12053ab4af3SHans de Goede	status = "okay";
12153ab4af3SHans de Goede};
12253ab4af3SHans de Goede
123860fbdd4SHans de Goede&mmc0 {
124860fbdd4SHans de Goede	pinctrl-names = "default";
125*8dcc7e69SJagan Teki	pinctrl-0 = <&mmc0_pins>;
126860fbdd4SHans de Goede	vmmc-supply = <&reg_dcdc1>;
127860fbdd4SHans de Goede	bus-width = <4>;
128*8dcc7e69SJagan Teki	cd-gpios = <&pio 7 18 GPIO_ACTIVE_LOW>; /* PH8 */
129860fbdd4SHans de Goede	status = "okay";
130860fbdd4SHans de Goede};
131860fbdd4SHans de Goede
132*8dcc7e69SJagan Teki&mmc1 {
133*8dcc7e69SJagan Teki	pinctrl-names = "default";
134*8dcc7e69SJagan Teki	pinctrl-0 = <&mmc1_pins>;
135*8dcc7e69SJagan Teki	vmmc-supply = <&reg_dldo1>;
136*8dcc7e69SJagan Teki	vqmmc-supply = <&reg_cldo3>;
137*8dcc7e69SJagan Teki	mmc-pwrseq = <&wifi_pwrseq>;
138*8dcc7e69SJagan Teki	bus-width = <4>;
139*8dcc7e69SJagan Teki	non-removable;
140*8dcc7e69SJagan Teki	status = "okay";
141*8dcc7e69SJagan Teki};
142*8dcc7e69SJagan Teki
143*8dcc7e69SJagan Teki&mmc1_pins {
144*8dcc7e69SJagan Teki	bias-pull-up;
145*8dcc7e69SJagan Teki};
146*8dcc7e69SJagan Teki
147860fbdd4SHans de Goede&mmc2 {
148860fbdd4SHans de Goede	pinctrl-names = "default";
149860fbdd4SHans de Goede	pinctrl-0 = <&mmc2_8bit_pins>;
150860fbdd4SHans de Goede	vmmc-supply = <&reg_dcdc1>;
151860fbdd4SHans de Goede	bus-width = <8>;
152860fbdd4SHans de Goede	non-removable;
153860fbdd4SHans de Goede	cap-mmc-hw-reset;
154860fbdd4SHans de Goede	status = "okay";
155860fbdd4SHans de Goede};
156860fbdd4SHans de Goede
157860fbdd4SHans de Goede&mmc2_8bit_pins {
158860fbdd4SHans de Goede	/* Increase drive strength for DDR modes */
159*8dcc7e69SJagan Teki	drive-strength = <40>;
160860fbdd4SHans de Goede};
161860fbdd4SHans de Goede
16253ab4af3SHans de Goede&ohci0 {
16353ab4af3SHans de Goede	status = "okay";
16453ab4af3SHans de Goede};
16553ab4af3SHans de Goede
16653ab4af3SHans de Goede&ohci2 {
16753ab4af3SHans de Goede	status = "okay";
16853ab4af3SHans de Goede};
16953ab4af3SHans de Goede
170*8dcc7e69SJagan Teki&osc32k {
171*8dcc7e69SJagan Teki	/* osc32k input is from AC100 */
172*8dcc7e69SJagan Teki	clocks = <&ac100_rtc 0>;
17353ab4af3SHans de Goede};
17453ab4af3SHans de Goede
17580e5f83cSHans de Goede&r_ir {
17680e5f83cSHans de Goede	status = "okay";
17780e5f83cSHans de Goede};
17880e5f83cSHans de Goede
17980e5f83cSHans de Goede&r_rsb {
18080e5f83cSHans de Goede	status = "okay";
181860fbdd4SHans de Goede
182860fbdd4SHans de Goede	axp809: pmic@3a3 {
183860fbdd4SHans de Goede		reg = <0x3a3>;
184860fbdd4SHans de Goede		interrupt-parent = <&nmi_intc>;
185860fbdd4SHans de Goede		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
186860fbdd4SHans de Goede
187860fbdd4SHans de Goede		regulators {
188860fbdd4SHans de Goede			reg_aldo1: aldo1 {
189860fbdd4SHans de Goede				/*
190860fbdd4SHans de Goede				 * TODO: This should be handled by the
191860fbdd4SHans de Goede				 * USB PHY driver.
192860fbdd4SHans de Goede				 */
193860fbdd4SHans de Goede				regulator-always-on;
194860fbdd4SHans de Goede				regulator-min-microvolt = <3000000>;
195860fbdd4SHans de Goede				regulator-max-microvolt = <3000000>;
196860fbdd4SHans de Goede				regulator-name = "vcc33-usbh";
19780e5f83cSHans de Goede			};
19880e5f83cSHans de Goede
199860fbdd4SHans de Goede			reg_aldo2: aldo2 {
200860fbdd4SHans de Goede				regulator-min-microvolt = <1800000>;
201860fbdd4SHans de Goede				regulator-max-microvolt = <1800000>;
202860fbdd4SHans de Goede				regulator-name = "vcc-pb-io-cam";
203860fbdd4SHans de Goede			};
204860fbdd4SHans de Goede
205860fbdd4SHans de Goede			aldo3 {
206860fbdd4SHans de Goede				/* unused */
207860fbdd4SHans de Goede			};
208860fbdd4SHans de Goede
209860fbdd4SHans de Goede			reg_dc5ldo: dc5ldo {
210860fbdd4SHans de Goede				regulator-always-on;
211860fbdd4SHans de Goede				regulator-min-microvolt = <800000>;
212860fbdd4SHans de Goede				regulator-max-microvolt = <1100000>;
213860fbdd4SHans de Goede				regulator-name = "vdd-cpus-09-usbh";
214860fbdd4SHans de Goede			};
215860fbdd4SHans de Goede
216860fbdd4SHans de Goede			reg_dcdc1: dcdc1 {
217860fbdd4SHans de Goede				regulator-always-on;
218860fbdd4SHans de Goede				regulator-min-microvolt = <3000000>;
219860fbdd4SHans de Goede				regulator-max-microvolt = <3000000>;
220860fbdd4SHans de Goede				regulator-name = "vcc-3v";
221860fbdd4SHans de Goede			};
222860fbdd4SHans de Goede
223860fbdd4SHans de Goede			reg_dcdc2: dcdc2 {
224860fbdd4SHans de Goede				regulator-min-microvolt = <800000>;
225860fbdd4SHans de Goede				regulator-max-microvolt = <1100000>;
226860fbdd4SHans de Goede				regulator-name = "vdd-gpu";
227860fbdd4SHans de Goede			};
228860fbdd4SHans de Goede
229860fbdd4SHans de Goede			reg_dcdc3: dcdc3 {
230860fbdd4SHans de Goede				regulator-always-on;
231860fbdd4SHans de Goede				regulator-min-microvolt = <800000>;
232860fbdd4SHans de Goede				regulator-max-microvolt = <1100000>;
233860fbdd4SHans de Goede				regulator-name = "vdd-cpua";
234860fbdd4SHans de Goede			};
235860fbdd4SHans de Goede
236860fbdd4SHans de Goede			reg_dcdc4: dcdc4 {
237860fbdd4SHans de Goede				regulator-always-on;
238860fbdd4SHans de Goede				regulator-min-microvolt = <800000>;
239860fbdd4SHans de Goede				regulator-max-microvolt = <1100000>;
240860fbdd4SHans de Goede				regulator-name = "vdd-sys-usb0-hdmi";
241860fbdd4SHans de Goede			};
242860fbdd4SHans de Goede
243860fbdd4SHans de Goede			reg_dcdc5: dcdc5 {
244860fbdd4SHans de Goede				regulator-always-on;
245860fbdd4SHans de Goede				regulator-min-microvolt = <1425000>;
246860fbdd4SHans de Goede				regulator-max-microvolt = <1575000>;
247860fbdd4SHans de Goede				regulator-name = "vcc-dram";
248860fbdd4SHans de Goede			};
249860fbdd4SHans de Goede
250860fbdd4SHans de Goede			reg_dldo1: dldo1 {
251860fbdd4SHans de Goede				/*
252860fbdd4SHans de Goede				 * The WiFi chip supports a wide range
253860fbdd4SHans de Goede				 * (3.0 ~ 4.8V) of voltages, and so does
254860fbdd4SHans de Goede				 * this regulator (3.0 ~ 4.2V), but
255860fbdd4SHans de Goede				 * Allwinner SDK always sets it to 3.3V.
256860fbdd4SHans de Goede				 */
257860fbdd4SHans de Goede				regulator-min-microvolt = <3300000>;
258860fbdd4SHans de Goede				regulator-max-microvolt = <3300000>;
259860fbdd4SHans de Goede				regulator-name = "vcc-wifi";
260860fbdd4SHans de Goede			};
261860fbdd4SHans de Goede
262860fbdd4SHans de Goede			reg_dldo2: dldo2 {
263860fbdd4SHans de Goede				regulator-always-on;
264860fbdd4SHans de Goede				regulator-min-microvolt = <3000000>;
265860fbdd4SHans de Goede				regulator-max-microvolt = <3000000>;
266860fbdd4SHans de Goede				regulator-name = "vcc-pl";
267860fbdd4SHans de Goede			};
268860fbdd4SHans de Goede
269860fbdd4SHans de Goede			reg_eldo1: eldo1 {
270860fbdd4SHans de Goede				regulator-min-microvolt = <1200000>;
271860fbdd4SHans de Goede				regulator-max-microvolt = <1200000>;
272860fbdd4SHans de Goede				regulator-name = "vcc-dvdd-cam";
273860fbdd4SHans de Goede			};
274860fbdd4SHans de Goede
275860fbdd4SHans de Goede			reg_eldo2: eldo2 {
276860fbdd4SHans de Goede				regulator-min-microvolt = <1800000>;
277860fbdd4SHans de Goede				regulator-max-microvolt = <1800000>;
278860fbdd4SHans de Goede				regulator-name = "vcc-pe";
279860fbdd4SHans de Goede			};
280860fbdd4SHans de Goede
281860fbdd4SHans de Goede			reg_eldo3: eldo3 {
282860fbdd4SHans de Goede				regulator-always-on;
283860fbdd4SHans de Goede				regulator-min-microvolt = <3000000>;
284860fbdd4SHans de Goede				regulator-max-microvolt = <3000000>;
285860fbdd4SHans de Goede				regulator-name = "vcc-pm-codec-io1";
286860fbdd4SHans de Goede			};
287860fbdd4SHans de Goede
288860fbdd4SHans de Goede			reg_ldo_io0: ldo_io0 {
289860fbdd4SHans de Goede				regulator-always-on;
290860fbdd4SHans de Goede				regulator-min-microvolt = <3000000>;
291860fbdd4SHans de Goede				regulator-max-microvolt = <3000000>;
292860fbdd4SHans de Goede				regulator-name = "vcc-pg";
293860fbdd4SHans de Goede			};
294860fbdd4SHans de Goede
295860fbdd4SHans de Goede			reg_ldo_io1: ldo_io1 {
296860fbdd4SHans de Goede				regulator-min-microvolt = <2500000>;
297860fbdd4SHans de Goede				regulator-max-microvolt = <2500000>;
298860fbdd4SHans de Goede				regulator-name = "vcc-pa-gmac-2v5";
299860fbdd4SHans de Goede			};
300860fbdd4SHans de Goede
301860fbdd4SHans de Goede			reg_rtc_ldo: rtc_ldo {
302860fbdd4SHans de Goede				regulator-name = "vcc-rtc-vdd1v8-io";
303860fbdd4SHans de Goede			};
304*8dcc7e69SJagan Teki
305*8dcc7e69SJagan Teki			sw {
306*8dcc7e69SJagan Teki				/* unused */
307*8dcc7e69SJagan Teki			};
308*8dcc7e69SJagan Teki		};
309*8dcc7e69SJagan Teki	};
310*8dcc7e69SJagan Teki
311*8dcc7e69SJagan Teki	axp806: pmic@745 {
312*8dcc7e69SJagan Teki		compatible = "x-powers,axp806";
313*8dcc7e69SJagan Teki		reg = <0x745>;
314*8dcc7e69SJagan Teki		interrupt-parent = <&nmi_intc>;
315*8dcc7e69SJagan Teki		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
316*8dcc7e69SJagan Teki		interrupt-controller;
317*8dcc7e69SJagan Teki		#interrupt-cells = <1>;
318*8dcc7e69SJagan Teki		bldoin-supply = <&reg_dcdce>;
319*8dcc7e69SJagan Teki
320*8dcc7e69SJagan Teki		regulators {
321*8dcc7e69SJagan Teki			reg_s_aldo1: aldo1 {
322*8dcc7e69SJagan Teki				regulator-always-on;
323*8dcc7e69SJagan Teki				regulator-min-microvolt = <3000000>;
324*8dcc7e69SJagan Teki				regulator-max-microvolt = <3000000>;
325*8dcc7e69SJagan Teki				regulator-name = "avcc";
326*8dcc7e69SJagan Teki			};
327*8dcc7e69SJagan Teki
328*8dcc7e69SJagan Teki			aldo2 {
329*8dcc7e69SJagan Teki				/*
330*8dcc7e69SJagan Teki				 * unused, but use a different name to
331*8dcc7e69SJagan Teki				 * avoid name clash with axp809's aldo's
332*8dcc7e69SJagan Teki				 */
333*8dcc7e69SJagan Teki				regulator-name = "s_aldo2";
334*8dcc7e69SJagan Teki			};
335*8dcc7e69SJagan Teki
336*8dcc7e69SJagan Teki			aldo3 {
337*8dcc7e69SJagan Teki				/*
338*8dcc7e69SJagan Teki				 * unused, but use a different name to
339*8dcc7e69SJagan Teki				 * avoid name clash with axp809's aldo's
340*8dcc7e69SJagan Teki				 */
341*8dcc7e69SJagan Teki				regulator-name = "s_aldo3";
342*8dcc7e69SJagan Teki			};
343*8dcc7e69SJagan Teki
344*8dcc7e69SJagan Teki			reg_bldo1: bldo1 {
345*8dcc7e69SJagan Teki				regulator-always-on;
346*8dcc7e69SJagan Teki				regulator-min-microvolt = <1700000>;
347*8dcc7e69SJagan Teki				regulator-max-microvolt = <1900000>;
348*8dcc7e69SJagan Teki				regulator-name = "vcc18-efuse-adc-display-csi";
349*8dcc7e69SJagan Teki			};
350*8dcc7e69SJagan Teki
351*8dcc7e69SJagan Teki			reg_bldo2: bldo2 {
352*8dcc7e69SJagan Teki				regulator-always-on;
353*8dcc7e69SJagan Teki				regulator-min-microvolt = <1700000>;
354*8dcc7e69SJagan Teki				regulator-max-microvolt = <1900000>;
355*8dcc7e69SJagan Teki				regulator-name =
356*8dcc7e69SJagan Teki					"vdd18-drampll-vcc18-pll-cpvdd";
357*8dcc7e69SJagan Teki			};
358*8dcc7e69SJagan Teki
359*8dcc7e69SJagan Teki			bldo3 {
360*8dcc7e69SJagan Teki				/* unused */
361*8dcc7e69SJagan Teki			};
362*8dcc7e69SJagan Teki
363*8dcc7e69SJagan Teki			reg_bldo4: bldo4 {
364*8dcc7e69SJagan Teki				regulator-min-microvolt = <1100000>;
365*8dcc7e69SJagan Teki				regulator-max-microvolt = <1300000>;
366*8dcc7e69SJagan Teki				regulator-name = "vcc12-hsic";
367*8dcc7e69SJagan Teki			};
368*8dcc7e69SJagan Teki
369*8dcc7e69SJagan Teki			reg_cldo1: cldo1 {
370*8dcc7e69SJagan Teki				/*
371*8dcc7e69SJagan Teki				 * This was 3V in the original design, but
372*8dcc7e69SJagan Teki				 * 3.3V is the recommended supply voltage
373*8dcc7e69SJagan Teki				 * for the Ethernet PHY.
374*8dcc7e69SJagan Teki				 */
375*8dcc7e69SJagan Teki				regulator-min-microvolt = <3300000>;
376*8dcc7e69SJagan Teki				regulator-max-microvolt = <3300000>;
377*8dcc7e69SJagan Teki				regulator-name = "vcc-gmac-phy";
378*8dcc7e69SJagan Teki			};
379*8dcc7e69SJagan Teki
380*8dcc7e69SJagan Teki			reg_cldo2: cldo2 {
381*8dcc7e69SJagan Teki				regulator-min-microvolt = <2800000>;
382*8dcc7e69SJagan Teki				regulator-max-microvolt = <2800000>;
383*8dcc7e69SJagan Teki				regulator-name = "afvcc-cam";
384*8dcc7e69SJagan Teki			};
385*8dcc7e69SJagan Teki
386*8dcc7e69SJagan Teki			reg_cldo3: cldo3 {
387*8dcc7e69SJagan Teki				regulator-min-microvolt = <3000000>;
388*8dcc7e69SJagan Teki				regulator-max-microvolt = <3000000>;
389*8dcc7e69SJagan Teki				regulator-name = "vcc-io-wifi-codec-io2";
390*8dcc7e69SJagan Teki			};
391*8dcc7e69SJagan Teki
392*8dcc7e69SJagan Teki			reg_dcdca: dcdca {
393*8dcc7e69SJagan Teki				regulator-always-on;
394*8dcc7e69SJagan Teki				regulator-min-microvolt = <800000>;
395*8dcc7e69SJagan Teki				regulator-max-microvolt = <1100000>;
396*8dcc7e69SJagan Teki				regulator-name = "vdd-cpub";
397*8dcc7e69SJagan Teki			};
398*8dcc7e69SJagan Teki
399*8dcc7e69SJagan Teki			reg_dcdcd: dcdcd {
400*8dcc7e69SJagan Teki				regulator-always-on;
401*8dcc7e69SJagan Teki				regulator-min-microvolt = <800000>;
402*8dcc7e69SJagan Teki				regulator-max-microvolt = <1100000>;
403*8dcc7e69SJagan Teki				regulator-name = "vdd-vpu";
404*8dcc7e69SJagan Teki			};
405*8dcc7e69SJagan Teki
406*8dcc7e69SJagan Teki			reg_dcdce: dcdce {
407*8dcc7e69SJagan Teki				regulator-always-on;
408*8dcc7e69SJagan Teki				regulator-min-microvolt = <2100000>;
409*8dcc7e69SJagan Teki				regulator-max-microvolt = <2100000>;
410*8dcc7e69SJagan Teki				regulator-name = "vcc-bldo-codec-ldoin";
411*8dcc7e69SJagan Teki			};
412*8dcc7e69SJagan Teki
413*8dcc7e69SJagan Teki			sw {
414*8dcc7e69SJagan Teki				/*
415*8dcc7e69SJagan Teki				 * unused, but use a different name to
416*8dcc7e69SJagan Teki				 * avoid name clash with axp809's sw
417*8dcc7e69SJagan Teki				 */
418*8dcc7e69SJagan Teki				regulator-name = "s_sw";
419*8dcc7e69SJagan Teki			};
420*8dcc7e69SJagan Teki		};
421*8dcc7e69SJagan Teki	};
422*8dcc7e69SJagan Teki
423*8dcc7e69SJagan Teki	ac100: codec@e89 {
424*8dcc7e69SJagan Teki		compatible = "x-powers,ac100";
425*8dcc7e69SJagan Teki		reg = <0xe89>;
426*8dcc7e69SJagan Teki
427*8dcc7e69SJagan Teki		ac100_codec: codec {
428*8dcc7e69SJagan Teki			compatible = "x-powers,ac100-codec";
429*8dcc7e69SJagan Teki			interrupt-parent = <&r_pio>;
430*8dcc7e69SJagan Teki			interrupts = <0 9 IRQ_TYPE_LEVEL_LOW>; /* PL9 */
431*8dcc7e69SJagan Teki			#clock-cells = <0>;
432*8dcc7e69SJagan Teki			clock-output-names = "4M_adda";
433*8dcc7e69SJagan Teki		};
434*8dcc7e69SJagan Teki
435*8dcc7e69SJagan Teki		ac100_rtc: rtc {
436*8dcc7e69SJagan Teki			compatible = "x-powers,ac100-rtc";
437*8dcc7e69SJagan Teki			interrupt-parent = <&nmi_intc>;
438*8dcc7e69SJagan Teki			interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
439*8dcc7e69SJagan Teki			clocks = <&ac100_codec>;
440*8dcc7e69SJagan Teki			#clock-cells = <1>;
441*8dcc7e69SJagan Teki			clock-output-names = "cko1_rtc",
442*8dcc7e69SJagan Teki					     "cko2_rtc",
443*8dcc7e69SJagan Teki					     "cko3_rtc";
444860fbdd4SHans de Goede		};
445860fbdd4SHans de Goede	};
446860fbdd4SHans de Goede};
447860fbdd4SHans de Goede
448860fbdd4SHans de Goede#include "axp809.dtsi"
449860fbdd4SHans de Goede
45053ab4af3SHans de Goede&uart0 {
45153ab4af3SHans de Goede	pinctrl-names = "default";
452*8dcc7e69SJagan Teki	pinctrl-0 = <&uart0_ph_pins>;
45353ab4af3SHans de Goede	status = "okay";
45453ab4af3SHans de Goede};
45553ab4af3SHans de Goede
45653ab4af3SHans de Goede&usbphy1 {
45753ab4af3SHans de Goede	phy-supply = <&reg_usb1_vbus>;
45853ab4af3SHans de Goede	status = "okay";
45953ab4af3SHans de Goede};
46053ab4af3SHans de Goede
46153ab4af3SHans de Goede&usbphy2 {
462*8dcc7e69SJagan Teki	phy-supply = <&reg_bldo4>;
463*8dcc7e69SJagan Teki	/* Enable if HSIC peripheral is connected */
464*8dcc7e69SJagan Teki	status = "disabled";
46553ab4af3SHans de Goede};
46653ab4af3SHans de Goede
46753ab4af3SHans de Goede&usbphy3 {
46853ab4af3SHans de Goede	phy-supply = <&reg_usb3_vbus>;
46953ab4af3SHans de Goede	status = "okay";
47053ab4af3SHans de Goede};
471