xref: /openbmc/linux/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts (revision 060f35a317ef09101b128f399dce7ed13d019461)
1df35fbcfSIcenowy Zheng// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2cabbaed7SClément Péron// Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.xyz>
3cabbaed7SClément Péron// Copyright (C) 2018 Vasily Khoruzhick <anarsoul@gmail.com>
4df35fbcfSIcenowy Zheng
5df35fbcfSIcenowy Zheng/dts-v1/;
6df35fbcfSIcenowy Zheng
7df35fbcfSIcenowy Zheng#include "sun50i-a64.dtsi"
8ac904843SVasily Khoruzhick#include "sun50i-a64-cpu-opp.dtsi"
9df35fbcfSIcenowy Zheng
10df35fbcfSIcenowy Zheng#include <dt-bindings/gpio/gpio.h>
11ad39fc5bSSamuel Holland#include <dt-bindings/input/gpio-keys.h>
12df35fbcfSIcenowy Zheng#include <dt-bindings/input/input.h>
13df35fbcfSIcenowy Zheng#include <dt-bindings/pwm/pwm.h>
14df35fbcfSIcenowy Zheng
15df35fbcfSIcenowy Zheng/ {
16df35fbcfSIcenowy Zheng	model = "Pinebook";
17df35fbcfSIcenowy Zheng	compatible = "pine64,pinebook", "allwinner,sun50i-a64";
18d900a1cdSArnaud Ferraris	chassis-type = "laptop";
19df35fbcfSIcenowy Zheng
20df35fbcfSIcenowy Zheng	aliases {
21df35fbcfSIcenowy Zheng		serial0 = &uart0;
22df35fbcfSIcenowy Zheng		ethernet0 = &rtl8723cs;
23df35fbcfSIcenowy Zheng	};
24df35fbcfSIcenowy Zheng
25df35fbcfSIcenowy Zheng	backlight: backlight {
26df35fbcfSIcenowy Zheng		compatible = "pwm-backlight";
27df35fbcfSIcenowy Zheng		pwms = <&pwm 0 50000 0>;
28df35fbcfSIcenowy Zheng		brightness-levels = <0 5 10 15 20 30 40 55 70 85 100>;
29df35fbcfSIcenowy Zheng		default-brightness-level = <2>;
30df35fbcfSIcenowy Zheng		enable-gpios = <&pio 3 23 GPIO_ACTIVE_HIGH>; /* PD23 */
3147ef030cSSamuel Holland		power-supply = <&reg_vbklt>;
32df35fbcfSIcenowy Zheng	};
33df35fbcfSIcenowy Zheng
34df35fbcfSIcenowy Zheng	chosen {
35df35fbcfSIcenowy Zheng		stdout-path = "serial0:115200n8";
36df35fbcfSIcenowy Zheng	};
37df35fbcfSIcenowy Zheng
38a0bdaf59SKrzysztof Kozlowski	gpio-keys {
39df35fbcfSIcenowy Zheng		compatible = "gpio-keys";
40df35fbcfSIcenowy Zheng
41a0bdaf59SKrzysztof Kozlowski		lid-switch {
42df35fbcfSIcenowy Zheng			label = "Lid Switch";
43df35fbcfSIcenowy Zheng			gpios = <&r_pio 0 12 GPIO_ACTIVE_LOW>; /* PL12 */
44df35fbcfSIcenowy Zheng			linux,input-type = <EV_SW>;
45df35fbcfSIcenowy Zheng			linux,code = <SW_LID>;
46df35fbcfSIcenowy Zheng			linux,can-disable;
4748f3e7bfSIcenowy Zheng			wakeup-source;
48ad39fc5bSSamuel Holland			wakeup-event-action = <EV_ACT_DEASSERTED>;
49df35fbcfSIcenowy Zheng		};
50df35fbcfSIcenowy Zheng	};
51df35fbcfSIcenowy Zheng
524098a2b4SIcenowy Zheng	panel_edp: panel-edp {
534098a2b4SIcenowy Zheng		compatible = "neweast,wjfh116008a";
544098a2b4SIcenowy Zheng		backlight = <&backlight>;
554098a2b4SIcenowy Zheng		power-supply = <&reg_dc1sw>;
564098a2b4SIcenowy Zheng
574098a2b4SIcenowy Zheng		port {
584098a2b4SIcenowy Zheng			panel_edp_in: endpoint {
594098a2b4SIcenowy Zheng				remote-endpoint = <&anx6345_out_edp>;
604098a2b4SIcenowy Zheng			};
614098a2b4SIcenowy Zheng		};
624098a2b4SIcenowy Zheng	};
634098a2b4SIcenowy Zheng
6447ef030cSSamuel Holland	reg_vbklt: vbklt {
6547ef030cSSamuel Holland		compatible = "regulator-fixed";
6647ef030cSSamuel Holland		regulator-name = "vbklt";
6747ef030cSSamuel Holland		regulator-min-microvolt = <18000000>;
6847ef030cSSamuel Holland		regulator-max-microvolt = <18000000>;
6947ef030cSSamuel Holland		gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */
7047ef030cSSamuel Holland		enable-active-high;
7147ef030cSSamuel Holland	};
7247ef030cSSamuel Holland
73e95d8d03SSamuel Holland	reg_vcc5v0: vcc5v0 {
74e95d8d03SSamuel Holland		compatible = "regulator-fixed";
75e95d8d03SSamuel Holland		regulator-name = "vcc5v0";
76e95d8d03SSamuel Holland		regulator-min-microvolt = <5000000>;
77e95d8d03SSamuel Holland		regulator-max-microvolt = <5000000>;
78e95d8d03SSamuel Holland		gpio = <&axp_gpio 0 GPIO_ACTIVE_HIGH>;
79e95d8d03SSamuel Holland		enable-active-high;
80e95d8d03SSamuel Holland	};
81e95d8d03SSamuel Holland
82df35fbcfSIcenowy Zheng	wifi_pwrseq: wifi_pwrseq {
83df35fbcfSIcenowy Zheng		compatible = "mmc-pwrseq-simple";
84df35fbcfSIcenowy Zheng		reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
85df35fbcfSIcenowy Zheng	};
866de8e717SVasily Khoruzhick
876de8e717SVasily Khoruzhick	speaker_amp: audio-amplifier {
886de8e717SVasily Khoruzhick		compatible = "simple-audio-amplifier";
89e95d8d03SSamuel Holland		VCC-supply = <&reg_vcc5v0>;
906de8e717SVasily Khoruzhick		enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
916de8e717SVasily Khoruzhick		sound-name-prefix = "Speaker Amp";
926de8e717SVasily Khoruzhick	};
936de8e717SVasily Khoruzhick
946de8e717SVasily Khoruzhick};
956de8e717SVasily Khoruzhick
966de8e717SVasily Khoruzhick&codec {
976de8e717SVasily Khoruzhick	status = "okay";
986de8e717SVasily Khoruzhick};
996de8e717SVasily Khoruzhick
1006de8e717SVasily Khoruzhick&codec_analog {
10107de9094SChen-Yu Tsai	cpvdd-supply = <&reg_eldo1>;
1026de8e717SVasily Khoruzhick	status = "okay";
1036de8e717SVasily Khoruzhick};
1046de8e717SVasily Khoruzhick
105ac904843SVasily Khoruzhick&cpu0 {
106ac904843SVasily Khoruzhick	cpu-supply = <&reg_dcdc2>;
107ac904843SVasily Khoruzhick};
108ac904843SVasily Khoruzhick
109ac904843SVasily Khoruzhick&cpu1 {
110ac904843SVasily Khoruzhick	cpu-supply = <&reg_dcdc2>;
111ac904843SVasily Khoruzhick};
112ac904843SVasily Khoruzhick
113ac904843SVasily Khoruzhick&cpu2 {
114ac904843SVasily Khoruzhick	cpu-supply = <&reg_dcdc2>;
115ac904843SVasily Khoruzhick};
116ac904843SVasily Khoruzhick
117ac904843SVasily Khoruzhick&cpu3 {
118ac904843SVasily Khoruzhick	cpu-supply = <&reg_dcdc2>;
119ac904843SVasily Khoruzhick};
120ac904843SVasily Khoruzhick
1216de8e717SVasily Khoruzhick&dai {
1226de8e717SVasily Khoruzhick	status = "okay";
123df35fbcfSIcenowy Zheng};
124df35fbcfSIcenowy Zheng
1254098a2b4SIcenowy Zheng&de {
1264098a2b4SIcenowy Zheng	status = "okay";
1274098a2b4SIcenowy Zheng};
1284098a2b4SIcenowy Zheng
129df35fbcfSIcenowy Zheng&ehci0 {
130df35fbcfSIcenowy Zheng	status = "okay";
131df35fbcfSIcenowy Zheng};
132df35fbcfSIcenowy Zheng
133df35fbcfSIcenowy Zheng&ehci1 {
134df35fbcfSIcenowy Zheng	status = "okay";
135df35fbcfSIcenowy Zheng};
136df35fbcfSIcenowy Zheng
1374098a2b4SIcenowy Zheng&mixer0 {
1384098a2b4SIcenowy Zheng	status = "okay";
1394098a2b4SIcenowy Zheng};
1404098a2b4SIcenowy Zheng
141df35fbcfSIcenowy Zheng&mmc0 {
142df35fbcfSIcenowy Zheng	pinctrl-names = "default";
143df35fbcfSIcenowy Zheng	pinctrl-0 = <&mmc0_pins>;
144df35fbcfSIcenowy Zheng	vmmc-supply = <&reg_dcdc1>;
145412e19c3SSamuel Holland	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
146df35fbcfSIcenowy Zheng	disable-wp;
147df35fbcfSIcenowy Zheng	bus-width = <4>;
148df35fbcfSIcenowy Zheng	status = "okay";
149df35fbcfSIcenowy Zheng};
150df35fbcfSIcenowy Zheng
151df35fbcfSIcenowy Zheng&mmc1 {
152df35fbcfSIcenowy Zheng	pinctrl-names = "default";
153df35fbcfSIcenowy Zheng	pinctrl-0 = <&mmc1_pins>;
154df35fbcfSIcenowy Zheng	vmmc-supply = <&reg_dldo4>;
155df35fbcfSIcenowy Zheng	vqmmc-supply = <&reg_eldo1>;
156df35fbcfSIcenowy Zheng	mmc-pwrseq = <&wifi_pwrseq>;
157df35fbcfSIcenowy Zheng	bus-width = <4>;
158df35fbcfSIcenowy Zheng	non-removable;
159df35fbcfSIcenowy Zheng	status = "okay";
160df35fbcfSIcenowy Zheng
161df35fbcfSIcenowy Zheng	rtl8723cs: wifi@1 {
162df35fbcfSIcenowy Zheng		reg = <1>;
163df35fbcfSIcenowy Zheng	};
164df35fbcfSIcenowy Zheng};
165df35fbcfSIcenowy Zheng
166df35fbcfSIcenowy Zheng&mmc2 {
167df35fbcfSIcenowy Zheng	pinctrl-names = "default";
168fa59dd2eSChen-Yu Tsai	pinctrl-0 = <&mmc2_pins>, <&mmc2_ds_pin>;
169df35fbcfSIcenowy Zheng	vmmc-supply = <&reg_dcdc1>;
170df35fbcfSIcenowy Zheng	vqmmc-supply = <&reg_eldo1>;
171948c657cSAndre Przywara	max-frequency = <200000000>;
172df35fbcfSIcenowy Zheng	bus-width = <8>;
173df35fbcfSIcenowy Zheng	non-removable;
174df35fbcfSIcenowy Zheng	cap-mmc-hw-reset;
175df35fbcfSIcenowy Zheng	mmc-hs200-1_8v;
176df35fbcfSIcenowy Zheng	status = "okay";
177df35fbcfSIcenowy Zheng};
178df35fbcfSIcenowy Zheng
179df35fbcfSIcenowy Zheng&ohci0 {
180df35fbcfSIcenowy Zheng	status = "okay";
181df35fbcfSIcenowy Zheng};
182df35fbcfSIcenowy Zheng
183df35fbcfSIcenowy Zheng&ohci1 {
184df35fbcfSIcenowy Zheng	status = "okay";
185df35fbcfSIcenowy Zheng};
186df35fbcfSIcenowy Zheng
1879de2b6bfSSamuel Holland&pio {
1889de2b6bfSSamuel Holland	vcc-pc-supply = <&reg_eldo1>;
1899de2b6bfSSamuel Holland	vcc-pd-supply = <&reg_dcdc1>;
1909de2b6bfSSamuel Holland	vcc-pe-supply = <&reg_aldo1>;
1919de2b6bfSSamuel Holland	vcc-pg-supply = <&reg_eldo1>;
1929de2b6bfSSamuel Holland};
1939de2b6bfSSamuel Holland
194df35fbcfSIcenowy Zheng&pwm {
195df35fbcfSIcenowy Zheng	status = "okay";
196df35fbcfSIcenowy Zheng};
197df35fbcfSIcenowy Zheng
198c0e79b06SSamuel Holland&r_i2c {
199c0e79b06SSamuel Holland	clock-frequency = <100000>;
200c0e79b06SSamuel Holland	pinctrl-names = "default";
201c0e79b06SSamuel Holland	pinctrl-0 = <&r_i2c_pl89_pins>;
202c0e79b06SSamuel Holland	status = "okay";
2034098a2b4SIcenowy Zheng
2044098a2b4SIcenowy Zheng	anx6345: anx6345@38 {
2054098a2b4SIcenowy Zheng		compatible = "analogix,anx6345";
2064098a2b4SIcenowy Zheng		reg = <0x38>;
2074098a2b4SIcenowy Zheng		reset-gpios = <&pio 3 24 GPIO_ACTIVE_LOW>; /* PD24 */
2084098a2b4SIcenowy Zheng		dvdd25-supply = <&reg_dldo2>;
2094098a2b4SIcenowy Zheng		dvdd12-supply = <&reg_fldo1>;
2104098a2b4SIcenowy Zheng
2114098a2b4SIcenowy Zheng		ports {
2124098a2b4SIcenowy Zheng			#address-cells = <1>;
2134098a2b4SIcenowy Zheng			#size-cells = <0>;
2144098a2b4SIcenowy Zheng
2154098a2b4SIcenowy Zheng			anx6345_in: port@0 {
2164098a2b4SIcenowy Zheng				reg = <0>;
2174098a2b4SIcenowy Zheng				anx6345_in_tcon0: endpoint {
2184098a2b4SIcenowy Zheng					remote-endpoint = <&tcon0_out_anx6345>;
2194098a2b4SIcenowy Zheng				};
2204098a2b4SIcenowy Zheng			};
2214098a2b4SIcenowy Zheng
2224098a2b4SIcenowy Zheng			anx6345_out: port@1 {
2234098a2b4SIcenowy Zheng				reg = <1>;
2244098a2b4SIcenowy Zheng				anx6345_out_edp: endpoint {
2254098a2b4SIcenowy Zheng					remote-endpoint = <&panel_edp_in>;
2264098a2b4SIcenowy Zheng				};
2274098a2b4SIcenowy Zheng			};
2284098a2b4SIcenowy Zheng		};
2294098a2b4SIcenowy Zheng	};
230c0e79b06SSamuel Holland};
231c0e79b06SSamuel Holland
2329de2b6bfSSamuel Holland&r_pio {
2339de2b6bfSSamuel Holland	/*
2349de2b6bfSSamuel Holland	 * FIXME: We can't add that supply for now since it would
2359de2b6bfSSamuel Holland	 * create a circular dependency between pinctrl, the regulator
2369de2b6bfSSamuel Holland	 * and the RSB Bus.
2379de2b6bfSSamuel Holland	 *
2389de2b6bfSSamuel Holland	 * vcc-pl-supply = <&reg_aldo2>;
2399de2b6bfSSamuel Holland	 */
2409de2b6bfSSamuel Holland};
2419de2b6bfSSamuel Holland
242df35fbcfSIcenowy Zheng&r_rsb {
243df35fbcfSIcenowy Zheng	status = "okay";
244df35fbcfSIcenowy Zheng
245df35fbcfSIcenowy Zheng	axp803: pmic@3a3 {
246df35fbcfSIcenowy Zheng		compatible = "x-powers,axp803";
247df35fbcfSIcenowy Zheng		reg = <0x3a3>;
248df35fbcfSIcenowy Zheng		interrupt-parent = <&r_intc>;
24973088dfeSSamuel Holland		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
250df35fbcfSIcenowy Zheng	};
251df35fbcfSIcenowy Zheng};
252df35fbcfSIcenowy Zheng
253df35fbcfSIcenowy Zheng#include "axp803.dtsi"
254df35fbcfSIcenowy Zheng
2552c8d843dSVasily Khoruzhick&ac_power_supply {
2562c8d843dSVasily Khoruzhick	status = "okay";
2572c8d843dSVasily Khoruzhick};
2582c8d843dSVasily Khoruzhick
2592c8d843dSVasily Khoruzhick&battery_power_supply {
2602c8d843dSVasily Khoruzhick	status = "okay";
2612c8d843dSVasily Khoruzhick};
2622c8d843dSVasily Khoruzhick
263df35fbcfSIcenowy Zheng&reg_aldo1 {
2644e0e6a62SSamuel Holland	regulator-name = "vcc-pe";
265df35fbcfSIcenowy Zheng};
266df35fbcfSIcenowy Zheng
267df35fbcfSIcenowy Zheng&reg_aldo2 {
268df35fbcfSIcenowy Zheng	regulator-always-on;
269df35fbcfSIcenowy Zheng	regulator-min-microvolt = <1800000>;
270df35fbcfSIcenowy Zheng	regulator-max-microvolt = <3300000>;
271df35fbcfSIcenowy Zheng	regulator-name = "vcc-pl";
272df35fbcfSIcenowy Zheng};
273df35fbcfSIcenowy Zheng
274df35fbcfSIcenowy Zheng&reg_aldo3 {
275df35fbcfSIcenowy Zheng	regulator-always-on;
276df35fbcfSIcenowy Zheng	regulator-min-microvolt = <2700000>;
277df35fbcfSIcenowy Zheng	regulator-max-microvolt = <3300000>;
278df35fbcfSIcenowy Zheng	regulator-name = "vcc-pll-avcc";
279df35fbcfSIcenowy Zheng};
280df35fbcfSIcenowy Zheng
281df35fbcfSIcenowy Zheng&reg_dc1sw {
282df35fbcfSIcenowy Zheng	regulator-name = "vcc-lcd";
283df35fbcfSIcenowy Zheng};
284df35fbcfSIcenowy Zheng
285df35fbcfSIcenowy Zheng&reg_dcdc1 {
286df35fbcfSIcenowy Zheng	regulator-always-on;
287df35fbcfSIcenowy Zheng	regulator-min-microvolt = <3300000>;
288df35fbcfSIcenowy Zheng	regulator-max-microvolt = <3300000>;
289df35fbcfSIcenowy Zheng	regulator-name = "vcc-3v3";
290df35fbcfSIcenowy Zheng};
291df35fbcfSIcenowy Zheng
292df35fbcfSIcenowy Zheng&reg_dcdc2 {
293df35fbcfSIcenowy Zheng	regulator-always-on;
294df35fbcfSIcenowy Zheng	regulator-min-microvolt = <1000000>;
295df35fbcfSIcenowy Zheng	regulator-max-microvolt = <1300000>;
296df35fbcfSIcenowy Zheng	regulator-name = "vdd-cpux";
297df35fbcfSIcenowy Zheng};
298df35fbcfSIcenowy Zheng
299df35fbcfSIcenowy Zheng/* DCDC3 is polyphased with DCDC2 */
300df35fbcfSIcenowy Zheng
301df35fbcfSIcenowy Zheng&reg_dcdc5 {
302df35fbcfSIcenowy Zheng	regulator-always-on;
303df35fbcfSIcenowy Zheng	regulator-min-microvolt = <1200000>;
304df35fbcfSIcenowy Zheng	regulator-max-microvolt = <1200000>;
305df35fbcfSIcenowy Zheng	regulator-name = "vcc-dram";
306df35fbcfSIcenowy Zheng};
307df35fbcfSIcenowy Zheng
308df35fbcfSIcenowy Zheng&reg_dcdc6 {
309df35fbcfSIcenowy Zheng	regulator-always-on;
310df35fbcfSIcenowy Zheng	regulator-min-microvolt = <1100000>;
311df35fbcfSIcenowy Zheng	regulator-max-microvolt = <1100000>;
312df35fbcfSIcenowy Zheng	regulator-name = "vdd-sys";
313df35fbcfSIcenowy Zheng};
314df35fbcfSIcenowy Zheng
315df35fbcfSIcenowy Zheng&reg_dldo1 {
316df35fbcfSIcenowy Zheng	regulator-min-microvolt = <3300000>;
317df35fbcfSIcenowy Zheng	regulator-max-microvolt = <3300000>;
318df35fbcfSIcenowy Zheng	regulator-name = "vcc-hdmi";
319df35fbcfSIcenowy Zheng};
320df35fbcfSIcenowy Zheng
321df35fbcfSIcenowy Zheng&reg_dldo2 {
322df35fbcfSIcenowy Zheng	regulator-min-microvolt = <2500000>;
323df35fbcfSIcenowy Zheng	regulator-max-microvolt = <2500000>;
324df35fbcfSIcenowy Zheng	regulator-name = "vcc-edp";
325df35fbcfSIcenowy Zheng};
326df35fbcfSIcenowy Zheng
327df35fbcfSIcenowy Zheng&reg_dldo4 {
328df35fbcfSIcenowy Zheng	regulator-min-microvolt = <3300000>;
329df35fbcfSIcenowy Zheng	regulator-max-microvolt = <3300000>;
330df35fbcfSIcenowy Zheng	regulator-name = "vcc-wifi";
331df35fbcfSIcenowy Zheng};
332df35fbcfSIcenowy Zheng
333df35fbcfSIcenowy Zheng&reg_eldo1 {
334df35fbcfSIcenowy Zheng	regulator-always-on;
335df35fbcfSIcenowy Zheng	regulator-min-microvolt = <1800000>;
336df35fbcfSIcenowy Zheng	regulator-max-microvolt = <1800000>;
337df35fbcfSIcenowy Zheng	regulator-name = "cpvdd";
338df35fbcfSIcenowy Zheng};
339df35fbcfSIcenowy Zheng
340df35fbcfSIcenowy Zheng&reg_fldo1 {
341df35fbcfSIcenowy Zheng	regulator-min-microvolt = <1200000>;
342df35fbcfSIcenowy Zheng	regulator-max-microvolt = <1200000>;
343df35fbcfSIcenowy Zheng	regulator-name = "vcc-1v2-hsic";
344df35fbcfSIcenowy Zheng};
345df35fbcfSIcenowy Zheng
346df35fbcfSIcenowy Zheng&reg_fldo2 {
347df35fbcfSIcenowy Zheng	regulator-always-on;
348df35fbcfSIcenowy Zheng	regulator-min-microvolt = <1100000>;
349df35fbcfSIcenowy Zheng	regulator-max-microvolt = <1100000>;
350df35fbcfSIcenowy Zheng	regulator-name = "vdd-cpus";
351df35fbcfSIcenowy Zheng};
352df35fbcfSIcenowy Zheng
353df35fbcfSIcenowy Zheng&reg_rtc_ldo {
354df35fbcfSIcenowy Zheng	regulator-name = "vcc-rtc";
355df35fbcfSIcenowy Zheng};
356df35fbcfSIcenowy Zheng
357c3d22680SSamuel Holland&simplefb_lcd {
358c3d22680SSamuel Holland	panel-supply = <&reg_dc1sw>;
359c3d22680SSamuel Holland	dvdd25-supply = <&reg_dldo2>;
360c3d22680SSamuel Holland	dvdd12-supply = <&reg_fldo1>;
361c3d22680SSamuel Holland};
362c3d22680SSamuel Holland
3635cbef9f9SIcenowy Zheng&simplefb_hdmi {
3645cbef9f9SIcenowy Zheng	vcc-hdmi-supply = <&reg_dldo1>;
3655cbef9f9SIcenowy Zheng};
3665cbef9f9SIcenowy Zheng
3676de8e717SVasily Khoruzhick&sound {
3686de8e717SVasily Khoruzhick	status = "okay";
3696de8e717SVasily Khoruzhick	simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>;
3706de8e717SVasily Khoruzhick	simple-audio-card,widgets = "Microphone", "Internal Microphone Left",
3716de8e717SVasily Khoruzhick				    "Microphone", "Internal Microphone Right",
3726de8e717SVasily Khoruzhick				    "Headphone", "Headphone Jack",
3736de8e717SVasily Khoruzhick				    "Speaker", "Internal Speaker";
3746de8e717SVasily Khoruzhick	simple-audio-card,routing =
375631e6a35SSamuel Holland			"Left DAC", "DACL",
376631e6a35SSamuel Holland			"Right DAC", "DACR",
3776de8e717SVasily Khoruzhick			"Speaker Amp INL", "LINEOUT",
3786de8e717SVasily Khoruzhick			"Speaker Amp INR", "LINEOUT",
3796de8e717SVasily Khoruzhick			"Internal Speaker", "Speaker Amp OUTL",
3806de8e717SVasily Khoruzhick			"Internal Speaker", "Speaker Amp OUTR",
3816de8e717SVasily Khoruzhick			"Headphone Jack", "HP",
382631e6a35SSamuel Holland			"ADCL", "Left ADC",
383631e6a35SSamuel Holland			"ADCR", "Right ADC",
3846de8e717SVasily Khoruzhick			"Internal Microphone Left", "MBIAS",
3856de8e717SVasily Khoruzhick			"MIC1", "Internal Microphone Left",
3866de8e717SVasily Khoruzhick			"Internal Microphone Right", "HBIAS",
3876de8e717SVasily Khoruzhick			"MIC2", "Internal Microphone Right";
3886de8e717SVasily Khoruzhick};
3896de8e717SVasily Khoruzhick
3904098a2b4SIcenowy Zheng&tcon0 {
3914098a2b4SIcenowy Zheng	pinctrl-names = "default";
3924098a2b4SIcenowy Zheng	pinctrl-0 = <&lcd_rgb666_pins>;
393*94526fbfSVasily Khoruzhick	assigned-clocks = <&ccu CLK_TCON0>;
394*94526fbfSVasily Khoruzhick	assigned-clock-parents = <&ccu CLK_PLL_VIDEO0_2X>;
3954098a2b4SIcenowy Zheng
3964098a2b4SIcenowy Zheng	status = "okay";
3974098a2b4SIcenowy Zheng};
3984098a2b4SIcenowy Zheng
3994098a2b4SIcenowy Zheng&tcon0_out {
4004098a2b4SIcenowy Zheng	tcon0_out_anx6345: endpoint {
4014098a2b4SIcenowy Zheng		remote-endpoint = <&anx6345_in_tcon0>;
4024098a2b4SIcenowy Zheng	};
4034098a2b4SIcenowy Zheng};
4044098a2b4SIcenowy Zheng
405df35fbcfSIcenowy Zheng&uart0 {
406df35fbcfSIcenowy Zheng	pinctrl-names = "default";
407d91ebb95SChen-Yu Tsai	pinctrl-0 = <&uart0_pb_pins>;
408df35fbcfSIcenowy Zheng	status = "okay";
409df35fbcfSIcenowy Zheng};
410df35fbcfSIcenowy Zheng
4111c50050cSVasily Khoruzhick&uart1 {
4121c50050cSVasily Khoruzhick	pinctrl-names = "default";
4131c50050cSVasily Khoruzhick	pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
4141c50050cSVasily Khoruzhick	uart-has-rtscts;
4151c50050cSVasily Khoruzhick	status = "okay";
4161c50050cSVasily Khoruzhick
4171c50050cSVasily Khoruzhick	bluetooth {
4181c50050cSVasily Khoruzhick		compatible = "realtek,rtl8723cs-bt";
4191c50050cSVasily Khoruzhick		device-wake-gpios = <&r_pio 0 5 GPIO_ACTIVE_LOW>; /* PL5 */
4201c50050cSVasily Khoruzhick		enable-gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */
4211c50050cSVasily Khoruzhick		host-wake-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
4221c50050cSVasily Khoruzhick	};
4231c50050cSVasily Khoruzhick};
4241c50050cSVasily Khoruzhick
425df35fbcfSIcenowy Zheng&usb_otg {
426df35fbcfSIcenowy Zheng	dr_mode = "host";
427df35fbcfSIcenowy Zheng};
428df35fbcfSIcenowy Zheng
429df35fbcfSIcenowy Zheng&usbphy {
430e95d8d03SSamuel Holland	usb0_vbus-supply = <&reg_vcc5v0>;
431e95d8d03SSamuel Holland	usb1_vbus-supply = <&reg_vcc5v0>;
432df35fbcfSIcenowy Zheng	status = "okay";
433df35fbcfSIcenowy Zheng};
434