2022-09-16 04:53:00

by Samuel Holland

[permalink] [raw]
Subject: [PATCH v3 1/2] ARM: dts: axp803/axp81x: Drop GPIO LDO pinctrl nodes

The "ldo-io0" and "ldo-io1" regulators are enabled/disabled by toggling
the pinmux between two functions. This happens in the regulator driver.
Setting the pinmux to "ldo" in the DT is inappropriate because it would
enable the regulator before the driver has a chance to set the correct
initial voltage.

Signed-off-by: Samuel Holland <[email protected]>
---

Changes in v3:
- Added patch to remove existing "ldo" pinctrl nodes

arch/arm/boot/dts/axp81x.dtsi | 14 --------------
arch/arm64/boot/dts/allwinner/axp803.dtsi | 10 ----------
2 files changed, 24 deletions(-)

diff --git a/arch/arm/boot/dts/axp81x.dtsi b/arch/arm/boot/dts/axp81x.dtsi
index b93387b0c1c3..ebaf1c3ce8db 100644
--- a/arch/arm/boot/dts/axp81x.dtsi
+++ b/arch/arm/boot/dts/axp81x.dtsi
@@ -62,16 +62,6 @@ axp_gpio: gpio {
compatible = "x-powers,axp813-gpio";
gpio-controller;
#gpio-cells = <2>;
-
- gpio0_ldo: gpio0-ldo-pin {
- pins = "GPIO0";
- function = "ldo";
- };
-
- gpio1_ldo: gpio1-ldo-pin {
- pins = "GPIO1";
- function = "ldo";
- };
};

battery_power_supply: battery-power {
@@ -144,15 +134,11 @@ reg_fldo3: fldo3 {
};

reg_ldo_io0: ldo-io0 {
- pinctrl-names = "default";
- pinctrl-0 = <&gpio0_ldo>;
/* Disable by default to avoid conflicts with GPIO */
status = "disabled";
};

reg_ldo_io1: ldo-io1 {
- pinctrl-names = "default";
- pinctrl-0 = <&gpio1_ldo>;
/* Disable by default to avoid conflicts with GPIO */
status = "disabled";
};
diff --git a/arch/arm64/boot/dts/allwinner/axp803.dtsi b/arch/arm64/boot/dts/allwinner/axp803.dtsi
index 578ef368e2b4..a6b4b87f185d 100644
--- a/arch/arm64/boot/dts/allwinner/axp803.dtsi
+++ b/arch/arm64/boot/dts/allwinner/axp803.dtsi
@@ -25,16 +25,6 @@ axp_gpio: gpio {
compatible = "x-powers,axp803-gpio", "x-powers,axp813-gpio";
gpio-controller;
#gpio-cells = <2>;
-
- gpio0_ldo: gpio0-ldo-pin {
- pins = "GPIO0";
- function = "ldo";
- };
-
- gpio1_ldo: gpio1-ldo-pin {
- pins = "GPIO1";
- function = "ldo";
- };
};

battery_power_supply: battery-power {
--
2.35.1


2022-10-12 22:31:16

by Jernej Škrabec

[permalink] [raw]
Subject: Re: [PATCH v3 1/2] ARM: dts: axp803/axp81x: Drop GPIO LDO pinctrl nodes

Hi Samuel,

Dne petek, 16. september 2022 ob 06:27:50 CEST je Samuel Holland napisal(a):
> The "ldo-io0" and "ldo-io1" regulators are enabled/disabled by toggling
> the pinmux between two functions. This happens in the regulator driver.
> Setting the pinmux to "ldo" in the DT is inappropriate because it would
> enable the regulator before the driver has a chance to set the correct
> initial voltage.
>
> Signed-off-by: Samuel Holland <[email protected]>

Reviewed-by: Jernej Skrabec <[email protected]>

Best regards,
Jernej
> ---
>
> Changes in v3:
> - Added patch to remove existing "ldo" pinctrl nodes
>
> arch/arm/boot/dts/axp81x.dtsi | 14 --------------
> arch/arm64/boot/dts/allwinner/axp803.dtsi | 10 ----------
> 2 files changed, 24 deletions(-)
>
> diff --git a/arch/arm/boot/dts/axp81x.dtsi b/arch/arm/boot/dts/axp81x.dtsi
> index b93387b0c1c3..ebaf1c3ce8db 100644
> --- a/arch/arm/boot/dts/axp81x.dtsi
> +++ b/arch/arm/boot/dts/axp81x.dtsi
> @@ -62,16 +62,6 @@ axp_gpio: gpio {
> compatible = "x-powers,axp813-gpio";
> gpio-controller;
> #gpio-cells = <2>;
> -
> - gpio0_ldo: gpio0-ldo-pin {
> - pins = "GPIO0";
> - function = "ldo";
> - };
> -
> - gpio1_ldo: gpio1-ldo-pin {
> - pins = "GPIO1";
> - function = "ldo";
> - };
> };
>
> battery_power_supply: battery-power {
> @@ -144,15 +134,11 @@ reg_fldo3: fldo3 {
> };
>
> reg_ldo_io0: ldo-io0 {
> - pinctrl-names = "default";
> - pinctrl-0 = <&gpio0_ldo>;
> /* Disable by default to avoid conflicts with
GPIO */
> status = "disabled";
> };
>
> reg_ldo_io1: ldo-io1 {
> - pinctrl-names = "default";
> - pinctrl-0 = <&gpio1_ldo>;
> /* Disable by default to avoid conflicts with
GPIO */
> status = "disabled";
> };
> diff --git a/arch/arm64/boot/dts/allwinner/axp803.dtsi
> b/arch/arm64/boot/dts/allwinner/axp803.dtsi index
> 578ef368e2b4..a6b4b87f185d 100644
> --- a/arch/arm64/boot/dts/allwinner/axp803.dtsi
> +++ b/arch/arm64/boot/dts/allwinner/axp803.dtsi
> @@ -25,16 +25,6 @@ axp_gpio: gpio {
> compatible = "x-powers,axp803-gpio", "x-powers,axp813-
gpio";
> gpio-controller;
> #gpio-cells = <2>;
> -
> - gpio0_ldo: gpio0-ldo-pin {
> - pins = "GPIO0";
> - function = "ldo";
> - };
> -
> - gpio1_ldo: gpio1-ldo-pin {
> - pins = "GPIO1";
> - function = "ldo";
> - };
> };
>
> battery_power_supply: battery-power {
> --
> 2.35.1