70c4f19
From 836821a0addbd8589e949801aaa7be244703c7f8 Mon Sep 17 00:00:00 2001
70c4f19
From: Ondrej Jirman <megous@megous.com>
70c4f19
Date: Thu, 27 Feb 2020 02:26:48 +0100
70c4f19
Subject: [PATCH 1/3] arm64: dts: sun50i-a64: Add i2c2 pins
70c4f19
70c4f19
PinePhone needs I2C2 pins description. Add it, and make it default
70c4f19
for i2c2, since it's the only possiblilty.
70c4f19
70c4f19
Signed-off-by: Ondrej Jirman <megous@megous.com>
70c4f19
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
70c4f19
---
70c4f19
 arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 8 +++++++-
70c4f19
 1 file changed, 7 insertions(+), 1 deletion(-)
70c4f19
70c4f19
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
70c4f19
index 862b47dc9dc9..107a48f9c5b3 100644
70c4f19
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
70c4f19
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
70c4f19
@@ -671,6 +671,11 @@ i2c1_pins: i2c1-pins {
70c4f19
 				function = "i2c1";
70c4f19
 			};
70c4f19
 
70c4f19
+			i2c2_pins: i2c2-pins {
70c4f19
+				pins = "PE14", "PE15";
70c4f19
+				function = "i2c2";
70c4f19
+			};
70c4f19
+
70c4f19
 			/omit-if-no-ref/
