Revert "arm64: dts: allwinner: h6: Use RSB for AXP805 PMIC connection"
authorJernej Skrabec <jernej.skrabec@gmail.com>
Sun, 13 Apr 2025 13:58:48 +0000 (15:58 +0200)
committerChen-Yu Tsai <wens@csie.org>
Sun, 27 Apr 2025 05:38:14 +0000 (13:38 +0800)
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")
Link: https://github.com/LibreELEC/LibreELEC.tv/issues/7731
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://patch.msgid.link/20250413135848.67283-1-jernej.skrabec@gmail.com
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi

index 13a0e63afeaf3df2ebfeaa8559a965425c324c5a..2c64d834a2c4f79890943f7e6e2193ddda45ff44 100644 (file)
        vcc-pg-supply = <&reg_aldo1>;
 };
 
-&r_ir {
-       linux,rc-map-name = "rc-beelink-gs1";
-       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 = <&reg_aldo1>;
-        */
-       vcc-pm-supply = <&reg_aldo1>;
-};
-
-&r_rsb {
+&r_i2c {
        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;
        };
 };
 
+&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 = <&reg_aldo1>;
+        */
+       vcc-pm-supply = <&reg_aldo1>;
+};
+
 &spdif {
        pinctrl-names = "default";
        pinctrl-0 = <&spdif_tx_pin>;
index ab87c3447cd7829fc3597c1d11117a5f2a8331f6..f005072c68a167913cb5e64859171ec1a3f3f0d3 100644 (file)
        vcc-pg-supply = <&reg_vcc_wifi_io>;
 };
 
-&r_ir {
-       status = "okay";
-};
-
-&r_rsb {
+&r_i2c {
        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;
        };
 };
 
+&r_ir {
+       status = "okay";
+};
+
 &rtc {
        clocks = <&ext_osc32k>;
 };
index d05dc5d6e6b9f78d08fcfb677ec8bdc8bc68b9ad..e34dbb9920216df584b8079a46357945fa31a80c 100644 (file)
        vcc-pg-supply = <&reg_aldo1>;
 };
 
-&r_ir {
-       status = "okay";
-};
-
-&r_pio {
-       vcc-pm-supply = <&reg_bldo3>;
-};
-
-&r_rsb {
+&r_i2c {
        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;
        };
 };
 
+&r_ir {
+       status = "okay";
+};
+
+&r_pio {
+       vcc-pm-supply = <&reg_bldo3>;
+};
+
 &rtc {
        clocks = <&ext_osc32k>;
 };