2022-09-05 00:26:51

by Ondřej Jirman

[permalink] [raw]
Subject: [PATCH] arm64: dts: rockchip: Fix SD card controller probe on Pinephone Pro

Voltage constraints on vccio_sd are invalid. They don't match the voltages
that LDO9 can generate, and this causes rk808-regulator driver to fail
to probe with -EINVAL when it tries to apply the constraints during boot.

Fix the constraints to something that LDO9 can be actually configured for.

Fixes: 78a21c7d5952 ("arm64: dts: rockchip: Add initial support for Pine64 PinePhone Pro")
Signed-off-by: Ondrej Jirman <[email protected]>
---
arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
index f00c80361377a..2e058c3150256 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
@@ -253,8 +253,8 @@ regulator-state-mem {

vccio_sd: LDO_REG9 {
regulator-name = "vccio_sd";
- regulator-min-microvolt = <1710000>;
- regulator-max-microvolt = <3150000>;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3300000>;
};

vcc3v3_s0: SWITCH_REG {
--
2.37.3


2022-09-05 19:17:27

by Caleb Connolly

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: rockchip: Fix SD card controller probe on Pinephone Pro



On 05/09/2022 00:36, Ondrej Jirman wrote:
> Voltage constraints on vccio_sd are invalid. They don't match the voltages
> that LDO9 can generate, and this causes rk808-regulator driver to fail
> to probe with -EINVAL when it tries to apply the constraints during boot.
>
> Fix the constraints to something that LDO9 can be actually configured for.
>
> Fixes: 78a21c7d5952 ("arm64: dts: rockchip: Add initial support for Pine64 PinePhone Pro")
> Signed-off-by: Ondrej Jirman <[email protected]>

Reviewed-by: Caleb Connolly <[email protected]>
> ---
> arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
> index f00c80361377a..2e058c3150256 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
> @@ -253,8 +253,8 @@ regulator-state-mem {
>
> vccio_sd: LDO_REG9 {
> regulator-name = "vccio_sd";
> - regulator-min-microvolt = <1710000>;
> - regulator-max-microvolt = <3150000>;
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <3300000>;
> };
>
> vcc3v3_s0: SWITCH_REG {

2022-09-05 21:59:33

by Tom Fitzhenry

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: rockchip: Fix SD card controller probe on Pinephone Pro

On 5/9/22 09:36, Ondrej Jirman wrote:
> Voltage constraints on vccio_sd are invalid. They don't match the voltages
> that LDO9 can generate, and this causes rk808-regulator driver to fail
> to probe with -EINVAL when it tries to apply the constraints during boot.

On most boots, the SD card probe succeeds, and is able to be mounted.

On some boots, however, I observe this bug with error message:

vccio_sd: failed to apply 3150000-3150000uV constraint: -EINVAL

>
> Fix the constraints to something that LDO9 can be actually configured for.
>
> Fixes: 78a21c7d5952 ("arm64: dts: rockchip: Add initial support for Pine64 PinePhone Pro")
> Signed-off-by: Ondrej Jirman <[email protected]>

Reviewed-by: Tom Fitzhenry <[email protected]>
Tested-by: Tom Fitzhenry <[email protected]>

2022-09-05 22:50:24

by Heiko Stuebner

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: rockchip: Fix SD card controller probe on Pinephone Pro

On Mon, 5 Sep 2022 01:36:47 +0200, Ondrej Jirman wrote:
> Voltage constraints on vccio_sd are invalid. They don't match the voltages
> that LDO9 can generate, and this causes rk808-regulator driver to fail
> to probe with -EINVAL when it tries to apply the constraints during boot.
>
> Fix the constraints to something that LDO9 can be actually configured for.

Applied, thanks!

[1/1] arm64: dts: rockchip: Fix SD card controller probe on Pinephone Pro
commit: 024744964ef6c0a65e348afafd4e1feae08eba5e

Best regards,
--
Heiko Stuebner <[email protected]>

2022-09-06 00:55:54

by Nícolas F. R. A. Prado

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: rockchip: Fix SD card controller probe on Pinephone Pro

On Mon, Sep 05, 2022 at 01:36:47AM +0200, Ondrej Jirman wrote:
> Voltage constraints on vccio_sd are invalid. They don't match the voltages
> that LDO9 can generate, and this causes rk808-regulator driver to fail
> to probe with -EINVAL when it tries to apply the constraints during boot.
>
> Fix the constraints to something that LDO9 can be actually configured for.
>
> Fixes: 78a21c7d5952 ("arm64: dts: rockchip: Add initial support for Pine64 PinePhone Pro")
> Signed-off-by: Ondrej Jirman <[email protected]>
> ---
> arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
> index f00c80361377a..2e058c3150256 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
> @@ -253,8 +253,8 @@ regulator-state-mem {
>
> vccio_sd: LDO_REG9 {
> regulator-name = "vccio_sd";
> - regulator-min-microvolt = <1710000>;
> - regulator-max-microvolt = <3150000>;
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <3300000>;

Shouldn't the maximum be 3.1V? The SDMMC0_VDD pin on RK3399 that this regulator
is connected to expects a maximum voltage of 3.15V, so 3.3V would be too high.
The output voltage for LDO9 is configured in 100mV steps, so I imagine that's
why 3.15V fails, but 3.1V should work fine. I haven't tested yet though.

Thanks,
N?colas