diff mbox series

dts64: mt7622: fix slow sd card access

Message ID 20210109190937.42409-1-linux@fw-web.de
State New
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";
 	};