mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
Allwinner: linux: Switch PMIC connection to I2C
This commit is contained in:
parent
3f6fb82fe9
commit
1dc9fcdd33
@ -0,0 +1,160 @@
|
||||
From af06c77bfb2e552ab8815aae7856bed29cf8424d Mon Sep 17 00:00:00 2001
|
||||
From: Jernej Skrabec <jernej.skrabec@gmail.com>
|
||||
Date: Sat, 15 Mar 2025 09:57:57 +0100
|
||||
Subject: [PATCH] Revert "arm64: dts: allwinner: h6: Use RSB for AXP805 PMIC
|
||||
connection"
|
||||
|
||||
This reverts commit 531fdbeedeb89bd32018a35c6e137765c9cc9e97.
|
||||
|
||||
Hardware that uses I2C wasn't designed with high speeds in mind, so
|
||||
communication with PMIC via RSB can intermittently fail. Go back to I2C
|
||||
as higher speed and efficiency isn't worth the trouble.
|
||||
|
||||
Fixes: 531fdbeedeb8 ("arm64: dts: allwinner: h6: Use RSB for AXP805 PMIC connection")
|
||||
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
|
||||
---
|
||||
.../dts/allwinner/sun50i-h6-beelink-gs1.dts | 38 +++++++++----------
|
||||
.../dts/allwinner/sun50i-h6-orangepi-3.dts | 14 +++----
|
||||
.../dts/allwinner/sun50i-h6-orangepi.dtsi | 22 +++++------
|
||||
3 files changed, 37 insertions(+), 37 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
|
||||
index 13a0e63afeaf..2c64d834a2c4 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
|
||||
@@ -152,28 +152,12 @@ &pio {
|
||||
vcc-pg-supply = <®_aldo1>;
|
||||
};
|
||||
|
||||
-&r_ir {
|
||||
- linux,rc-map-name = "rc-beelink-gs1";
|
||||
+&r_i2c {
|
||||
status = "okay";
|
||||
-};
|
||||
|
||||
-&r_pio {
|
||||
- /*
|
||||
- * FIXME: We can't add that supply for now since it would
|
||||
- * create a circular dependency between pinctrl, the regulator
|
||||
- * and the RSB Bus.
|
||||
- *
|
||||
- * vcc-pl-supply = <®_aldo1>;
|
||||
- */
|
||||
- vcc-pm-supply = <®_aldo1>;
|
||||
-};
|
||||
-
|
||||
-&r_rsb {
|
||||
- status = "okay";
|
||||
-
|
||||
- axp805: pmic@745 {
|
||||
+ axp805: pmic@36 {
|
||||
compatible = "x-powers,axp805", "x-powers,axp806";
|
||||
- reg = <0x745>;
|
||||
+ reg = <0x36>;
|
||||
interrupt-parent = <&r_intc>;
|
||||
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupt-controller;
|
||||
@@ -291,6 +275,22 @@ sw {
|
||||
};
|
||||
};
|
||||
|
||||
+&r_ir {
|
||||
+ linux,rc-map-name = "rc-beelink-gs1";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&r_pio {
|
||||
+ /*
|
||||
+ * PL0 and PL1 are used for PMIC I2C
|
||||
+ * don't enable the pl-supply else
|
||||
+ * it will fail at boot
|
||||
+ *
|
||||
+ * vcc-pl-supply = <®_aldo1>;
|
||||
+ */
|
||||
+ vcc-pm-supply = <®_aldo1>;
|
||||
+};
|
||||
+
|
||||
&spdif {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spdif_tx_pin>;
|
||||
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 ab87c3447cd7..f005072c68a1 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
|
||||
@@ -176,16 +176,12 @@ &pio {
|
||||
vcc-pg-supply = <®_vcc_wifi_io>;
|
||||
};
|
||||
|
||||
-&r_ir {
|
||||
+&r_i2c {
|
||||
status = "okay";
|
||||
-};
|
||||
|
||||
-&r_rsb {
|
||||
- status = "okay";
|
||||
-
|
||||
- axp805: pmic@745 {
|
||||
+ axp805: pmic@36 {
|
||||
compatible = "x-powers,axp805", "x-powers,axp806";
|
||||
- reg = <0x745>;
|
||||
+ reg = <0x36>;
|
||||
interrupt-parent = <&r_intc>;
|
||||
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupt-controller;
|
||||
@@ -296,6 +292,10 @@ sw {
|
||||
};
|
||||
};
|
||||
|
||||
+&r_ir {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&rtc {
|
||||
clocks = <&ext_osc32k>;
|
||||
};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
|
||||
index d05dc5d6e6b9..e34dbb992021 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
|
||||
@@ -113,20 +113,12 @@ &pio {
|
||||
vcc-pg-supply = <®_aldo1>;
|
||||
};
|
||||
|
||||
-&r_ir {
|
||||
+&r_i2c {
|
||||
status = "okay";
|
||||
-};
|
||||
|
||||
-&r_pio {
|
||||
- vcc-pm-supply = <®_bldo3>;
|
||||
-};
|
||||
-
|
||||
-&r_rsb {
|
||||
- status = "okay";
|
||||
-
|
||||
- axp805: pmic@745 {
|
||||
+ axp805: pmic@36 {
|
||||
compatible = "x-powers,axp805", "x-powers,axp806";
|
||||
- reg = <0x745>;
|
||||
+ reg = <0x36>;
|
||||
interrupt-parent = <&r_intc>;
|
||||
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupt-controller;
|
||||
@@ -241,6 +233,14 @@ sw {
|
||||
};
|
||||
};
|
||||
|
||||
+&r_ir {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&r_pio {
|
||||
+ vcc-pm-supply = <®_bldo3>;
|
||||
+};
|
||||
+
|
||||
&rtc {
|
||||
clocks = <&ext_osc32k>;
|
||||
};
|
||||
--
|
||||
2.48.1
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 59cc76036f42c7f7baa17cb46e6e19cf3a6a62bb Mon Sep 17 00:00:00 2001
|
||||
From 8f163618d4021cb84334109796c60f083fabda8d 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
|
||||
@ -8,7 +8,7 @@ Subject: [PATCH] WIP: OPi3 DT fixes
|
||||
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
|
||||
index f005072c68a1..d01a318653a3 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 {
|
||||
@ -39,8 +39,8 @@ index c45d7b7fb39a..af92d92d85a3 100644
|
||||
+
|
||||
wifi_pwrseq: wifi-pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
clocks = <&rtc 1>;
|
||||
@@ -136,8 +116,8 @@ &mmc0 {
|
||||
clocks = <&rtc CLK_OSC32K_FANOUT>;
|
||||
@@ -137,8 +117,8 @@ &mmc0 {
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
@ -51,7 +51,7 @@ index c45d7b7fb39a..af92d92d85a3 100644
|
||||
mmc-pwrseq = <&wifi_pwrseq>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
@@ -172,13 +152,17 @@ &ohci3 {
|
||||
@@ -173,7 +153,7 @@ &ohci3 {
|
||||
&pio {
|
||||
vcc-pc-supply = <®_bldo2>;
|
||||
vcc-pd-supply = <®_cldo1>;
|
||||
@ -59,18 +59,8 @@ index c45d7b7fb39a..af92d92d85a3 100644
|
||||
+ 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 {
|
||||
&r_i2c {
|
||||
@@ -231,13 +211,12 @@ reg_bldo2: bldo2 {
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-name = "vcc-efuse-pcie-hdmi-pc";
|
||||
};
|
||||
@ -90,7 +80,7 @@ index c45d7b7fb39a..af92d92d85a3 100644
|
||||
};
|
||||
|
||||
reg_cldo1: cldo1 {
|
||||
@@ -250,19 +233,34 @@ reg_cldo1: cldo1 {
|
||||
@@ -247,19 +226,34 @@ reg_cldo1: cldo1 {
|
||||
regulator-name = "vcc33-io-pd-emmc-sd-usb-uart-2";
|
||||
};
|
||||
|
||||
@ -131,6 +121,17 @@ index c45d7b7fb39a..af92d92d85a3 100644
|
||||
regulator-name = "vdd-cpu";
|
||||
};
|
||||
|
||||
@@ -296,6 +290,10 @@ &r_ir {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&r_pio {
|
||||
+ vcc-pm-supply = <®_bldo3>;
|
||||
+};
|
||||
+
|
||||
&rtc {
|
||||
clocks = <&ext_osc32k>;
|
||||
};
|
||||
--
|
||||
2.33.0
|
||||
2.48.1
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user