diff mbox series

dts64: mt7622: fix slow sd card access

Message ID 20210109190937.42409-1-linux@fw-web.de (mailing list archive)
State New, archived
Headers show
Series dts64: mt7622: fix slow sd card access | expand

Commit Message

Frank Wunderlich Jan. 9, 2021, 7:09 p.m. UTC
From: Frank Wunderlich <frank-w@public-files.de>

- change sdcard (mmc1) to uhs by change vqmmc-supply to 1V8 because driver
  maps pinctrl depending on this
- add reset-control for mmc1 like it's done for mmc0/emmc

Fixes: 2c002a3049f7 ("arm64: dts: mt7622: add mmc related device nodes")
Fixes: 0b6286dd96c0 ("arm64: dts: mt7622: add bananapi BPI-R64 board")
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
---
 arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts | 3 ++-
 arch/arm64/boot/dts/mediatek/mt7622.dtsi                 | 2 ++
 2 files changed, 4 insertions(+), 1 deletion(-)

Comments

Frank Wunderlich Jan. 10, 2021, 8:35 a.m. UTC | #1
I guess issue is caused by incompatible setting in uboot,but have not found which exactly so i handled it like emmc.

If patch is ready to be applied please add 

Cc: stable@vger.kernel.org

because all kernel versions are affected (tested at least in 5.4 and 5.9). If i need to create a v2,i will add it

@sean/ryder/wenbin can you tell me if sd on mt7622/bpi-r64 is maybe capable of hs400?
regards Frank
SkyLake Huang (黃啟澤) Jan. 11, 2021, 8:11 a.m. UTC | #2
On Sun, 2021-01-10 at 03:10 +0800, Frank Wunderlich wrote:
> From: Linux-mediatek [mailto:linux-mediatek-bounces@lists.infradead.org] On Behalf Of Frank Wunderlich
> Sent: Sunday, January 10, 2021 3:10 AM
> To: linux-mediatek@lists.infradead.org
> Cc: devicetree@vger.kernel.org; Ryder Lee <Ryder.Lee@mediatek.com>; Wenbin Mei <Wenbin.Mei@mediatek.com>; Wenjie Hu <ot_wenjie.hu@mediatek.com>; Frank Wunderlich <frank-w@public-files.de>; Sean Wang <Sean.Wang@mediatek.com>; linux-kernel@vger.kernel.org; Rob Herring <robh+dt@kernel.org>; linux-arm-kernel@lists.infradead.org; Matthias Brugger <matthias.bgg@gmail.com>; Jimin Wang (汪济民) <Jimin.Wang@mediatek.com>
> Subject: [PATCH] dts64: mt7622: fix slow sd card access
> 
> From: Frank Wunderlich <frank-w@public-files.de>
> 
> - change sdcard (mmc1) to uhs by change vqmmc-supply to 1V8 because driver
>   maps pinctrl depending on this
> - add reset-control for mmc1 like it's done for mmc0/emmc
> 
> Fixes: 2c002a3049f7 ("arm64: dts: mt7622: add mmc related device nodes")
> Fixes: 0b6286dd96c0 ("arm64: dts: mt7622: add bananapi BPI-R64 board")
> Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
> ---
>  arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts | 3 ++-
>  arch/arm64/boot/dts/mediatek/mt7622.dtsi                 | 2 ++
>  2 files changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
> index 2f77dc40b9b8..916ca89ab8eb 100644
> --- a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
> +++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
> @@ -232,10 +232,11 @@ &mmc1 {
>  bus-width = <4>;
>  max-frequency = <50000000>;
>  cap-sd-highspeed;
> +mmc-hs200-1_8v;
>  r_smpl = <1>;
>  cd-gpios = <&pio 81 GPIO_ACTIVE_LOW>;
>  vmmc-supply = <&reg_3p3v>;
> -vqmmc-supply = <&reg_3p3v>;
> +vqmmc-supply = <&reg_1p8v>;
>  assigned-clocks = <&topckgen CLK_TOP_MSDC30_1_SEL>;
>  assigned-clock-parents = <&topckgen CLK_TOP_UNIV48M>;  }; diff --git a/arch/arm64/boot/dts/mediatek/mt7622.dtsi b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
> index 5b9ec032ce8d..7c6d871538a6 100644

mt7622's SD/MMC host controller doesn't support UHS-1 mode for SD card.
To meet compatibility of mtk-sd.c driver, which is also used on other
platforms besides mt7622, we add pinctrl-1 set in mt7622 & banana pi's
dts. But actually we don't use UHS-1 pin settings on mt7622. So there's
no need to set vqmmc-supply to 1.8V
Frank Wunderlich Jan. 13, 2021, 5:43 p.m. UTC | #3
Hi

Thanks for clarification. I will send out a v2
with only the reset. Seems this is enough.

Next time please send answer also to me
(not only mailinglist).
regards Frank
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
index 2f77dc40b9b8..916ca89ab8eb 100644
--- a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
+++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
@@ -232,10 +232,11 @@  &mmc1 {
 	bus-width = <4>;
 	max-frequency = <50000000>;
 	cap-sd-highspeed;
+	mmc-hs200-1_8v;
 	r_smpl = <1>;
 	cd-gpios = <&pio 81 GPIO_ACTIVE_LOW>;
 	vmmc-supply = <&reg_3p3v>;
-	vqmmc-supply = <&reg_3p3v>;
+	vqmmc-supply = <&reg_1p8v>;
 	assigned-clocks = <&topckgen CLK_TOP_MSDC30_1_SEL>;
 	assigned-clock-parents = <&topckgen CLK_TOP_UNIV48M>;
 };
diff --git a/arch/arm64/boot/dts/mediatek/mt7622.dtsi b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
index 5b9ec032ce8d..7c6d871538a6 100644
--- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
@@ -698,6 +698,8 @@  mmc1: mmc@11240000 {
 		clocks = <&pericfg CLK_PERI_MSDC30_1_PD>,
 			 <&topckgen CLK_TOP_AXI_SEL>;
 		clock-names = "source", "hclk";
+		resets = <&pericfg MT7622_PERI_MSDC1_SW_RST>;
+		reset-names = "hrst";
 		status = "disabled";
 	};