Skip to contentSkip to conversation

dts64: mt7622: fix slow sd card access

PATCH Superseded Frank Wunderlich 3 participants 4 messages Jan 9, 2021 – Jan 13, 2021 1 message not in the archive

Subsystems (2)

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 dts64: mt7622: fix slow sd card access

From: Frank Wunderlich <[email protected]>

- 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")
---
 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(-)
arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts +2 -1
index 2f77dc40b9b8..916ca89ab8eb 100644
@@ -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>;
 };
arch/arm64/boot/dts/mediatek/mt7622.dtsi +2 -0
index 5b9ec032ce8d..7c6d871538a6 100644
@@ -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";
 	};
 
Signature · 7 lines
2.25.1


_______________________________________________
Linux-mediatek mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-mediatek
#1 lore raw

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

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

_______________________________________________
Linux-mediatek mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-mediatek

A message that is not in the archive (sent off-list or not yet received): [email protected]

#3 lore raw
Quoted 36 lines · Frank Wunderlich

From: Linux-mediatek [mailto:[email protected]] On Behalf Of Frank Wunderlich
Sent: Sunday, January 10, 2021 3:10 AM
To: [email protected]
Cc: [email protected]; Ryder Lee <[email protected]>; Wenbin Mei <[email protected]>; Wenjie Hu <[email protected]>; Frank Wunderlich <[email protected]>; Sean Wang <[email protected]>; [email protected]; Rob Herring <[email protected]>; [email protected]; Matthias Brugger <[email protected]>; Jimin Wang (汪济民) <[email protected]>
Subject: [PATCH] dts64: mt7622: fix slow sd card access

From: Frank Wunderlich <[email protected]>

- 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")
---
 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(-)
arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts +2 -1
index 2f77dc40b9b8..916ca89ab8eb 100644
@@ -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
Quoted 1 line

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