forked from libretro/Lakka-LibreELEC
137 lines
3.4 KiB
Diff
137 lines
3.4 KiB
Diff
From 59cc76036f42c7f7baa17cb46e6e19cf3a6a62bb Mon Sep 17 00:00:00 2001
|
|
From: Jernej Skrabec <jernej.skrabec@gmail.com>
|
|
Date: Sun, 26 Sep 2021 09:31:45 +0200
|
|
Subject: [PATCH] WIP: OPi3 DT fixes
|
|
|
|
---
|
|
.../dts/allwinner/sun50i-h6-orangepi-3.dts | 72 +++++++++----------
|
|
1 file changed, 35 insertions(+), 37 deletions(-)
|
|
|
|
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
|
|
index c45d7b7fb39a..af92d92d85a3 100644
|
|
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
|
|
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
|
|
@@ -63,27 +63,7 @@ reg_vcc5v: vcc5v {
|
|
regulator-max-microvolt = <5000000>;
|
|
regulator-always-on;
|
|
};
|
|
-
|
|
- reg_vcc33_wifi: vcc33-wifi {
|
|
- /* Always on 3.3V regulator for WiFi and BT */
|
|
- compatible = "regulator-fixed";
|
|
- regulator-name = "vcc33-wifi";
|
|
- regulator-min-microvolt = <3300000>;
|
|
- regulator-max-microvolt = <3300000>;
|
|
- regulator-always-on;
|
|
- vin-supply = <®_vcc5v>;
|
|
- };
|
|
-
|
|
- reg_vcc_wifi_io: vcc-wifi-io {
|
|
- /* Always on 1.8V/300mA regulator for WiFi and BT IO */
|
|
- compatible = "regulator-fixed";
|
|
- regulator-name = "vcc-wifi-io";
|
|
- regulator-min-microvolt = <1800000>;
|
|
- regulator-max-microvolt = <1800000>;
|
|
- regulator-always-on;
|
|
- vin-supply = <®_vcc33_wifi>;
|
|
- };
|
|
-
|
|
+
|
|
wifi_pwrseq: wifi-pwrseq {
|
|
compatible = "mmc-pwrseq-simple";
|
|
clocks = <&rtc 1>;
|
|
@@ -136,8 +116,8 @@ &mmc0 {
|
|
};
|
|
|
|
&mmc1 {
|
|
- vmmc-supply = <®_vcc33_wifi>;
|
|
- vqmmc-supply = <®_vcc_wifi_io>;
|
|
+ vmmc-supply = <®_cldo2>;
|
|
+ vqmmc-supply = <®_bldo3>;
|
|
mmc-pwrseq = <&wifi_pwrseq>;
|
|
bus-width = <4>;
|
|
non-removable;
|
|
@@ -172,13 +152,17 @@ &ohci3 {
|
|
&pio {
|
|
vcc-pc-supply = <®_bldo2>;
|
|
vcc-pd-supply = <®_cldo1>;
|
|
- vcc-pg-supply = <®_vcc_wifi_io>;
|
|
+ vcc-pg-supply = <®_bldo3>;
|
|
};
|
|
|
|
&r_ir {
|
|
status = "okay";
|
|
};
|
|
|
|
+&r_pio {
|
|
+ vcc-pm-supply = <®_bldo3>;
|
|
+};
|
|
+
|
|
&r_rsb {
|
|
status = "okay";
|
|
|
|
@@ -234,13 +218,12 @@ reg_bldo2: bldo2 {
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-name = "vcc-efuse-pcie-hdmi-pc";
|
|
};
|
|
-
|
|
- bldo3 {
|
|
- /* unused */
|
|
- };
|
|
-
|
|
- bldo4 {
|
|
- /* unused */
|
|
+
|
|
+ reg_bldo3: bldo3 {
|
|
+ regulator-always-on;
|
|
+ regulator-min-microvolt = <1800000>;
|
|
+ regulator-max-microvolt = <1800000>;
|
|
+ regulator-name = "vcc-dcxoio";
|
|
};
|
|
|
|
reg_cldo1: cldo1 {
|
|
@@ -250,19 +233,34 @@ reg_cldo1: cldo1 {
|
|
regulator-name = "vcc33-io-pd-emmc-sd-usb-uart-2";
|
|
};
|
|
|
|
- cldo2 {
|
|
- /* unused */
|
|
+ reg_cldo2: cldo2 {
|
|
+ /*
|
|
+ * This regulator is connected with CLDO3.
|
|
+ * Before the kernel can support synchronized
|
|
+ * enable of coupled regulators, keep them
|
|
+ * both always on as a ugly hack.
|
|
+ */
|
|
+ regulator-always-on;
|
|
+ regulator-min-microvolt = <3300000>;
|
|
+ regulator-max-microvolt = <3300000>;
|
|
+ regulator-name = "vcc-wifi-1";
|
|
};
|
|
|
|
cldo3 {
|
|
- /* unused */
|
|
+ /*
|
|
+ * This regulator is connected with CLDO2.
|
|
+ * See the comments for CLDO2.
|
|
+ */
|
|
+ regulator-always-on;
|
|
+ regulator-min-microvolt = <3300000>;
|
|
+ regulator-max-microvolt = <3300000>;
|
|
+ regulator-name = "vcc-wifi-2";
|
|
};
|
|
|
|
reg_dcdca: dcdca {
|
|
regulator-always-on;
|
|
- regulator-min-microvolt = <800000>;
|
|
- regulator-max-microvolt = <1160000>;
|
|
- regulator-ramp-delay = <2500>;
|
|
+ regulator-min-microvolt = <810000>;
|
|
+ regulator-max-microvolt = <1080000>;
|
|
regulator-name = "vdd-cpu";
|
|
};
|
|
|
|
--
|
|
2.33.0
|
|
|