Commit 531fdbee authored by Samuel Holland's avatar Samuel Holland Committed by Maxime Ripard

arm64: dts: allwinner: h6: Use RSB for AXP805 PMIC connection

On boards where the only peripheral connected to PL0/PL1 is an X-Powers
PMIC, configure the connection to use the RSB bus rather than the I2C
bus. Compared to the I2C controller that shares the pins, the RSB
controller allows a higher bus frequency, and it is more CPU-efficient.
Signed-off-by: default avatarSamuel Holland <samuel@sholland.org>
Acked-by: default avatarMaxime Ripard <mripard@kernel.org>
Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/20210103100007.32867-5-samuel@sholland.org
parent a4bb294c
...@@ -150,12 +150,28 @@ &pio { ...@@ -150,12 +150,28 @@ &pio {
vcc-pg-supply = <&reg_aldo1>; vcc-pg-supply = <&reg_aldo1>;
}; };
&r_i2c { &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 {
status = "okay"; status = "okay";
axp805: pmic@36 { axp805: pmic@745 {
compatible = "x-powers,axp805", "x-powers,axp806"; compatible = "x-powers,axp805", "x-powers,axp806";
reg = <0x36>; reg = <0x745>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
interrupt-controller; interrupt-controller;
...@@ -273,22 +289,6 @@ sw { ...@@ -273,22 +289,6 @@ 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 = <&reg_aldo1>;
*/
vcc-pm-supply = <&reg_aldo1>;
};
&rtc { &rtc {
clocks = <&ext_osc32k>; clocks = <&ext_osc32k>;
}; };
......
...@@ -175,12 +175,16 @@ &pio { ...@@ -175,12 +175,16 @@ &pio {
vcc-pg-supply = <&reg_vcc_wifi_io>; vcc-pg-supply = <&reg_vcc_wifi_io>;
}; };
&r_i2c { &r_ir {
status = "okay";
};
&r_rsb {
status = "okay"; status = "okay";
axp805: pmic@36 { axp805: pmic@745 {
compatible = "x-powers,axp805", "x-powers,axp806"; compatible = "x-powers,axp805", "x-powers,axp806";
reg = <0x36>; reg = <0x745>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
interrupt-controller; interrupt-controller;
...@@ -291,10 +295,6 @@ sw { ...@@ -291,10 +295,6 @@ sw {
}; };
}; };
&r_ir {
status = "okay";
};
&rtc { &rtc {
clocks = <&ext_osc32k>; clocks = <&ext_osc32k>;
}; };
......
...@@ -112,12 +112,20 @@ &pio { ...@@ -112,12 +112,20 @@ &pio {
vcc-pg-supply = <&reg_aldo1>; vcc-pg-supply = <&reg_aldo1>;
}; };
&r_i2c { &r_ir {
status = "okay";
};
&r_pio {
vcc-pm-supply = <&reg_bldo3>;
};
&r_rsb {
status = "okay"; status = "okay";
axp805: pmic@36 { axp805: pmic@745 {
compatible = "x-powers,axp805", "x-powers,axp806"; compatible = "x-powers,axp805", "x-powers,axp806";
reg = <0x36>; reg = <0x745>;
interrupt-parent = <&r_intc>; interrupt-parent = <&r_intc>;
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>; interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
interrupt-controller; interrupt-controller;
...@@ -232,14 +240,6 @@ sw { ...@@ -232,14 +240,6 @@ sw {
}; };
}; };
&r_ir {
status = "okay";
};
&r_pio {
vcc-pm-supply = <&reg_bldo3>;
};
&rtc { &rtc {
clocks = <&ext_osc32k>; clocks = <&ext_osc32k>;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment