[PATCH] arm64: dts: rockchip: Fix SD card init on rk3399-nanopi4

Heiko Stübner heiko at sntech.de
Wed Jul 13 16:41:15 PDT 2022


Hi Christian,

Am Donnerstag, 14. Juli 2022, 00:22:23 CEST schrieb Christian Kohlschütter:
> mmc/SD-card initialization may sometimes fail on NanoPi r4s with
> "mmc1: problem reading SD Status register" /
> "mmc1: error -110 whilst initialising SD card"
> 
> Moreover, rebooting would also sometimes hang.
> 

Nit: here the commit message should continue with something like:
-----
This is caused by the vcc3v0-sd regulator referencing the wrong gpio.

Fix the regulator to use the correct pin and drop the always-on property.
-----
> Signed-off-by: Christian Kohlschütter <christian at kohlschutter.com>
> ---
>  arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
> index 8c0ff6c96e03..91789801ab03 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi4.dtsi
> @@ -67,10 +67,10 @@ vcc1v8_s3: vcc1v8-s3 {
>  	vcc3v0_sd: vcc3v0-sd {
>  		compatible = "regulator-fixed";
>  		enable-active-high;
> -		gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
> +		gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_HIGH>;

The interesting question would be how nano-pi-specific that gpio is.

I.e. this is the rk3399-nanopi4.dtsi that is shared by multiple board types,
so can you check in schematics if gpio0-d6 is always used on all of them?

Thanks
Heiko

>  		pinctrl-names = "default";
>  		pinctrl-0 = <&sdmmc0_pwr_h>;
> -		regulator-always-on;
> +		regulator-boot-on;
>  		regulator-min-microvolt = <3000000>;
>  		regulator-max-microvolt = <3000000>;
>  		regulator-name = "vcc3v0_sd";
> @@ -580,7 +580,7 @@ wifi_reg_on_h: wifi-reg_on-h {
>  
>  	sdmmc {
>  		sdmmc0_det_l: sdmmc0-det-l {
> -			rockchip,pins = <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
> +			rockchip,pins = <0 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>;
>  		};
>  
>  		sdmmc0_pwr_h: sdmmc0-pwr-h {
> 







More information about the Linux-rockchip mailing list