Message ID | 1474516939-22001-3-git-send-email-shawn.lin@rock-chips.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Heiko, Ping... :) 在 2016/9/22 12:02, Shawn Lin 写道: > Please don't add these for vcc_sd, and mmc-core/driver will control > it. Otherwise, it will waste energy even without sdmmc in slot. > > Moreover, it will causes a bug: > If we insert/remove sd card, we could see > [9.337271] mmc0: new ultra high speed SDR25 SDHC card at address 0007 > [9.345144] mmcblk0: mmc0:0007 SD32G 29.3 GiB > > This is okay for normal sd insert/remove test, but when I debug some > issues for sdmmc, I did unbind/bind test. And there is a interesting > phenomenon when we bind the driver again: > [58.314069] mmc0: new high speed SDHC card at address 0007 > [58.320282] mmcblk0: mmc0:0007 SD32G 29.3 GiB > > So the sd card could just support high speed without power cycle > since the vcc_sd is always on, which makes the sd card fail to > reinit its internal ocr mask. > > Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> > --- > > arch/arm64/boot/dts/rockchip/rk3368-geekbox.dts | 2 -- > arch/arm64/boot/dts/rockchip/rk3368-orion-r68-meta.dts | 2 -- > arch/arm64/boot/dts/rockchip/rk3368-px5-evb.dts | 2 -- > 3 files changed, 6 deletions(-) > > diff --git a/arch/arm64/boot/dts/rockchip/rk3368-geekbox.dts b/arch/arm64/boot/dts/rockchip/rk3368-geekbox.dts > index 46cdddf..353314c 100644 > --- a/arch/arm64/boot/dts/rockchip/rk3368-geekbox.dts > +++ b/arch/arm64/boot/dts/rockchip/rk3368-geekbox.dts > @@ -258,8 +258,6 @@ > }; > > vcc_sd: SWITCH_REG1 { > - regulator-always-on; > - regulator-boot-on; > regulator-name = "vcc_sd"; > }; > > diff --git a/arch/arm64/boot/dts/rockchip/rk3368-orion-r68-meta.dts b/arch/arm64/boot/dts/rockchip/rk3368-orion-r68-meta.dts > index 5797933..13b7f1ed 100644 > --- a/arch/arm64/boot/dts/rockchip/rk3368-orion-r68-meta.dts > +++ b/arch/arm64/boot/dts/rockchip/rk3368-orion-r68-meta.dts > @@ -152,8 +152,6 @@ > gpio = <&gpio3 11 GPIO_ACTIVE_LOW>; > regulator-min-microvolt = <1800000>; > regulator-max-microvolt = <3300000>; > - regulator-always-on; > - regulator-boot-on; > vin-supply = <&vcc_io>; > }; > > diff --git a/arch/arm64/boot/dts/rockchip/rk3368-px5-evb.dts b/arch/arm64/boot/dts/rockchip/rk3368-px5-evb.dts > index f59049b..8c47b01 100644 > --- a/arch/arm64/boot/dts/rockchip/rk3368-px5-evb.dts > +++ b/arch/arm64/boot/dts/rockchip/rk3368-px5-evb.dts > @@ -236,8 +236,6 @@ > }; > > vcc_sd: SWITCH_REG1 { > - regulator-always-on; > - regulator-boot-on; > regulator-name = "vcc_sd"; > }; > >
Hi Shawn, Am Donnerstag, 22. September 2016, 12:02:19 CEST schrieb Shawn Lin: > Please don't add these for vcc_sd, and mmc-core/driver will control > it. Otherwise, it will waste energy even without sdmmc in slot. > > Moreover, it will causes a bug: > If we insert/remove sd card, we could see > [9.337271] mmc0: new ultra high speed SDR25 SDHC card at address 0007 > [9.345144] mmcblk0: mmc0:0007 SD32G 29.3 GiB > > This is okay for normal sd insert/remove test, but when I debug some > issues for sdmmc, I did unbind/bind test. And there is a interesting > phenomenon when we bind the driver again: > [58.314069] mmc0: new high speed SDHC card at address 0007 > [58.320282] mmcblk0: mmc0:0007 SD32G 29.3 GiB > > So the sd card could just support high speed without power cycle > since the vcc_sd is always on, which makes the sd card fail to > reinit its internal ocr mask. > > Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> > arch/arm64/boot/dts/rockchip/rk3368-geekbox.dts | 2 -- > arch/arm64/boot/dts/rockchip/rk3368-orion-r68-meta.dts | 2 -- I've applied the geekbox + r68 parts of the patch as fix for 4.9 ... > arch/arm64/boot/dts/rockchip/rk3368-px5-evb.dts | 2 -- and merged the px5-evb-part with the core patch adding the px5-evb, so that we don't introduce known regressions unecessarily. Thanks for fixing this Heiko
diff --git a/arch/arm64/boot/dts/rockchip/rk3368-geekbox.dts b/arch/arm64/boot/dts/rockchip/rk3368-geekbox.dts index 46cdddf..353314c 100644 --- a/arch/arm64/boot/dts/rockchip/rk3368-geekbox.dts +++ b/arch/arm64/boot/dts/rockchip/rk3368-geekbox.dts @@ -258,8 +258,6 @@ }; vcc_sd: SWITCH_REG1 { - regulator-always-on; - regulator-boot-on; regulator-name = "vcc_sd"; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3368-orion-r68-meta.dts b/arch/arm64/boot/dts/rockchip/rk3368-orion-r68-meta.dts index 5797933..13b7f1ed 100644 --- a/arch/arm64/boot/dts/rockchip/rk3368-orion-r68-meta.dts +++ b/arch/arm64/boot/dts/rockchip/rk3368-orion-r68-meta.dts @@ -152,8 +152,6 @@ gpio = <&gpio3 11 GPIO_ACTIVE_LOW>; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; - regulator-always-on; - regulator-boot-on; vin-supply = <&vcc_io>; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3368-px5-evb.dts b/arch/arm64/boot/dts/rockchip/rk3368-px5-evb.dts index f59049b..8c47b01 100644 --- a/arch/arm64/boot/dts/rockchip/rk3368-px5-evb.dts +++ b/arch/arm64/boot/dts/rockchip/rk3368-px5-evb.dts @@ -236,8 +236,6 @@ }; vcc_sd: SWITCH_REG1 { - regulator-always-on; - regulator-boot-on; regulator-name = "vcc_sd"; };
Please don't add these for vcc_sd, and mmc-core/driver will control it. Otherwise, it will waste energy even without sdmmc in slot. Moreover, it will causes a bug: If we insert/remove sd card, we could see [9.337271] mmc0: new ultra high speed SDR25 SDHC card at address 0007 [9.345144] mmcblk0: mmc0:0007 SD32G 29.3 GiB This is okay for normal sd insert/remove test, but when I debug some issues for sdmmc, I did unbind/bind test. And there is a interesting phenomenon when we bind the driver again: [58.314069] mmc0: new high speed SDHC card at address 0007 [58.320282] mmcblk0: mmc0:0007 SD32G 29.3 GiB So the sd card could just support high speed without power cycle since the vcc_sd is always on, which makes the sd card fail to reinit its internal ocr mask. Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> --- arch/arm64/boot/dts/rockchip/rk3368-geekbox.dts | 2 -- arch/arm64/boot/dts/rockchip/rk3368-orion-r68-meta.dts | 2 -- arch/arm64/boot/dts/rockchip/rk3368-px5-evb.dts | 2 -- 3 files changed, 6 deletions(-)