[PATCH] arm64: dts: rockchip: rk3399-nanopi4: Fix voltage regulator config

Christian Kohlschütter posted 1 patch 3 years, 9 months ago
There is a newer version of this series
arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi | 1 -
1 file changed, 1 deletion(-)
[PATCH] arm64: dts: rockchip: rk3399-nanopi4: Fix voltage regulator config
Posted by Christian Kohlschütter 3 years, 9 months ago
A series of issues exist around the "vcc3v0_sd" voltage regulator that
made it necessary to mark it "always-on".

With the patch "regulator: core: Resolve supply name earlier to prevent
double-init", this option is no longer necessary.

Removing this option not only prevents a hang when rebooting Nanopi R4S,
it also ensures that bootloaders like u-boot can boot from an SD card
right away, without out-of-tree patches that re-initialize voltage levels.

Signed-off-by: Christian Kohlschütter <christian@kohlschutter.com>
---
 arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
index 8c0ff6c96e03..55b93eac2f99 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
@@ -70,7 +70,6 @@ vcc3v0_sd: vcc3v0-sd {
 		gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&sdmmc0_pwr_h>;
-		regulator-always-on;
 		regulator-min-microvolt = <3000000>;
 		regulator-max-microvolt = <3000000>;
 		regulator-name = "vcc3v0_sd";
-- 
2.36.1
Re: [PATCH] arm64: dts: rockchip: rk3399-nanopi4: Fix voltage regulator config
Posted by Christian Kohlschütter 3 years, 9 months ago
This patch obviously requires "regulator: core: Resolve supply name earlier to prevent double-init" and obsoletes "[PATCH v5] arm64: dts: rockchip: Fix SD card init on rk3399-nanopi4".
The latter patch may still be useful for existing kernels where one can recompile the device tree separately.

> Am 17.07.2022 um 21:29 schrieb Christian Kohlschütter <christian@kohlschutter.com>:
> 
> A series of issues exist around the "vcc3v0_sd" voltage regulator that
> made it necessary to mark it "always-on".
> 
> With the patch "regulator: core: Resolve supply name earlier to prevent
> double-init", this option is no longer necessary.
> 
> Removing this option not only prevents a hang when rebooting Nanopi R4S,
> it also ensures that bootloaders like u-boot can boot from an SD card
> right away, without out-of-tree patches that re-initialize voltage levels.
> 
> Signed-off-by: Christian Kohlschütter <christian@kohlschutter.com>
> ---
> arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi | 1 -
> 1 file changed, 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
> index 8c0ff6c96e03..55b93eac2f99 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
> @@ -70,7 +70,6 @@ vcc3v0_sd: vcc3v0-sd {
> 		gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
> 		pinctrl-names = "default";
> 		pinctrl-0 = <&sdmmc0_pwr_h>;
> -		regulator-always-on;
> 		regulator-min-microvolt = <3000000>;
> 		regulator-max-microvolt = <3000000>;
> 		regulator-name = "vcc3v0_sd";
> -- 
> 2.36.1
> 
> 
[PATCH v2] arm64: dts: rockchip: rk3399-nanopi4: Fix voltage regulator config
Posted by Christian Kohlschütter 3 years, 9 months ago
A series of issues exist around the "vcc3v0_sd" voltage regulator that
made it necessary to mark it "always-on".

With the patch "regulator: core: Resolve supply name earlier to prevent
double-init", this option is no longer necessary.

Signed-off-by: Christian Kohlschütter <christian@kohlschutter.com>
---
arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi | 1 -
1 file changed, 1 deletion(-)

diff --git a/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
index 8c0ff6c96e03..55b93eac2f99 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
@@ -70,7 +70,6 @@ vcc3v0_sd: vcc3v0-sd {
		gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&sdmmc0_pwr_h>;
-		regulator-always-on;
		regulator-min-microvolt = <3000000>;
		regulator-max-microvolt = <3000000>;
		regulator-name = "vcc3v0_sd";
-- 
2.36.1
Re: [PATCH v2] arm64: dts: rockchip: rk3399-nanopi4: Fix voltage regulator config
Posted by Christian Kohlschütter 3 years, 9 months ago
Am 18.07.2022 um 14:02 schrieb Christian Kohlschütter <christian@kohlschutter.com>:
> 
> A series of issues exist around the "vcc3v0_sd" voltage regulator that
> made it necessary to mark it "always-on".
> 
> With the patch "regulator: core: Resolve supply name earlier to prevent
> double-init", this option is no longer necessary.
> ...

Walking back on my claim in the commit message that no further patches are needed for the u-boot integration to work.
Other than that, the actual patch is unchanged.
Re: [PATCH v2] arm64: dts: rockchip: rk3399-nanopi4: Fix voltage regulator config
Posted by Christian Kohlschütter 3 years, 9 months ago
Am 18.07.2022 um 14:02 schrieb Christian Kohlschütter <christian@kohlschutter.com>:
>> 
>> A series of issues exist around the "vcc3v0_sd" voltage regulator that
>> made it necessary to mark it "always-on".
>> 
>> With the patch "regulator: core: Resolve supply name earlier to prevent
>> double-init", this option is no longer necessary.
>> ...
> 
> Walking back on my claim in the commit message that no further patches are needed for the u-boot integration to work.
> Other than that, the actual patch is unchanged.

This change (removing regulator-always-on) doesn't work reliably; please disregard for now.