70c4f19
 			lcd_rgb666_pins: lcd-rgb666-pins {
70c4f19
 				pins = "PD0", "PD1", "PD2", "PD3", "PD4",
70c4f19
@@ -958,12 +963,13 @@ i2c2: i2c@1c2b400 {
70c4f19
 			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
70c4f19
 			clocks = <&ccu CLK_BUS_I2C2>;
70c4f19
 			resets = <&ccu RST_BUS_I2C2>;
70c4f19
+			pinctrl-names = "default";
70c4f19
+			pinctrl-0 = <&i2c2_pins>;
70c4f19
 			status = "disabled";
70c4f19
 			#address-cells = <1>;
70c4f19
 			#size-cells = <0>;
70c4f19
 		};
70c4f19
 
70c4f19
-
70c4f19
 		spi0: spi@1c68000 {
70c4f19
 			compatible = "allwinner,sun8i-h3-spi";
70c4f19
 			reg = <0x01c68000 0x1000>;
70c4f19
-- 
70c4f19
2.24.1
70c4f19
70c4f19
From 5c4e2cd9e8b600cc622c10543f69fcd897557eee Mon Sep 17 00:00:00 2001
70c4f19
From: Ondrej Jirman <megous@megous.com>
70c4f19
Date: Thu, 27 Feb 2020 02:26:49 +0100
70c4f19
Subject: [PATCH 2/3] dt-bindings: arm: sunxi: Add PinePhone 1.0 and 1.1
70c4f19
 bindings
70c4f19
70c4f19
Document board compatible names for Pine64 PinePhone:
70c4f19
70c4f19
- 1.0 - Developer variant
70c4f19
- 1.1 - Braveheart variant
70c4f19
70c4f19
Signed-off-by: Ondrej Jirman <megous@megous.com>
70c4f19
Reviewed-by: Rob Herring <robh@kernel.org>
70c4f19
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
70c4f19
---
70c4f19
 Documentation/devicetree/bindings/arm/sunxi.yaml | 10 ++++++++++
70c4f19
 1 file changed, 10 insertions(+)
70c4f19
70c4f19
diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
70c4f19
index 159060b65c5d..c632252be48b 100644
70c4f19
--- a/Documentation/devicetree/bindings/arm/sunxi.yaml
70c4f19
+++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
70c4f19
@@ -636,6 +636,16 @@ properties:
70c4f19
           - const: pine64,pinebook
70c4f19
           - const: allwinner,sun50i-a64
70c4f19
 
70c4f19
+      - description: Pine64 PinePhone Developer Batch (1.0)
70c4f19
+        items:
70c4f19
+          - const: pine64,pinephone-1.0
70c4f19
+          - const: allwinner,sun50i-a64
70c4f19
+
70c4f19
+      - description: Pine64 PinePhone Braveheart (1.1)
70c4f19
+        items:
70c4f19
+          - const: pine64,pinephone-1.1
70c4f19
+          - const: allwinner,sun50i-a64
70c4f19
+
70c4f19
       - description: Pine64 PineTab
70c4f19
         items:
70c4f19
           - const: pine64,pinetab
70c4f19
-- 
70c4f19
2.24.1
70c4f19
70c4f19
From 697f60799172569e8d502a44ad98994f2c48778c Mon Sep 17 00:00:00 2001
70c4f19
From: Ondrej Jirman <megous@megous.com>
70c4f19
Date: Thu, 27 Feb 2020 02:26:50 +0100
70c4f19
Subject: [PATCH 3/3] arm64: dts: allwinner: Add initial support for Pine64
70c4f19
 PinePhone
70c4f19
70c4f19
At the moment PinePhone comes in two slightly incompatible variants:
70c4f19
70c4f19
- 1.0: Early Developer Batch
70c4f19
- 1.1: Braveheart Batch
70c4f19
70c4f19
There will be at least one more incompatible variant in the very near
70c4f19
future, so let's start by sharing the dtsi among multiple variants,
70c4f19
right away, even though the HW description doesn't yet include the
70c4f19
different bits.
70c4f19
70c4f19
The differences between 1.0 and 1.1 are: change in pins that control
70c4f19
the flash LED, differences in modem power status signal routing, and
70c4f19
maybe some other subtler things, that have not been determined yet.
70c4f19
70c4f19
This is a basic DT that includes only features that are already
70c4f19
supported by mainline drivers.
70c4f19
70c4f19
Co-developed-by: Samuel Holland <samuel@sholland.org>
70c4f19
Signed-off-by: Samuel Holland <samuel@sholland.org>
70c4f19
Co-developed-by: Martijn Braam <martijn@brixit.nl>
70c4f19
Signed-off-by: Martijn Braam <martijn@brixit.nl>
70c4f19
Co-developed-by: Luca Weiss <luca@z3ntu.xyz>
70c4f19
Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
70c4f19
Signed-off-by: Bhushan Shah <bshah@kde.org>
70c4f19
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
70c4f19
Signed-off-by: Ondrej Jirman <megous@megous.com>
70c4f19
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
70c4f19
---
70c4f19
 arch/arm64/boot/dts/allwinner/Makefile        |   2 +
70c4f19
 .../allwinner/sun50i-a64-pinephone-1.0.dts    |  11 +
70c4f19
 .../allwinner/sun50i-a64-pinephone-1.1.dts    |  11 +
70c4f19
 .../dts/allwinner/sun50i-a64-pinephone.dtsi   | 379 ++++++++++++++++++
70c4f19
 4 files changed, 403 insertions(+)
70c4f19
 create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts
70c4f19
 create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts
70c4f19
 create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
70c4f19
70c4f19
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
70c4f19
index 6dad63881cd3..e4d3cd0ac5bb 100644
70c4f19
--- a/arch/arm64/boot/dts/allwinner/Makefile
70c4f19
+++ b/arch/arm64/boot/dts/allwinner/Makefile
70c4f19
@@ -9,6 +9,8 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-orangepi-win.dtb
70c4f19
 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-lts.dtb
70c4f19
 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb
70c4f19
 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinebook.dtb
70c4f19
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinephone-1.0.dtb
70c4f19
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinephone-1.1.dtb
70c4f19
 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinetab.dtb
70c4f19
 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb
70c4f19
 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-teres-i.dtb
70c4f19
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts
70c4f19
new file mode 100644
70c4f19
index 000000000000..0c42272106af
70c4f19
--- /dev/null
70c4f19
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts
70c4f19
@@ -0,0 +1,11 @@
70c4f19
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
70c4f19
+// Copyright (C) 2020 Ondrej Jirman <megous@megous.com>
70c4f19
+
70c4f19
+/dts-v1/;
70c4f19
+
70c4f19
+#include "sun50i-a64-pinephone.dtsi"
70c4f19
+
70c4f19
+/ {
70c4f19
+	model = "Pine64 PinePhone Developer Batch (1.0)";
70c4f19
+	compatible = "pine64,pinephone-1.0", "allwinner,sun50i-a64";
70c4f19
+};
70c4f19
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts
70c4f19
new file mode 100644
70c4f19
index 000000000000..06a775c41664
70c4f19
--- /dev/null
70c4f19
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts
70c4f19
@@ -0,0 +1,11 @@
70c4f19
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
70c4f19
+// Copyright (C) 2020 Ondrej Jirman <megous@megous.com>
70c4f19
+
70c4f19
+/dts-v1/;
70c4f19
+
70c4f19
+#include "sun50i-a64-pinephone.dtsi"
70c4f19
+
70c4f19
+/ {
70c4f19
+	model = "Pine64 PinePhone Braveheart (1.1)";
70c4f19
+	compatible = "pine64,pinephone-1.1", "allwinner,sun50i-a64";
70c4f19
+};
70c4f19
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
70c4f19
new file mode 100644
70c4f19
index 000000000000..cefda145c3c9
70c4f19
--- /dev/null
70c4f19
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
70c4f19
@@ -0,0 +1,379 @@
70c4f19
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
70c4f19
+// Copyright (C) 2019 Icenowy Zheng <icenowy@aosc.xyz>
70c4f19
+// Copyright (C) 2020 Martijn Braam <martijn@brixit.nl>
70c4f19
+// Copyright (C) 2020 Ondrej Jirman <megous@megous.com>
70c4f19
+
70c4f19
+#include "sun50i-a64.dtsi"
70c4f19
+#include "sun50i-a64-cpu-opp.dtsi"
70c4f19
+
70c4f19
+#include <dt-bindings/gpio/gpio.h>
70c4f19
+#include <dt-bindings/input/input.h>
70c4f19
+#include <dt-bindings/leds/common.h>
70c4f19
+#include <dt-bindings/pwm/pwm.h>
70c4f19
+
70c4f19
+/ {
70c4f19
+	aliases {
70c4f19
+		serial0 = &uart;;
70c4f19
+	};
70c4f19
+
70c4f19
+	chosen {
70c4f19
+		stdout-path = "serial0:115200n8";
70c4f19
+	};
70c4f19
+
70c4f19
+	leds {
70c4f19
+		compatible = "gpio-leds";
70c4f19
+
70c4f19
+		blue {
70c4f19
+			function = LED_FUNCTION_INDICATOR;
70c4f19
+			color = <LED_COLOR_ID_BLUE>;
70c4f19
+			gpios = <&pio 3 20 GPIO_ACTIVE_HIGH>; /* PD20 */
70c4f19
+		};
70c4f19
+
70c4f19
+		green {
70c4f19
+			function = LED_FUNCTION_INDICATOR;
70c4f19
+			color = <LED_COLOR_ID_GREEN>;
70c4f19
+			gpios = <&pio 3 18 GPIO_ACTIVE_HIGH>; /* PD18 */
70c4f19
+		};
70c4f19
+
70c4f19
+		red {
70c4f19
+			function = LED_FUNCTION_INDICATOR;
70c4f19
+			color = <LED_COLOR_ID_RED>;
70c4f19
+			gpios = <&pio 3 19 GPIO_ACTIVE_HIGH>; /* PD19 */
70c4f19
+		};
70c4f19
+	};
70c4f19
+
70c4f19
+	speaker_amp: audio-amplifier {
70c4f19
+		compatible = "simple-audio-amplifier";
70c4f19
+		enable-gpios = <&pio 2 7 GPIO_ACTIVE_HIGH>; /* PC7 */
70c4f19
+		sound-name-prefix = "Speaker Amp";
70c4f19
+	};
70c4f19
+
70c4f19
+	vibrator {
70c4f19
+		compatible = "gpio-vibrator";
70c4f19
+		enable-gpios = <&pio 3 2 GPIO_ACTIVE_HIGH>; /* PD2 */
70c4f19
+		vcc-supply = <&reg_dcdc1>;
70c4f19
+	};
70c4f19
+};
70c4f19
+
70c4f19
+&codec {
70c4f19
+	status = "okay";
70c4f19
+};
70c4f19
+
70c4f19
+&codec_analog {
70c4f19
+	cpvdd-supply = <&reg_eldo1>;
70c4f19
+	status = "okay";
70c4f19
+};
70c4f19
+
70c4f19
+&cpu0 {
70c4f19
+	cpu-supply = <&reg_dcdc2>;
70c4f19
+};
70c4f19
+
70c4f19
+&cpu1 {
70c4f19
+	cpu-supply = <&reg_dcdc2>;
70c4f19
+};
70c4f19
+
70c4f19
+&cpu2 {
70c4f19
+	cpu-supply = <&reg_dcdc2>;
70c4f19
+};
70c4f19
+
70c4f19
+&cpu3 {
70c4f19
+	cpu-supply = <&reg_dcdc2>;
70c4f19
+};
70c4f19
+
70c4f19
+&dai {
70c4f19
+	status = "okay";
70c4f19
+};
70c4f19
+
70c4f19
+&ehci0 {
70c4f19
+	status = "okay";
70c4f19
+};
70c4f19
+
70c4f19
+&ehci1 {
70c4f19
+	status = "okay";
70c4f19
+};
70c4f19
+
70c4f19
+&i2c1 {
70c4f19
+	status = "okay";
70c4f19
+
70c4f19
+	/* Magnetometer */
70c4f19
+	lis3mdl@1e {
70c4f19
+		compatible = "st,lis3mdl-magn";
70c4f19
+		reg = <0x1e>;
70c4f19
+		vdd-supply = <&reg_dldo1>;
70c4f19
+		vddio-supply = <&reg_dldo1>;
70c4f19
+	};
70c4f19
+
70c4f19
+	/* Accelerometer/gyroscope */
70c4f19
+	mpu6050@68 {
70c4f19
+		compatible = "invensense,mpu6050";
70c4f19
+		reg = <0x68>;
70c4f19
+		interrupt-parent = <&pio;;
70c4f19
+		interrupts = <7 5 IRQ_TYPE_EDGE_RISING>; /* PH5 */
70c4f19
+		vdd-supply = <&reg_dldo1>;
70c4f19
+		vddio-supply = <&reg_dldo1>;
70c4f19
+	};
70c4f19
+};
70c4f19
+
70c4f19
+/* Connected to pogo pins (external spring based pinheader for user addons) */
70c4f19
+&i2c2 {
70c4f19
+	status = "okay";
70c4f19
+};
70c4f19
+
70c4f19
+&lradc {
70c4f19
+	vref-supply = <&reg_aldo3>;
70c4f19
+	status = "okay";
70c4f19
+
70c4f19
+	button-200 {
70c4f19
+		label = "Volume Up";
70c4f19
+		linux,code = <KEY_VOLUMEUP>;
70c4f19
+		channel = <0>;
70c4f19
+		voltage = <200000>;
70c4f19
+	};
70c4f19
+
70c4f19
+	button-400 {
70c4f19
+		label = "Volume Down";
70c4f19
+		linux,code = <KEY_VOLUMEDOWN>;
70c4f19
+		channel = <0>;
70c4f19
+		voltage = <400000>;
70c4f19
+	};
70c4f19
+};
70c4f19
+
70c4f19
+&mmc0 {
70c4f19
+	pinctrl-names = "default";
70c4f19
+	pinctrl-0 = <&mmc0_pins>;
70c4f19
+	vmmc-supply = <&reg_dcdc1>;
70c4f19
+	vqmmc-supply = <&reg_dcdc1>;
70c4f19
+	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
70c4f19
+	disable-wp;
70c4f19
+	bus-width = <4>;
70c4f19
+	status = "okay";
70c4f19
+};
70c4f19
+
70c4f19
+&mmc2 {
70c4f19
+	pinctrl-names = "default";
70c4f19
+	pinctrl-0 = <&mmc2_pins>;
70c4f19
+	vmmc-supply = <&reg_dcdc1>;
70c4f19
+	vqmmc-supply = <&reg_dcdc1>;
70c4f19
+	bus-width = <8>;
70c4f19
+	non-removable;
70c4f19
+	cap-mmc-hw-reset;
70c4f19
+	status = "okay";
70c4f19
+};
70c4f19
+
70c4f19
+&ohci0 {
70c4f19
+	status = "okay";
70c4f19
+};
70c4f19
+
70c4f19
+&ohci1 {
70c4f19
+	status = "okay";
70c4f19
+};
70c4f19
+
70c4f19
+&pio {
70c4f19
+	vcc-pb-supply = <&reg_dcdc1>;
70c4f19
+	vcc-pc-supply = <&reg_dcdc1>;
70c4f19
+	vcc-pd-supply = <&reg_dcdc1>;
70c4f19
+	vcc-pe-supply = <&reg_aldo1>;
70c4f19
+	vcc-pf-supply = <&reg_dcdc1>;
70c4f19
+	vcc-pg-supply = <&reg_dldo4>;
70c4f19
+	vcc-ph-supply = <&reg_dcdc1>;
70c4f19
+};
70c4f19
+
70c4f19
+&r_pio {
70c4f19
+	/*
70c4f19
+	 * FIXME: We can't add that supply for now since it would
70c4f19
+	 * create a circular dependency between pinctrl, the regulator
70c4f19
+	 * and the RSB Bus.
70c4f19
+	 *
70c4f19
+	 * vcc-pl-supply = <&reg_aldo2>;
70c4f19
+	 */
70c4f19
+};
70c4f19
+
70c4f19
+&r_rsb {
70c4f19
+	status = "okay";
70c4f19
+
70c4f19
+	axp803: pmic@3a3 {
70c4f19
+		compatible = "x-powers,axp803";
70c4f19
+		reg = <0x3a3>;
70c4f19
+		interrupt-parent = <&r_intc>;
70c4f19
+		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
70c4f19
+	};
70c4f19
+};
70c4f19
+
70c4f19
+#include "axp803.dtsi"
70c4f19
+
70c4f19
+&ac_power_supply {
70c4f19
+	status = "okay";
70c4f19
+};
70c4f19
+
70c4f19
+&battery_power_supply {
70c4f19
+	status = "okay";
70c4f19
+};
70c4f19
+
70c4f19
+&reg_aldo1 {
70c4f19
+	regulator-min-microvolt = <1800000>;
70c4f19
+	regulator-max-microvolt = <1800000>;
70c4f19
+	regulator-name = "dovdd-csi";
70c4f19
+};
70c4f19
+
70c4f19
+&reg_aldo2 {
70c4f19
+	regulator-always-on;
70c4f19
+	regulator-min-microvolt = <1800000>;
70c4f19
+	regulator-max-microvolt = <1800000>;
70c4f19
+	regulator-name = "vcc-pl";
70c4f19
+};
70c4f19
+
70c4f19
+&reg_aldo3 {
70c4f19
+	regulator-always-on;
70c4f19
+	regulator-min-microvolt = <2700000>;
70c4f19
+	regulator-max-microvolt = <3300000>;
70c4f19
+	regulator-name = "vcc-pll-avcc";
70c4f19
+};
70c4f19
+
70c4f19
+&reg_dcdc1 {
70c4f19
+	regulator-always-on;
70c4f19
+	regulator-min-microvolt = <3300000>;
70c4f19
+	regulator-max-microvolt = <3300000>;
70c4f19
+	regulator-name = "vcc-3v3";
70c4f19
+};
70c4f19
+
70c4f19
+&reg_dcdc2 {
70c4f19
+	regulator-always-on;
70c4f19
+	regulator-min-microvolt = <1000000>;
70c4f19
+	regulator-max-microvolt = <1300000>;
70c4f19
+	regulator-name = "vdd-cpux";
70c4f19
+};
70c4f19
+
70c4f19
+/* DCDC3 is polyphased with DCDC2 */
70c4f19
+
70c4f19
+&reg_dcdc5 {
70c4f19
+	regulator-always-on;
70c4f19
+	regulator-min-microvolt = <1200000>;
70c4f19
+	regulator-max-microvolt = <1200000>;
70c4f19
+	regulator-name = "vcc-dram";
70c4f19
+};
70c4f19
+
70c4f19
+&reg_dcdc6 {
70c4f19
+	regulator-always-on;
70c4f19
+	regulator-min-microvolt = <1100000>;
70c4f19
+	regulator-max-microvolt = <1100000>;
70c4f19
+	regulator-name = "vdd-sys";
70c4f19
+};
70c4f19
+
70c4f19
+&reg_dldo1 {
70c4f19
+	regulator-min-microvolt = <3300000>;
70c4f19
+	regulator-max-microvolt = <3300000>;
70c4f19
+	regulator-name = "vcc-dsi-sensor";
70c4f19
+};
70c4f19
+
70c4f19
+&reg_dldo2 {
70c4f19
+	regulator-min-microvolt = <1800000>;
70c4f19
+	regulator-max-microvolt = <1800000>;
70c4f19
+	regulator-name = "vcc-mipi-io";
70c4f19
+};
70c4f19
+
70c4f19
+&reg_dldo3 {
70c4f19
+	regulator-min-microvolt = <2800000>;
70c4f19
+	regulator-max-microvolt = <2800000>;
70c4f19
+	regulator-name = "avdd-csi";
70c4f19
+};
70c4f19
+
70c4f19
+&reg_dldo4 {
70c4f19
+	regulator-min-microvolt = <1800000>;
70c4f19
+	regulator-max-microvolt = <3300000>;
70c4f19
+	regulator-name = "vcc-wifi-io";
70c4f19
+};
70c4f19
+
70c4f19
+&reg_eldo1 {
70c4f19
+	regulator-always-on;
70c4f19
+	regulator-min-microvolt = <1800000>;
70c4f19
+	regulator-max-microvolt = <1800000>;
70c4f19
+	regulator-name = "vcc-lpddr";
70c4f19
+};
70c4f19
+
70c4f19
+&reg_eldo3 {
70c4f19
+	regulator-min-microvolt = <1800000>;
70c4f19
+	regulator-max-microvolt = <1800000>;
70c4f19
+	regulator-name = "dvdd-1v8-csi";
70c4f19
+};
70c4f19
+
70c4f19
+&reg_fldo1 {
70c4f19
+	regulator-min-microvolt = <1200000>;
70c4f19
+	regulator-max-microvolt = <1200000>;
70c4f19
+	regulator-name = "vcc-1v2-hsic";
70c4f19
+};
70c4f19
+
70c4f19
+&reg_fldo2 {
70c4f19
+	regulator-always-on;
70c4f19
+	regulator-min-microvolt = <1100000>;
70c4f19
+	regulator-max-microvolt = <1100000>;
70c4f19
+	regulator-name = "vdd-cpus";
70c4f19
+};
70c4f19
+
70c4f19
+&reg_ldo_io0 {
70c4f19
+	regulator-min-microvolt = <3300000>;
70c4f19
+	regulator-max-microvolt = <3300000>;
70c4f19
+	regulator-name = "vcc-lcd-ctp-stk";
70c4f19
+	status = "okay";
70c4f19
+};
70c4f19
+
70c4f19
+&reg_ldo_io1 {
70c4f19
+	regulator-min-microvolt = <1800000>;
70c4f19
+	regulator-max-microvolt = <1800000>;
70c4f19
+	regulator-name = "vcc-1v8-typec";
70c4f19
+	status = "okay";
70c4f19
+};
70c4f19
+
70c4f19
+&reg_rtc_ldo {
70c4f19
+	regulator-name = "vcc-rtc";
70c4f19
+};
70c4f19
+
70c4f19
+&sound {
70c4f19
+	status = "okay";
70c4f19
+	simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>;
70c4f19
+	simple-audio-card,widgets = "Microphone", "Headset Microphone",
70c4f19
+				    "Microphone", "Internal Microphone",
70c4f19
+				    "Headphone", "Headphone Jack",
70c4f19
+				    "Speaker", "Internal Earpiece",
70c4f19
+				    "Speaker", "Internal Speaker";
70c4f19
+	simple-audio-card,routing =
70c4f19
+			"Headphone Jack", "HP",
70c4f19
+			"Internal Earpiece", "EARPIECE",
70c4f19
+			"Internal Speaker", "Speaker Amp OUTL",
70c4f19
+			"Internal Speaker", "Speaker Amp OUTR",
70c4f19
+			"Speaker Amp INL", "LINEOUT",
70c4f19
+			"Speaker Amp INR", "LINEOUT",
70c4f19
+			"Left DAC", "AIF1 Slot 0 Left",
70c4f19
+			"Right DAC", "AIF1 Slot 0 Right",
70c4f19
+			"AIF1 Slot 0 Left ADC", "Left ADC",
70c4f19
+			"AIF1 Slot 0 Right ADC", "Right ADC",
70c4f19
+			"Internal Microphone", "MBIAS",
70c4f19
+			"MIC1", "Internal Microphone",
70c4f19
+			"Headset Microphone", "HBIAS",
70c4f19
+			"MIC2", "Headset Microphone";
70c4f19
+};
70c4f19
+
70c4f19
+&uart0 {
70c4f19
+	pinctrl-names = "default";
70c4f19
+	pinctrl-0 = <&uart0_pb_pins>;
70c4f19
+	status = "okay";
70c4f19
+};
70c4f19
+
70c4f19
+/* Connected to the modem (hardware flow control can't be used) */
70c4f19
+&uart3 {
70c4f19
+	pinctrl-names = "default";
70c4f19
+	pinctrl-0 = <&uart3_pins>;
70c4f19
+	status = "okay";
70c4f19
+};
70c4f19
+
70c4f19
+&usb_otg {
70c4f19
+	dr_mode = "peripheral";
70c4f19
+	status = "okay";
70c4f19
+};
70c4f19
+
70c4f19
+&usb_power_supply {
70c4f19
+	status = "okay";
70c4f19
+};
70c4f19
+
70c4f19
+&usbphy {
70c4f19
+	status = "okay";
70c4f19
+};
70c4f19
-- 
70c4f19
2.24.1
70c4f19