1*724ba675SRob Herring/*
2*724ba675SRob Herring * Copyright (C) 2017 Touchless Biometric Systems AG
3*724ba675SRob Herring * Tomas Novotny <tomas@novotny.cz>
4*724ba675SRob Herring *
5*724ba675SRob Herring * This file is dual-licensed: you can use it either under the terms
6*724ba675SRob Herring * of the GPL or the X11 license, at your option. Note that this dual
7*724ba675SRob Herring * licensing only applies to this file, and not this project as a
8*724ba675SRob Herring * whole.
9*724ba675SRob Herring *
10*724ba675SRob Herring *  a) This file is free software; you can redistribute it and/or
11*724ba675SRob Herring *     modify it under the terms of the GNU General Public License as
12*724ba675SRob Herring *     published by the Free Software Foundation; either version 2 of the
13*724ba675SRob Herring *     License, or (at your option) any later version.
14*724ba675SRob Herring *
15*724ba675SRob Herring *     This file is distributed in the hope that it will be useful,
16*724ba675SRob Herring *     but WITHOUT ANY WARRANTY; without even the implied warranty of
17*724ba675SRob Herring *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18*724ba675SRob Herring *     GNU General Public License for more details.
19*724ba675SRob Herring *
20*724ba675SRob Herring * Or, alternatively,
21*724ba675SRob Herring *
22*724ba675SRob Herring *  b) Permission is hereby granted, free of charge, to any person
23*724ba675SRob Herring *     obtaining a copy of this software and associated documentation
24*724ba675SRob Herring *     files (the "Software"), to deal in the Software without
25*724ba675SRob Herring *     restriction, including without limitation the rights to use,
26*724ba675SRob Herring *     copy, modify, merge, publish, distribute, sublicense, and/or
27*724ba675SRob Herring *     sell copies of the Software, and to permit persons to whom the
28*724ba675SRob Herring *     Software is furnished to do so, subject to the following
29*724ba675SRob Herring *     conditions:
30*724ba675SRob Herring *
31*724ba675SRob Herring *     The above copyright notice and this permission notice shall be
32*724ba675SRob Herring *     included in all copies or substantial portions of the Software.
33*724ba675SRob Herring *
34*724ba675SRob Herring *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
35*724ba675SRob Herring *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
36*724ba675SRob Herring *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
37*724ba675SRob Herring *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
38*724ba675SRob Herring *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
39*724ba675SRob Herring *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
40*724ba675SRob Herring *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
41*724ba675SRob Herring *     OTHER DEALINGS IN THE SOFTWARE.
42*724ba675SRob Herring */
43*724ba675SRob Herring
44*724ba675SRob Herring/dts-v1/;
45*724ba675SRob Herring#include "sun8i-a83t.dtsi"
46*724ba675SRob Herring
47*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
48*724ba675SRob Herring#include <dt-bindings/pwm/pwm.h>
49*724ba675SRob Herring#include <dt-bindings/input/input.h>
50*724ba675SRob Herring
51*724ba675SRob Herring/ {
52*724ba675SRob Herring	model = "TBS A711 Tablet";
53*724ba675SRob Herring	compatible = "tbs-biometrics,a711", "allwinner,sun8i-a83t";
54*724ba675SRob Herring
55*724ba675SRob Herring	aliases {
56*724ba675SRob Herring		serial0 = &uart0;
57*724ba675SRob Herring		serial1 = &uart1;
58*724ba675SRob Herring	};
59*724ba675SRob Herring
60*724ba675SRob Herring	chosen {
61*724ba675SRob Herring		stdout-path = "serial0:115200n8";
62*724ba675SRob Herring	};
63*724ba675SRob Herring
64*724ba675SRob Herring	backlight: backlight {
65*724ba675SRob Herring		compatible = "pwm-backlight";
66*724ba675SRob Herring		pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
67*724ba675SRob Herring		enable-gpios = <&pio 3 29 GPIO_ACTIVE_HIGH>;
68*724ba675SRob Herring		power-supply = <&reg_sw>;
69*724ba675SRob Herring		brightness-levels = <0 1 2 4 8 16 32 64 128 255>;
70*724ba675SRob Herring		default-brightness-level = <9>;
71*724ba675SRob Herring	};
72*724ba675SRob Herring
73*724ba675SRob Herring	panel {
74*724ba675SRob Herring		compatible = "tbs,a711-panel", "panel-lvds";
75*724ba675SRob Herring		backlight = <&backlight>;
76*724ba675SRob Herring		power-supply = <&reg_sw>;
77*724ba675SRob Herring
78*724ba675SRob Herring		width-mm = <153>;
79*724ba675SRob Herring		height-mm = <90>;
80*724ba675SRob Herring		data-mapping = "vesa-24";
81*724ba675SRob Herring
82*724ba675SRob Herring		panel-timing {
83*724ba675SRob Herring			/* 1024x600 @60Hz */
84*724ba675SRob Herring			clock-frequency = <52000000>;
85*724ba675SRob Herring			hactive = <1024>;
86*724ba675SRob Herring			vactive = <600>;
87*724ba675SRob Herring			hsync-len = <20>;
88*724ba675SRob Herring			hfront-porch = <180>;
89*724ba675SRob Herring			hback-porch = <160>;
90*724ba675SRob Herring			vfront-porch = <12>;
91*724ba675SRob Herring			vback-porch = <23>;
92*724ba675SRob Herring			vsync-len = <5>;
93*724ba675SRob Herring		};
94*724ba675SRob Herring
95*724ba675SRob Herring		port {
96*724ba675SRob Herring			panel_input: endpoint {
97*724ba675SRob Herring				remote-endpoint = <&tcon0_out_lcd>;
98*724ba675SRob Herring			};
99*724ba675SRob Herring		};
100*724ba675SRob Herring	};
101*724ba675SRob Herring
102*724ba675SRob Herring	reg_gps: reg-gps {
103*724ba675SRob Herring		compatible = "regulator-fixed";
104*724ba675SRob Herring		regulator-name = "gps";
105*724ba675SRob Herring		regulator-min-microvolt = <3000000>;
106*724ba675SRob Herring		regulator-max-microvolt = <3000000>;
107*724ba675SRob Herring	};
108*724ba675SRob Herring
109*724ba675SRob Herring	reg_vbat: reg-vbat {
110*724ba675SRob Herring		compatible = "regulator-fixed";
111*724ba675SRob Herring		regulator-name = "vbat";
112*724ba675SRob Herring		regulator-min-microvolt = <3700000>;
113*724ba675SRob Herring		regulator-max-microvolt = <3700000>;
114*724ba675SRob Herring	};
115*724ba675SRob Herring
116*724ba675SRob Herring	reg_vmain: reg-vmain {
117*724ba675SRob Herring		compatible = "regulator-fixed";
118*724ba675SRob Herring		regulator-name = "vmain";
119*724ba675SRob Herring		regulator-min-microvolt = <5000000>;
120*724ba675SRob Herring		regulator-max-microvolt = <5000000>;
121*724ba675SRob Herring		gpio = <&r_pio 0 9 GPIO_ACTIVE_HIGH>;
122*724ba675SRob Herring		enable-active-high;
123*724ba675SRob Herring		vin-supply = <&reg_vbat>;
124*724ba675SRob Herring	};
125*724ba675SRob Herring
126*724ba675SRob Herring	wifi_pwrseq: wifi_pwrseq {
127*724ba675SRob Herring		compatible = "mmc-pwrseq-simple";
128*724ba675SRob Herring		reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 WL-PMU-EN */
129*724ba675SRob Herring
130*724ba675SRob Herring		/*
131*724ba675SRob Herring		 * This is actually Bluetooth's clock, but we have to
132*724ba675SRob Herring		 * hook it up somewheere
133*724ba675SRob Herring		 */
134*724ba675SRob Herring		clocks = <&ac100_rtc 1>;
135*724ba675SRob Herring		clock-names = "ext_clock";
136*724ba675SRob Herring	};
137*724ba675SRob Herring};
138*724ba675SRob Herring
139*724ba675SRob Herring&cpu0 {
140*724ba675SRob Herring	cpu-supply = <&reg_dcdc2>;
141*724ba675SRob Herring};
142*724ba675SRob Herring
143*724ba675SRob Herring&cpu100 {
144*724ba675SRob Herring	cpu-supply = <&reg_dcdc3>;
145*724ba675SRob Herring};
146*724ba675SRob Herring
147*724ba675SRob Herring&de {
148*724ba675SRob Herring	status = "okay";
149*724ba675SRob Herring};
150*724ba675SRob Herring
151*724ba675SRob Herring/*
152*724ba675SRob Herring * An USB-2 hub is connected here, which also means we don't need to
153*724ba675SRob Herring * enable the OHCI controller.
154*724ba675SRob Herring */
155*724ba675SRob Herring&ehci0 {
156*724ba675SRob Herring	status = "okay";
157*724ba675SRob Herring};
158*724ba675SRob Herring
159*724ba675SRob Herring/*
160*724ba675SRob Herring * There's a modem connected here that needs to be initialised before
161*724ba675SRob Herring * being able to be enumerated.
162*724ba675SRob Herring */
163*724ba675SRob Herring&ehci1 {
164*724ba675SRob Herring	status = "okay";
165*724ba675SRob Herring};
166*724ba675SRob Herring
167*724ba675SRob Herring&i2c0 {
168*724ba675SRob Herring	clock-frequency = <400000>;
169*724ba675SRob Herring	status = "okay";
170*724ba675SRob Herring
171*724ba675SRob Herring	touchscreen@38 {
172*724ba675SRob Herring		compatible = "edt,edt-ft5206";
173*724ba675SRob Herring		reg = <0x38>;
174*724ba675SRob Herring		interrupt-parent = <&r_pio>;
175*724ba675SRob Herring		interrupts = <0 7 IRQ_TYPE_EDGE_FALLING>; /* PL7 */
176*724ba675SRob Herring		reset-gpios = <&pio 3 5 GPIO_ACTIVE_LOW>; /* PD5 */
177*724ba675SRob Herring		vcc-supply = <&reg_ldo_io0>;
178*724ba675SRob Herring		touchscreen-size-x = <1024>;
179*724ba675SRob Herring		touchscreen-size-y = <600>;
180*724ba675SRob Herring	};
181*724ba675SRob Herring};
182*724ba675SRob Herring
183*724ba675SRob Herring&i2c1 {
184*724ba675SRob Herring	clock-frequency = <400000>;
185*724ba675SRob Herring	status = "okay";
186*724ba675SRob Herring
187*724ba675SRob Herring	accelerometer@18 {
188*724ba675SRob Herring		compatible = "bosch,bma250";
189*724ba675SRob Herring		reg = <0x18>;
190*724ba675SRob Herring		interrupt-parent = <&pio>;
191*724ba675SRob Herring		interrupts = <7 10 IRQ_TYPE_EDGE_RISING>; /* PH10 / EINT10 */
192*724ba675SRob Herring	};
193*724ba675SRob Herring};
194*724ba675SRob Herring
195*724ba675SRob Herring&mmc0 {
196*724ba675SRob Herring	vmmc-supply = <&reg_dcdc1>;
197*724ba675SRob Herring	pinctrl-names = "default";
198*724ba675SRob Herring	pinctrl-0 = <&mmc0_pins>;
199*724ba675SRob Herring	bus-width = <4>;
200*724ba675SRob Herring	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
201*724ba675SRob Herring	status = "okay";
202*724ba675SRob Herring};
203*724ba675SRob Herring
204*724ba675SRob Herring&mmc1 {
205*724ba675SRob Herring	mmc-pwrseq = <&wifi_pwrseq>;
206*724ba675SRob Herring	bus-width = <4>;
207*724ba675SRob Herring	vmmc-supply = <&reg_dldo1>;
208*724ba675SRob Herring	vqmmc-supply = <&reg_dldo1>;
209*724ba675SRob Herring	non-removable;
210*724ba675SRob Herring	wakeup-source;
211*724ba675SRob Herring	keep-power-in-suspend;
212*724ba675SRob Herring	status = "okay";
213*724ba675SRob Herring
214*724ba675SRob Herring	brcmf: wifi@1 {
215*724ba675SRob Herring		reg = <1>;
216*724ba675SRob Herring		compatible = "brcm,bcm4329-fmac";
217*724ba675SRob Herring		interrupt-parent = <&r_pio>;
218*724ba675SRob Herring		interrupts = <0 3 IRQ_TYPE_LEVEL_LOW>; /* PL3 WL_WAKE_UP */
219*724ba675SRob Herring		interrupt-names = "host-wake";
220*724ba675SRob Herring	};
221*724ba675SRob Herring};
222*724ba675SRob Herring
223*724ba675SRob Herring&mmc2 {
224*724ba675SRob Herring	pinctrl-0 = <&mmc2_8bit_emmc_pins>;
225*724ba675SRob Herring	pinctrl-names = "default";
226*724ba675SRob Herring	vmmc-supply = <&reg_dcdc1>;
227*724ba675SRob Herring	vqmmc-supply = <&reg_dcdc1>;
228*724ba675SRob Herring	bus-width = <8>;
229*724ba675SRob Herring	non-removable;
230*724ba675SRob Herring	cap-mmc-hw-reset;
231*724ba675SRob Herring	status = "okay";
232*724ba675SRob Herring};
233*724ba675SRob Herring
234*724ba675SRob Herring&pwm {
235*724ba675SRob Herring	pinctrl-names = "default";
236*724ba675SRob Herring	pinctrl-0 = <&pwm_pin>;
237*724ba675SRob Herring	status = "okay";
238*724ba675SRob Herring};
239*724ba675SRob Herring
240*724ba675SRob Herring&r_lradc {
241*724ba675SRob Herring	vref-supply = <&reg_aldo2>;
242*724ba675SRob Herring	status = "okay";
243*724ba675SRob Herring
244*724ba675SRob Herring	button-210 {
245*724ba675SRob Herring		label = "Volume Up";
246*724ba675SRob Herring		linux,code = <KEY_VOLUMEUP>;
247*724ba675SRob Herring		channel = <0>;
248*724ba675SRob Herring		voltage = <210000>;
249*724ba675SRob Herring	};
250*724ba675SRob Herring
251*724ba675SRob Herring	button-410 {
252*724ba675SRob Herring		label = "Volume Down";
253*724ba675SRob Herring		linux,code = <KEY_VOLUMEDOWN>;
254*724ba675SRob Herring		channel = <0>;
255*724ba675SRob Herring		voltage = <410000>;
256*724ba675SRob Herring	};
257*724ba675SRob Herring};
258*724ba675SRob Herring
259*724ba675SRob Herring&r_rsb {
260*724ba675SRob Herring	status = "okay";
261*724ba675SRob Herring
262*724ba675SRob Herring	axp81x: pmic@3a3 {
263*724ba675SRob Herring		compatible = "x-powers,axp813";
264*724ba675SRob Herring		reg = <0x3a3>;
265*724ba675SRob Herring		interrupt-parent = <&r_intc>;
266*724ba675SRob Herring		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
267*724ba675SRob Herring		swin-supply = <&reg_dcdc1>;
268*724ba675SRob Herring		x-powers,drive-vbus-en;
269*724ba675SRob Herring	};
270*724ba675SRob Herring
271*724ba675SRob Herring	ac100: codec@e89 {
272*724ba675SRob Herring		compatible = "x-powers,ac100";
273*724ba675SRob Herring		reg = <0xe89>;
274*724ba675SRob Herring
275*724ba675SRob Herring		ac100_codec: codec {
276*724ba675SRob Herring			compatible = "x-powers,ac100-codec";
277*724ba675SRob Herring			interrupt-parent = <&r_pio>;
278*724ba675SRob Herring			interrupts = <0 12 IRQ_TYPE_LEVEL_LOW>; /* PL12 */
279*724ba675SRob Herring			#clock-cells = <0>;
280*724ba675SRob Herring			clock-output-names = "4M_adda";
281*724ba675SRob Herring		};
282*724ba675SRob Herring
283*724ba675SRob Herring		ac100_rtc: rtc {
284*724ba675SRob Herring			compatible = "x-powers,ac100-rtc";
285*724ba675SRob Herring			interrupt-parent = <&r_intc>;
286*724ba675SRob Herring			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
287*724ba675SRob Herring			clocks = <&ac100_codec>;
288*724ba675SRob Herring			#clock-cells = <1>;
289*724ba675SRob Herring			clock-output-names = "cko1_rtc",
290*724ba675SRob Herring					     "cko2_rtc",
291*724ba675SRob Herring					     "cko3_rtc";
292*724ba675SRob Herring		};
293*724ba675SRob Herring	};
294*724ba675SRob Herring
295*724ba675SRob Herring};
296*724ba675SRob Herring
297*724ba675SRob Herring#include "axp81x.dtsi"
298*724ba675SRob Herring
299*724ba675SRob Herring&battery_power_supply {
300*724ba675SRob Herring	status = "okay";
301*724ba675SRob Herring};
302*724ba675SRob Herring
303*724ba675SRob Herring&reg_aldo1 {
304*724ba675SRob Herring	regulator-min-microvolt = <1800000>;
305*724ba675SRob Herring	regulator-max-microvolt = <1800000>;
306*724ba675SRob Herring	regulator-name = "vcc-1.8";
307*724ba675SRob Herring};
308*724ba675SRob Herring
309*724ba675SRob Herring&reg_aldo2 {
310*724ba675SRob Herring	regulator-min-microvolt = <1800000>;
311*724ba675SRob Herring	regulator-max-microvolt = <1800000>;
312*724ba675SRob Herring	regulator-always-on;
313*724ba675SRob Herring	regulator-name = "vdd-drampll";
314*724ba675SRob Herring};
315*724ba675SRob Herring
316*724ba675SRob Herring&reg_aldo3 {
317*724ba675SRob Herring	regulator-min-microvolt = <3000000>;
318*724ba675SRob Herring	regulator-max-microvolt = <3000000>;
319*724ba675SRob Herring	regulator-always-on;
320*724ba675SRob Herring	regulator-name = "avcc";
321*724ba675SRob Herring};
322*724ba675SRob Herring
323*724ba675SRob Herring&reg_dcdc1 {
324*724ba675SRob Herring	regulator-min-microvolt = <3100000>;
325*724ba675SRob Herring	regulator-max-microvolt = <3100000>;
326*724ba675SRob Herring	regulator-always-on;
327*724ba675SRob Herring	regulator-name = "vcc-io";
328*724ba675SRob Herring};
329*724ba675SRob Herring
330*724ba675SRob Herring&reg_dcdc2 {
331*724ba675SRob Herring	regulator-min-microvolt = <700000>;
332*724ba675SRob Herring	regulator-max-microvolt = <1100000>;
333*724ba675SRob Herring	regulator-always-on;
334*724ba675SRob Herring	regulator-name = "vdd-cpu-A";
335*724ba675SRob Herring};
336*724ba675SRob Herring
337*724ba675SRob Herring&reg_dcdc3 {
338*724ba675SRob Herring	regulator-min-microvolt = <700000>;
339*724ba675SRob Herring	regulator-max-microvolt = <1100000>;
340*724ba675SRob Herring	regulator-always-on;
341*724ba675SRob Herring	regulator-name = "vdd-cpu-B";
342*724ba675SRob Herring};
343*724ba675SRob Herring
344*724ba675SRob Herring&reg_dcdc4 {
345*724ba675SRob Herring	regulator-min-microvolt = <700000>;
346*724ba675SRob Herring	regulator-max-microvolt = <1100000>;
347*724ba675SRob Herring	regulator-name = "vdd-gpu";
348*724ba675SRob Herring};
349*724ba675SRob Herring
350*724ba675SRob Herring&reg_dcdc5 {
351*724ba675SRob Herring	regulator-min-microvolt = <1200000>;
352*724ba675SRob Herring	regulator-max-microvolt = <1500000>;
353*724ba675SRob Herring	regulator-always-on;
354*724ba675SRob Herring	regulator-name = "vcc-dram";
355*724ba675SRob Herring};
356*724ba675SRob Herring
357*724ba675SRob Herring&reg_dcdc6 {
358*724ba675SRob Herring	regulator-min-microvolt = <900000>;
359*724ba675SRob Herring	regulator-max-microvolt = <900000>;
360*724ba675SRob Herring	regulator-always-on;
361*724ba675SRob Herring	regulator-name = "vdd-sys";
362*724ba675SRob Herring};
363*724ba675SRob Herring
364*724ba675SRob Herring&reg_dldo1 {
365*724ba675SRob Herring	regulator-min-microvolt = <3100000>;
366*724ba675SRob Herring	regulator-max-microvolt = <3100000>;
367*724ba675SRob Herring	regulator-name = "vcc-wifi-io";
368*724ba675SRob Herring};
369*724ba675SRob Herring
370*724ba675SRob Herring&reg_dldo2 {
371*724ba675SRob Herring	regulator-min-microvolt = <2800000>;
372*724ba675SRob Herring	regulator-max-microvolt = <4200000>;
373*724ba675SRob Herring	regulator-name = "vcc-mipi";
374*724ba675SRob Herring};
375*724ba675SRob Herring
376*724ba675SRob Herring&reg_dldo3 {
377*724ba675SRob Herring	regulator-min-microvolt = <1800000>;
378*724ba675SRob Herring	regulator-max-microvolt = <1800000>;
379*724ba675SRob Herring	regulator-name = "vdd-csi";
380*724ba675SRob Herring};
381*724ba675SRob Herring
382*724ba675SRob Herring&reg_dldo4 {
383*724ba675SRob Herring	regulator-min-microvolt = <2800000>;
384*724ba675SRob Herring	regulator-max-microvolt = <2800000>;
385*724ba675SRob Herring	regulator-name = "avdd-csi";
386*724ba675SRob Herring};
387*724ba675SRob Herring
388*724ba675SRob Herring&reg_drivevbus {
389*724ba675SRob Herring	regulator-name = "usb0-vbus";
390*724ba675SRob Herring	status = "okay";
391*724ba675SRob Herring};
392*724ba675SRob Herring
393*724ba675SRob Herring&reg_eldo1 {
394*724ba675SRob Herring	regulator-min-microvolt = <1200000>;
395*724ba675SRob Herring	regulator-max-microvolt = <1800000>;
396*724ba675SRob Herring	regulator-name = "dvdd-csi-r";
397*724ba675SRob Herring};
398*724ba675SRob Herring
399*724ba675SRob Herring&reg_eldo2 {
400*724ba675SRob Herring	regulator-min-microvolt = <1800000>;
401*724ba675SRob Herring	regulator-max-microvolt = <1800000>;
402*724ba675SRob Herring	regulator-name = "vcc-dsi";
403*724ba675SRob Herring};
404*724ba675SRob Herring
405*724ba675SRob Herring&reg_eldo3 {
406*724ba675SRob Herring	regulator-min-microvolt = <1200000>;
407*724ba675SRob Herring	regulator-max-microvolt = <1800000>;
408*724ba675SRob Herring	regulator-name = "dvdd-csi-f";
409*724ba675SRob Herring};
410*724ba675SRob Herring
411*724ba675SRob Herring&reg_fldo1 {
412*724ba675SRob Herring	regulator-min-microvolt = <1200000>;
413*724ba675SRob Herring	regulator-max-microvolt = <1200000>;
414*724ba675SRob Herring	regulator-name = "vcc-hsic";
415*724ba675SRob Herring};
416*724ba675SRob Herring
417*724ba675SRob Herring&reg_fldo2 {
418*724ba675SRob Herring	regulator-min-microvolt = <700000>;
419*724ba675SRob Herring	regulator-max-microvolt = <1100000>;
420*724ba675SRob Herring	regulator-always-on;
421*724ba675SRob Herring	regulator-name = "vdd-cpus";
422*724ba675SRob Herring};
423*724ba675SRob Herring
424*724ba675SRob Herring&reg_ldo_io0 {
425*724ba675SRob Herring	regulator-min-microvolt = <3100000>;
426*724ba675SRob Herring	regulator-max-microvolt = <3100000>;
427*724ba675SRob Herring	regulator-name = "vcc-ctp";
428*724ba675SRob Herring	status = "okay";
429*724ba675SRob Herring};
430*724ba675SRob Herring
431*724ba675SRob Herring&reg_ldo_io1 {
432*724ba675SRob Herring	regulator-min-microvolt = <3100000>;
433*724ba675SRob Herring	regulator-max-microvolt = <3100000>;
434*724ba675SRob Herring	regulator-name = "vcc-vb";
435*724ba675SRob Herring	status = "okay";
436*724ba675SRob Herring};
437*724ba675SRob Herring
438*724ba675SRob Herring&reg_sw {
439*724ba675SRob Herring	regulator-min-microvolt = <3100000>;
440*724ba675SRob Herring	regulator-max-microvolt = <3100000>;
441*724ba675SRob Herring	regulator-name = "vcc-lcd";
442*724ba675SRob Herring};
443*724ba675SRob Herring
444*724ba675SRob Herring&tcon0 {
445*724ba675SRob Herring	pinctrl-names = "default";
446*724ba675SRob Herring	pinctrl-0 = <&lcd_lvds_pins>;
447*724ba675SRob Herring};
448*724ba675SRob Herring
449*724ba675SRob Herring&tcon0_out {
450*724ba675SRob Herring	tcon0_out_lcd: endpoint {
451*724ba675SRob Herring		remote-endpoint = <&panel_input>;
452*724ba675SRob Herring	};
453*724ba675SRob Herring};
454*724ba675SRob Herring
455*724ba675SRob Herring&uart0 {
456*724ba675SRob Herring	pinctrl-names = "default";
457*724ba675SRob Herring	pinctrl-0 = <&uart0_pb_pins>;
458*724ba675SRob Herring	status = "okay";
459*724ba675SRob Herring};
460*724ba675SRob Herring
461*724ba675SRob Herring/* There's the BT part of the AP6210 connected to that UART */
462*724ba675SRob Herring&uart1 {
463*724ba675SRob Herring	pinctrl-names = "default";
464*724ba675SRob Herring	pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
465*724ba675SRob Herring	uart-has-rtscts;
466*724ba675SRob Herring	status = "okay";
467*724ba675SRob Herring
468*724ba675SRob Herring	bluetooth {
469*724ba675SRob Herring		compatible = "brcm,bcm20702a1";
470*724ba675SRob Herring		clocks = <&ac100_rtc 1>;
471*724ba675SRob Herring		clock-names = "lpo";
472*724ba675SRob Herring		vbat-supply = <&reg_vbat>;
473*724ba675SRob Herring		vddio-supply = <&reg_dldo1>;
474*724ba675SRob Herring		device-wakeup-gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
475*724ba675SRob Herring		host-wakeup-gpios = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* PL5 */
476*724ba675SRob Herring		shutdown-gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */
477*724ba675SRob Herring		max-speed = <1500000>;
478*724ba675SRob Herring	};
479*724ba675SRob Herring};
480*724ba675SRob Herring
481*724ba675SRob Herring&uart2 {
482*724ba675SRob Herring	pinctrl-names = "default";
483*724ba675SRob Herring	pinctrl-0 = <&uart2_pb_pins>;
484*724ba675SRob Herring	status = "okay";
485*724ba675SRob Herring
486*724ba675SRob Herring	gnss {
487*724ba675SRob Herring		compatible = "u-blox,neo-6m";
488*724ba675SRob Herring
489*724ba675SRob Herring		v-bckp-supply = <&reg_rtc_ldo>;
490*724ba675SRob Herring		vcc-supply = <&reg_gps>;
491*724ba675SRob Herring		current-speed = <9600>;
492*724ba675SRob Herring	};
493*724ba675SRob Herring};
494*724ba675SRob Herring
495*724ba675SRob Herring&usb_otg {
496*724ba675SRob Herring	status = "okay";
497*724ba675SRob Herring};
498*724ba675SRob Herring
499*724ba675SRob Herring&usbphy {
500*724ba675SRob Herring	usb0_id_det-gpios = <&pio 7 11 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH11 */
501*724ba675SRob Herring	usb0_vbus_power-supply = <&usb_power_supply>;
502*724ba675SRob Herring	usb0_vbus-supply = <&reg_drivevbus>;
503*724ba675SRob Herring	usb1_vbus-supply = <&reg_vmain>;
504*724ba675SRob Herring	usb2_vbus-supply = <&reg_vmain>;
505*724ba675SRob Herring	status = "okay";
506*724ba675SRob Herring};
507