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

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
Loading
Loading
Loading
Loading
+19 −19
Original line number Diff line number Diff line
@@ -150,12 +150,28 @@ &pio {
	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";

	axp805: pmic@36 {
	axp805: pmic@745 {
		compatible = "x-powers,axp805", "x-powers,axp806";
		reg = <0x36>;
		reg = <0x745>;
		interrupt-parent = <&r_intc>;
		interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
		interrupt-controller;
@@ -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 {
	clocks = <&ext_osc32k>;
};
+7 −7
Original line number Diff line number Diff line
@@ -175,12 +175,16 @@ &pio {
	vcc-pg-supply = <&reg_vcc_wifi_io>;
};

&r_i2c {
&r_ir {
	status = "okay";
};

&r_rsb {
	status = "okay";

	axp805: pmic@36 {
	axp805: pmic@745 {
		compatible = "x-powers,axp805", "x-powers,axp806";
		reg = <0x36>;
		reg = <0x745>;
		interrupt-parent = <&r_intc>;
		interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
		interrupt-controller;
@@ -291,10 +295,6 @@ sw {
	};
};

&r_ir {
	status = "okay";
};

&rtc {
	clocks = <&ext_osc32k>;
};
+11 −11
Original line number Diff line number Diff line
@@ -112,12 +112,20 @@ &pio {
	vcc-pg-supply = <&reg_aldo1>;
};

&r_i2c {
&r_ir {
	status = "okay";
};

&r_pio {
	vcc-pm-supply = <&reg_bldo3>;
};

&r_rsb {
	status = "okay";

	axp805: pmic@36 {
	axp805: pmic@745 {
		compatible = "x-powers,axp805", "x-powers,axp806";
		reg = <0x36>;
		reg = <0x745>;
		interrupt-parent = <&r_intc>;
		interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
		interrupt-controller;
@@ -232,14 +240,6 @@ sw {
	};
};

&r_ir {
	status = "okay";
};

&r_pio {
	vcc-pm-supply = <&reg_bldo3>;
};

&rtc {
	clocks = <&ext_osc32k>;
};