191f480d4SOndrej Jirman// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
291f480d4SOndrej Jirman// Copyright (C) 2019 Icenowy Zheng <icenowy@aosc.xyz>
391f480d4SOndrej Jirman// Copyright (C) 2020 Martijn Braam <martijn@brixit.nl>
491f480d4SOndrej Jirman// Copyright (C) 2020 Ondrej Jirman <megous@megous.com>
591f480d4SOndrej Jirman
691f480d4SOndrej Jirman#include "sun50i-a64.dtsi"
791f480d4SOndrej Jirman#include "sun50i-a64-cpu-opp.dtsi"
891f480d4SOndrej Jirman
991f480d4SOndrej Jirman#include <dt-bindings/gpio/gpio.h>
1091f480d4SOndrej Jirman#include <dt-bindings/input/input.h>
1191f480d4SOndrej Jirman#include <dt-bindings/leds/common.h>
1291f480d4SOndrej Jirman#include <dt-bindings/pwm/pwm.h>
1391f480d4SOndrej Jirman
1491f480d4SOndrej Jirman/ {
1591f480d4SOndrej Jirman	aliases {
164fcf6f34SOndrej Jirman		ethernet0 = &rtl8723cs;
1791f480d4SOndrej Jirman		serial0 = &uart0;
1891f480d4SOndrej Jirman	};
1991f480d4SOndrej Jirman
20a6a22f82SIcenowy Zheng	backlight: backlight {
21a6a22f82SIcenowy Zheng		compatible = "pwm-backlight";
22a6a22f82SIcenowy Zheng		pwms = <&r_pwm 0 50000 PWM_POLARITY_INVERTED>;
23a6a22f82SIcenowy Zheng		enable-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */
24a6a22f82SIcenowy Zheng		/* Backlight configuration differs per PinePhone revision. */
25a6a22f82SIcenowy Zheng	};
26a6a22f82SIcenowy Zheng
2791f480d4SOndrej Jirman	chosen {
2891f480d4SOndrej Jirman		stdout-path = "serial0:115200n8";
2991f480d4SOndrej Jirman	};
3091f480d4SOndrej Jirman
3191f480d4SOndrej Jirman	leds {
3291f480d4SOndrej Jirman		compatible = "gpio-leds";
3391f480d4SOndrej Jirman
3491f480d4SOndrej Jirman		blue {
3591f480d4SOndrej Jirman			function = LED_FUNCTION_INDICATOR;
3691f480d4SOndrej Jirman			color = <LED_COLOR_ID_BLUE>;
3791f480d4SOndrej Jirman			gpios = <&pio 3 20 GPIO_ACTIVE_HIGH>; /* PD20 */
3891f480d4SOndrej Jirman		};
3991f480d4SOndrej Jirman
4091f480d4SOndrej Jirman		green {
4191f480d4SOndrej Jirman			function = LED_FUNCTION_INDICATOR;
4291f480d4SOndrej Jirman			color = <LED_COLOR_ID_GREEN>;
4391f480d4SOndrej Jirman			gpios = <&pio 3 18 GPIO_ACTIVE_HIGH>; /* PD18 */
4491f480d4SOndrej Jirman		};
4591f480d4SOndrej Jirman
4691f480d4SOndrej Jirman		red {
4791f480d4SOndrej Jirman			function = LED_FUNCTION_INDICATOR;
4891f480d4SOndrej Jirman			color = <LED_COLOR_ID_RED>;
4991f480d4SOndrej Jirman			gpios = <&pio 3 19 GPIO_ACTIVE_HIGH>; /* PD19 */
5091f480d4SOndrej Jirman		};
5191f480d4SOndrej Jirman	};
5291f480d4SOndrej Jirman
534fcf6f34SOndrej Jirman	reg_vbat_wifi: vbat-wifi {
544fcf6f34SOndrej Jirman		compatible = "regulator-fixed";
554fcf6f34SOndrej Jirman		regulator-min-microvolt = <3300000>;
564fcf6f34SOndrej Jirman		regulator-max-microvolt = <3300000>;
574fcf6f34SOndrej Jirman		regulator-name = "vbat-wifi";
584fcf6f34SOndrej Jirman	};
594fcf6f34SOndrej Jirman
60085d96b8SLuca Weiss	sgm3140: led-controller {
61085d96b8SLuca Weiss		compatible = "sgmicro,sgm3140";
62085d96b8SLuca Weiss		vin-supply = <&reg_dcdc1>;
63085d96b8SLuca Weiss
64085d96b8SLuca Weiss		sgm3140_flash: led {
65085d96b8SLuca Weiss			function = LED_FUNCTION_FLASH;
66085d96b8SLuca Weiss			color = <LED_COLOR_ID_WHITE>;
67085d96b8SLuca Weiss			flash-max-timeout-us = <250000>;
68085d96b8SLuca Weiss		};
69085d96b8SLuca Weiss	};
70085d96b8SLuca Weiss
7191f480d4SOndrej Jirman	speaker_amp: audio-amplifier {
7291f480d4SOndrej Jirman		compatible = "simple-audio-amplifier";
7391f480d4SOndrej Jirman		enable-gpios = <&pio 2 7 GPIO_ACTIVE_HIGH>; /* PC7 */
7491f480d4SOndrej Jirman		sound-name-prefix = "Speaker Amp";
7591f480d4SOndrej Jirman	};
7691f480d4SOndrej Jirman
7791f480d4SOndrej Jirman	vibrator {
7891f480d4SOndrej Jirman		compatible = "gpio-vibrator";
7991f480d4SOndrej Jirman		enable-gpios = <&pio 3 2 GPIO_ACTIVE_HIGH>; /* PD2 */
8091f480d4SOndrej Jirman		vcc-supply = <&reg_dcdc1>;
8191f480d4SOndrej Jirman	};
8291f480d4SOndrej Jirman};
8391f480d4SOndrej Jirman
8491f480d4SOndrej Jirman&codec {
8591f480d4SOndrej Jirman	status = "okay";
8691f480d4SOndrej Jirman};
8791f480d4SOndrej Jirman
8891f480d4SOndrej Jirman&codec_analog {
8991f480d4SOndrej Jirman	cpvdd-supply = <&reg_eldo1>;
9091f480d4SOndrej Jirman	status = "okay";
9191f480d4SOndrej Jirman};
9291f480d4SOndrej Jirman
9391f480d4SOndrej Jirman&cpu0 {
9491f480d4SOndrej Jirman	cpu-supply = <&reg_dcdc2>;
9591f480d4SOndrej Jirman};
9691f480d4SOndrej Jirman
9791f480d4SOndrej Jirman&cpu1 {
9891f480d4SOndrej Jirman	cpu-supply = <&reg_dcdc2>;
9991f480d4SOndrej Jirman};
10091f480d4SOndrej Jirman
10191f480d4SOndrej Jirman&cpu2 {
10291f480d4SOndrej Jirman	cpu-supply = <&reg_dcdc2>;
10391f480d4SOndrej Jirman};
10491f480d4SOndrej Jirman
10591f480d4SOndrej Jirman&cpu3 {
10691f480d4SOndrej Jirman	cpu-supply = <&reg_dcdc2>;
10791f480d4SOndrej Jirman};
10891f480d4SOndrej Jirman
10991f480d4SOndrej Jirman&dai {
11091f480d4SOndrej Jirman	status = "okay";
11191f480d4SOndrej Jirman};
11291f480d4SOndrej Jirman
113a6a22f82SIcenowy Zheng&de {
114a6a22f82SIcenowy Zheng	status = "okay";
115a6a22f82SIcenowy Zheng};
116a6a22f82SIcenowy Zheng
117a6a22f82SIcenowy Zheng&dphy {
118a6a22f82SIcenowy Zheng	status = "okay";
119a6a22f82SIcenowy Zheng};
120a6a22f82SIcenowy Zheng
121a6a22f82SIcenowy Zheng&dsi {
122a6a22f82SIcenowy Zheng	vcc-dsi-supply = <&reg_dldo1>;
123a6a22f82SIcenowy Zheng	status = "okay";
124a6a22f82SIcenowy Zheng
125a6a22f82SIcenowy Zheng	panel@0 {
126a6a22f82SIcenowy Zheng		compatible = "xingbangda,xbd599";
127a6a22f82SIcenowy Zheng		reg = <0>;
128a6a22f82SIcenowy Zheng		reset-gpios = <&pio 3 23 GPIO_ACTIVE_LOW>; /* PD23 */
129a6a22f82SIcenowy Zheng		iovcc-supply = <&reg_dldo2>;
130a6a22f82SIcenowy Zheng		vcc-supply = <&reg_ldo_io0>;
131a6a22f82SIcenowy Zheng		backlight = <&backlight>;
132a6a22f82SIcenowy Zheng	};
133a6a22f82SIcenowy Zheng};
134a6a22f82SIcenowy Zheng
13591f480d4SOndrej Jirman&ehci0 {
13691f480d4SOndrej Jirman	status = "okay";
13791f480d4SOndrej Jirman};
13891f480d4SOndrej Jirman
13991f480d4SOndrej Jirman&ehci1 {
14091f480d4SOndrej Jirman	status = "okay";
14191f480d4SOndrej Jirman};
14291f480d4SOndrej Jirman
14360f2de5fSOndrej Jirman&i2c0 {
14460f2de5fSOndrej Jirman	status = "okay";
14560f2de5fSOndrej Jirman
14660f2de5fSOndrej Jirman	touchscreen@5d {
14760f2de5fSOndrej Jirman		compatible = "goodix,gt917s";
14860f2de5fSOndrej Jirman		reg = <0x5d>;
14960f2de5fSOndrej Jirman		interrupt-parent = <&pio>;
15060f2de5fSOndrej Jirman		interrupts = <7 4 IRQ_TYPE_LEVEL_HIGH>; /* PH4 */
15160f2de5fSOndrej Jirman		irq-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
15260f2de5fSOndrej Jirman		reset-gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* PH11 */
15360f2de5fSOndrej Jirman		AVDD28-supply = <&reg_ldo_io0>;
15460f2de5fSOndrej Jirman		VDDIO-supply = <&reg_ldo_io0>;
15560f2de5fSOndrej Jirman		touchscreen-size-x = <720>;
15660f2de5fSOndrej Jirman		touchscreen-size-y = <1440>;
15760f2de5fSOndrej Jirman	};
15860f2de5fSOndrej Jirman};
15960f2de5fSOndrej Jirman
16091f480d4SOndrej Jirman&i2c1 {
16191f480d4SOndrej Jirman	status = "okay";
16291f480d4SOndrej Jirman
16391f480d4SOndrej Jirman	/* Magnetometer */
164e53568caSOndrej Jirman	lis3mdl: lis3mdl@1e {
16591f480d4SOndrej Jirman		compatible = "st,lis3mdl-magn";
16691f480d4SOndrej Jirman		reg = <0x1e>;
16791f480d4SOndrej Jirman		vdd-supply = <&reg_dldo1>;
16891f480d4SOndrej Jirman		vddio-supply = <&reg_dldo1>;
16991f480d4SOndrej Jirman	};
17091f480d4SOndrej Jirman
171a966ef62SOndrej Jirman	/* Light/proximity sensor */
172a966ef62SOndrej Jirman	stk3311@48 {
173a966ef62SOndrej Jirman		compatible = "sensortek,stk3311";
174a966ef62SOndrej Jirman		reg = <0x48>;
175a966ef62SOndrej Jirman		interrupt-parent = <&pio>;
176a966ef62SOndrej Jirman		interrupts = <1 0 IRQ_TYPE_EDGE_FALLING>; /* PB0 */
177a966ef62SOndrej Jirman		vdd-supply = <&reg_ldo_io0>;
178a966ef62SOndrej Jirman		leda-supply = <&reg_dldo1>;
179a966ef62SOndrej Jirman	};
180a966ef62SOndrej Jirman
18191f480d4SOndrej Jirman	/* Accelerometer/gyroscope */
18291f480d4SOndrej Jirman	mpu6050@68 {
18391f480d4SOndrej Jirman		compatible = "invensense,mpu6050";
18491f480d4SOndrej Jirman		reg = <0x68>;
18591f480d4SOndrej Jirman		interrupt-parent = <&pio>;
18691f480d4SOndrej Jirman		interrupts = <7 5 IRQ_TYPE_EDGE_RISING>; /* PH5 */
18791f480d4SOndrej Jirman		vdd-supply = <&reg_dldo1>;
18891f480d4SOndrej Jirman		vddio-supply = <&reg_dldo1>;
18991f480d4SOndrej Jirman	};
19091f480d4SOndrej Jirman};
19191f480d4SOndrej Jirman
19291f480d4SOndrej Jirman/* Connected to pogo pins (external spring based pinheader for user addons) */
19391f480d4SOndrej Jirman&i2c2 {
19491f480d4SOndrej Jirman	status = "okay";
19591f480d4SOndrej Jirman};
19691f480d4SOndrej Jirman
19791f480d4SOndrej Jirman&lradc {
19891f480d4SOndrej Jirman	vref-supply = <&reg_aldo3>;
19991f480d4SOndrej Jirman	status = "okay";
20091f480d4SOndrej Jirman
20191f480d4SOndrej Jirman	button-200 {
20291f480d4SOndrej Jirman		label = "Volume Up";
20391f480d4SOndrej Jirman		linux,code = <KEY_VOLUMEUP>;
20491f480d4SOndrej Jirman		channel = <0>;
20591f480d4SOndrej Jirman		voltage = <200000>;
20691f480d4SOndrej Jirman	};
20791f480d4SOndrej Jirman
20891f480d4SOndrej Jirman	button-400 {
20991f480d4SOndrej Jirman		label = "Volume Down";
21091f480d4SOndrej Jirman		linux,code = <KEY_VOLUMEDOWN>;
21191f480d4SOndrej Jirman		channel = <0>;
21291f480d4SOndrej Jirman		voltage = <400000>;
21391f480d4SOndrej Jirman	};
21491f480d4SOndrej Jirman};
21591f480d4SOndrej Jirman
21691f480d4SOndrej Jirman&mmc0 {
21791f480d4SOndrej Jirman	pinctrl-names = "default";
21891f480d4SOndrej Jirman	pinctrl-0 = <&mmc0_pins>;
21991f480d4SOndrej Jirman	vmmc-supply = <&reg_dcdc1>;
22091f480d4SOndrej Jirman	vqmmc-supply = <&reg_dcdc1>;
22191f480d4SOndrej Jirman	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
22291f480d4SOndrej Jirman	disable-wp;
22391f480d4SOndrej Jirman	bus-width = <4>;
22491f480d4SOndrej Jirman	status = "okay";
22591f480d4SOndrej Jirman};
22691f480d4SOndrej Jirman
2274fcf6f34SOndrej Jirman&mmc1 {
2284fcf6f34SOndrej Jirman	pinctrl-names = "default";
2294fcf6f34SOndrej Jirman	pinctrl-0 = <&mmc1_pins>;
2304fcf6f34SOndrej Jirman	vmmc-supply = <&reg_vbat_wifi>;
2314fcf6f34SOndrej Jirman	vqmmc-supply = <&reg_dldo4>;
2324fcf6f34SOndrej Jirman	bus-width = <4>;
2334fcf6f34SOndrej Jirman	non-removable;
2344fcf6f34SOndrej Jirman	status = "okay";
2354fcf6f34SOndrej Jirman
2364fcf6f34SOndrej Jirman	rtl8723cs: wifi@1 {
2374fcf6f34SOndrej Jirman		reg = <1>;
2384fcf6f34SOndrej Jirman	};
2394fcf6f34SOndrej Jirman};
2404fcf6f34SOndrej Jirman
24191f480d4SOndrej Jirman&mmc2 {
24291f480d4SOndrej Jirman	pinctrl-names = "default";
24391f480d4SOndrej Jirman	pinctrl-0 = <&mmc2_pins>;
24491f480d4SOndrej Jirman	vmmc-supply = <&reg_dcdc1>;
24591f480d4SOndrej Jirman	vqmmc-supply = <&reg_dcdc1>;
24691f480d4SOndrej Jirman	bus-width = <8>;
24791f480d4SOndrej Jirman	non-removable;
24891f480d4SOndrej Jirman	cap-mmc-hw-reset;
24991f480d4SOndrej Jirman	status = "okay";
25091f480d4SOndrej Jirman};
25191f480d4SOndrej Jirman
25291f480d4SOndrej Jirman&ohci0 {
25391f480d4SOndrej Jirman	status = "okay";
25491f480d4SOndrej Jirman};
25591f480d4SOndrej Jirman
25691f480d4SOndrej Jirman&ohci1 {
25791f480d4SOndrej Jirman	status = "okay";
25891f480d4SOndrej Jirman};
25991f480d4SOndrej Jirman
26091f480d4SOndrej Jirman&pio {
26191f480d4SOndrej Jirman	vcc-pb-supply = <&reg_dcdc1>;
26291f480d4SOndrej Jirman	vcc-pc-supply = <&reg_dcdc1>;
26391f480d4SOndrej Jirman	vcc-pd-supply = <&reg_dcdc1>;
26491f480d4SOndrej Jirman	vcc-pe-supply = <&reg_aldo1>;
26591f480d4SOndrej Jirman	vcc-pf-supply = <&reg_dcdc1>;
26691f480d4SOndrej Jirman	vcc-pg-supply = <&reg_dldo4>;
26791f480d4SOndrej Jirman	vcc-ph-supply = <&reg_dcdc1>;
26891f480d4SOndrej Jirman};
26991f480d4SOndrej Jirman
27091f480d4SOndrej Jirman&r_pio {
27191f480d4SOndrej Jirman	/*
27291f480d4SOndrej Jirman	 * FIXME: We can't add that supply for now since it would
27391f480d4SOndrej Jirman	 * create a circular dependency between pinctrl, the regulator
27491f480d4SOndrej Jirman	 * and the RSB Bus.
27591f480d4SOndrej Jirman	 *
27691f480d4SOndrej Jirman	 * vcc-pl-supply = <&reg_aldo2>;
27791f480d4SOndrej Jirman	 */
27891f480d4SOndrej Jirman};
27991f480d4SOndrej Jirman
280a6a22f82SIcenowy Zheng&r_pwm {
281a6a22f82SIcenowy Zheng	status = "okay";
282a6a22f82SIcenowy Zheng};
283a6a22f82SIcenowy Zheng
28491f480d4SOndrej Jirman&r_rsb {
28591f480d4SOndrej Jirman	status = "okay";
28691f480d4SOndrej Jirman
28791f480d4SOndrej Jirman	axp803: pmic@3a3 {
28891f480d4SOndrej Jirman		compatible = "x-powers,axp803";
28991f480d4SOndrej Jirman		reg = <0x3a3>;
29091f480d4SOndrej Jirman		interrupt-parent = <&r_intc>;
29191f480d4SOndrej Jirman		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
29291f480d4SOndrej Jirman	};
29391f480d4SOndrej Jirman};
29491f480d4SOndrej Jirman
29591f480d4SOndrej Jirman#include "axp803.dtsi"
29691f480d4SOndrej Jirman
29791f480d4SOndrej Jirman&battery_power_supply {
29891f480d4SOndrej Jirman	status = "okay";
29991f480d4SOndrej Jirman};
30091f480d4SOndrej Jirman
30191f480d4SOndrej Jirman&reg_aldo1 {
30291f480d4SOndrej Jirman	regulator-min-microvolt = <1800000>;
30391f480d4SOndrej Jirman	regulator-max-microvolt = <1800000>;
30491f480d4SOndrej Jirman	regulator-name = "dovdd-csi";
30591f480d4SOndrej Jirman};
30691f480d4SOndrej Jirman
30791f480d4SOndrej Jirman&reg_aldo2 {
30891f480d4SOndrej Jirman	regulator-always-on;
30991f480d4SOndrej Jirman	regulator-min-microvolt = <1800000>;
31091f480d4SOndrej Jirman	regulator-max-microvolt = <1800000>;
31191f480d4SOndrej Jirman	regulator-name = "vcc-pl";
31291f480d4SOndrej Jirman};
31391f480d4SOndrej Jirman
31491f480d4SOndrej Jirman&reg_aldo3 {
31591f480d4SOndrej Jirman	regulator-always-on;
3163cf9bf3bSSamuel Holland	regulator-min-microvolt = <3000000>;
3173cf9bf3bSSamuel Holland	regulator-max-microvolt = <3000000>;
31891f480d4SOndrej Jirman	regulator-name = "vcc-pll-avcc";
31991f480d4SOndrej Jirman};
32091f480d4SOndrej Jirman
32191f480d4SOndrej Jirman&reg_dcdc1 {
32291f480d4SOndrej Jirman	regulator-always-on;
32391f480d4SOndrej Jirman	regulator-min-microvolt = <3300000>;
32491f480d4SOndrej Jirman	regulator-max-microvolt = <3300000>;
32591f480d4SOndrej Jirman	regulator-name = "vcc-3v3";
32691f480d4SOndrej Jirman};
32791f480d4SOndrej Jirman
32891f480d4SOndrej Jirman&reg_dcdc2 {
32991f480d4SOndrej Jirman	regulator-always-on;
33091f480d4SOndrej Jirman	regulator-min-microvolt = <1000000>;
33191f480d4SOndrej Jirman	regulator-max-microvolt = <1300000>;
33291f480d4SOndrej Jirman	regulator-name = "vdd-cpux";
33391f480d4SOndrej Jirman};
33491f480d4SOndrej Jirman
33591f480d4SOndrej Jirman/* DCDC3 is polyphased with DCDC2 */
33691f480d4SOndrej Jirman
33791f480d4SOndrej Jirman&reg_dcdc5 {
33891f480d4SOndrej Jirman	regulator-always-on;
33991f480d4SOndrej Jirman	regulator-min-microvolt = <1200000>;
34091f480d4SOndrej Jirman	regulator-max-microvolt = <1200000>;
34191f480d4SOndrej Jirman	regulator-name = "vcc-dram";
34291f480d4SOndrej Jirman};
34391f480d4SOndrej Jirman
34491f480d4SOndrej Jirman&reg_dcdc6 {
34591f480d4SOndrej Jirman	regulator-always-on;
34691f480d4SOndrej Jirman	regulator-min-microvolt = <1100000>;
34791f480d4SOndrej Jirman	regulator-max-microvolt = <1100000>;
34891f480d4SOndrej Jirman	regulator-name = "vdd-sys";
34991f480d4SOndrej Jirman};
35091f480d4SOndrej Jirman
35191f480d4SOndrej Jirman&reg_dldo1 {
35291f480d4SOndrej Jirman	regulator-min-microvolt = <3300000>;
35391f480d4SOndrej Jirman	regulator-max-microvolt = <3300000>;
35491f480d4SOndrej Jirman	regulator-name = "vcc-dsi-sensor";
35591f480d4SOndrej Jirman};
35691f480d4SOndrej Jirman
35791f480d4SOndrej Jirman&reg_dldo2 {
35891f480d4SOndrej Jirman	regulator-min-microvolt = <1800000>;
35991f480d4SOndrej Jirman	regulator-max-microvolt = <1800000>;
36091f480d4SOndrej Jirman	regulator-name = "vcc-mipi-io";
36191f480d4SOndrej Jirman};
36291f480d4SOndrej Jirman
36391f480d4SOndrej Jirman&reg_dldo3 {
36491f480d4SOndrej Jirman	regulator-min-microvolt = <2800000>;
36591f480d4SOndrej Jirman	regulator-max-microvolt = <2800000>;
36691f480d4SOndrej Jirman	regulator-name = "avdd-csi";
36791f480d4SOndrej Jirman};
36891f480d4SOndrej Jirman
36991f480d4SOndrej Jirman&reg_dldo4 {
37091f480d4SOndrej Jirman	regulator-min-microvolt = <1800000>;
37186be5c78SOndrej Jirman	regulator-max-microvolt = <1800000>;
37291f480d4SOndrej Jirman	regulator-name = "vcc-wifi-io";
37391f480d4SOndrej Jirman};
37491f480d4SOndrej Jirman
37591f480d4SOndrej Jirman&reg_eldo1 {
37691f480d4SOndrej Jirman	regulator-always-on;
37791f480d4SOndrej Jirman	regulator-min-microvolt = <1800000>;
37891f480d4SOndrej Jirman	regulator-max-microvolt = <1800000>;
37991f480d4SOndrej Jirman	regulator-name = "vcc-lpddr";
38091f480d4SOndrej Jirman};
38191f480d4SOndrej Jirman
38291f480d4SOndrej Jirman&reg_eldo3 {
38391f480d4SOndrej Jirman	regulator-min-microvolt = <1800000>;
38491f480d4SOndrej Jirman	regulator-max-microvolt = <1800000>;
38591f480d4SOndrej Jirman	regulator-name = "dvdd-1v8-csi";
38691f480d4SOndrej Jirman};
38791f480d4SOndrej Jirman
38891f480d4SOndrej Jirman&reg_fldo1 {
38991f480d4SOndrej Jirman	regulator-min-microvolt = <1200000>;
39091f480d4SOndrej Jirman	regulator-max-microvolt = <1200000>;
39191f480d4SOndrej Jirman	regulator-name = "vcc-1v2-hsic";
39291f480d4SOndrej Jirman};
39391f480d4SOndrej Jirman
39491f480d4SOndrej Jirman&reg_fldo2 {
39591f480d4SOndrej Jirman	regulator-always-on;
39691f480d4SOndrej Jirman	regulator-min-microvolt = <1100000>;
39791f480d4SOndrej Jirman	regulator-max-microvolt = <1100000>;
39891f480d4SOndrej Jirman	regulator-name = "vdd-cpus";
39991f480d4SOndrej Jirman};
40091f480d4SOndrej Jirman
40191f480d4SOndrej Jirman&reg_ldo_io0 {
40291f480d4SOndrej Jirman	regulator-min-microvolt = <3300000>;
40391f480d4SOndrej Jirman	regulator-max-microvolt = <3300000>;
40491f480d4SOndrej Jirman	regulator-name = "vcc-lcd-ctp-stk";
40591f480d4SOndrej Jirman	status = "okay";
40691f480d4SOndrej Jirman};
40791f480d4SOndrej Jirman
40891f480d4SOndrej Jirman&reg_ldo_io1 {
40991f480d4SOndrej Jirman	regulator-min-microvolt = <1800000>;
41091f480d4SOndrej Jirman	regulator-max-microvolt = <1800000>;
41191f480d4SOndrej Jirman	regulator-name = "vcc-1v8-typec";
41291f480d4SOndrej Jirman	status = "okay";
41391f480d4SOndrej Jirman};
41491f480d4SOndrej Jirman
41591f480d4SOndrej Jirman&reg_rtc_ldo {
41691f480d4SOndrej Jirman	regulator-name = "vcc-rtc";
41791f480d4SOndrej Jirman};
41891f480d4SOndrej Jirman
41991f480d4SOndrej Jirman&sound {
42091f480d4SOndrej Jirman	status = "okay";
42191f480d4SOndrej Jirman	simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>;
42291f480d4SOndrej Jirman	simple-audio-card,widgets = "Microphone", "Headset Microphone",
42391f480d4SOndrej Jirman				    "Microphone", "Internal Microphone",
42491f480d4SOndrej Jirman				    "Headphone", "Headphone Jack",
42591f480d4SOndrej Jirman				    "Speaker", "Internal Earpiece",
42691f480d4SOndrej Jirman				    "Speaker", "Internal Speaker";
42791f480d4SOndrej Jirman	simple-audio-card,routing =
42891f480d4SOndrej Jirman			"Headphone Jack", "HP",
42991f480d4SOndrej Jirman			"Internal Earpiece", "EARPIECE",
43091f480d4SOndrej Jirman			"Internal Speaker", "Speaker Amp OUTL",
43191f480d4SOndrej Jirman			"Internal Speaker", "Speaker Amp OUTR",
43291f480d4SOndrej Jirman			"Speaker Amp INL", "LINEOUT",
43391f480d4SOndrej Jirman			"Speaker Amp INR", "LINEOUT",
434631e6a35SSamuel Holland			"Left DAC", "DACL",
435631e6a35SSamuel Holland			"Right DAC", "DACR",
436631e6a35SSamuel Holland			"ADCL", "Left ADC",
437631e6a35SSamuel Holland			"ADCR", "Right ADC",
43891f480d4SOndrej Jirman			"Internal Microphone", "MBIAS",
43991f480d4SOndrej Jirman			"MIC1", "Internal Microphone",
44091f480d4SOndrej Jirman			"Headset Microphone", "HBIAS",
44191f480d4SOndrej Jirman			"MIC2", "Headset Microphone";
44291f480d4SOndrej Jirman};
44391f480d4SOndrej Jirman
44491f480d4SOndrej Jirman&uart0 {
44591f480d4SOndrej Jirman	pinctrl-names = "default";
44691f480d4SOndrej Jirman	pinctrl-0 = <&uart0_pb_pins>;
44791f480d4SOndrej Jirman	status = "okay";
44891f480d4SOndrej Jirman};
44991f480d4SOndrej Jirman
450*976843d5SOndrej Jirman&uart1 {
451*976843d5SOndrej Jirman	pinctrl-names = "default";
452*976843d5SOndrej Jirman	pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
453*976843d5SOndrej Jirman	status = "okay";
454*976843d5SOndrej Jirman
455*976843d5SOndrej Jirman	bluetooth {
456*976843d5SOndrej Jirman		compatible = "realtek,rtl8723cs-bt";
457*976843d5SOndrej Jirman		device-wake-gpios = <&pio 7 6 GPIO_ACTIVE_LOW>; /* PH6 */
458*976843d5SOndrej Jirman		enable-gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */
459*976843d5SOndrej Jirman		host-wake-gpios = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* PL5 */
460*976843d5SOndrej Jirman	};
461*976843d5SOndrej Jirman};
462*976843d5SOndrej Jirman
46391f480d4SOndrej Jirman/* Connected to the modem (hardware flow control can't be used) */
46491f480d4SOndrej Jirman&uart3 {
46591f480d4SOndrej Jirman	pinctrl-names = "default";
46691f480d4SOndrej Jirman	pinctrl-0 = <&uart3_pins>;
46791f480d4SOndrej Jirman	status = "okay";
46891f480d4SOndrej Jirman};
46991f480d4SOndrej Jirman
47091f480d4SOndrej Jirman&usb_otg {
47191f480d4SOndrej Jirman	dr_mode = "peripheral";
47291f480d4SOndrej Jirman	status = "okay";
47391f480d4SOndrej Jirman};
47491f480d4SOndrej Jirman
47591f480d4SOndrej Jirman&usb_power_supply {
47691f480d4SOndrej Jirman	status = "okay";
47791f480d4SOndrej Jirman};
47891f480d4SOndrej Jirman
47991f480d4SOndrej Jirman&usbphy {
48091f480d4SOndrej Jirman	status = "okay";
48191f480d4SOndrej Jirman};
482