Skip to contentSkip to conversation

ARM: dts: rockchip: Bump sd card pin drive strength up on firefly boards

PATCH New Wadim Egorov 2 participants 2 messages Jan 21, 2016 – Jan 22, 2016

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ARM: dts: rockchip: Bump sd card pin drive strength up on firefly boards

It seems some firefly boards need 12mA drive strength for sdmmc. Using 4mA/8mA drive strength will cause the kernel to fail to recognize the sd card correctly.
Increased the sdmmc lines drive strength from 4mA to 12mA.

---
 arch/arm/boot/dts/rk3288-firefly.dtsi | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
arch/arm/boot/dts/rk3288-firefly.dtsi +24 -0
index 4e3fd9a..49ec20d 100644
@@ -408,6 +408,11 @@
 		output-low;
 	};
 
+	pcfg_pull_up_drv_12ma: pcfg-pull-up-drv-12ma {
+		bias-pull-up;
+		drive-strength = <12>;
+	};
+
 	act8846 {
 		pwr_hold: pwr-hold {
 			rockchip,pins = <0 1 RK_FUNC_GPIO &pcfg_output_high>;
@@ -457,6 +462,25 @@
 	};
 
 	sdmmc {
+		/*
+		 * Default drive strength isn't enough to achieve even
+		 * high-speed mode on firefly board so bump up to 12ma.
+		 */
+		sdmmc_bus4: sdmmc-bus4 {
+			rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_up_drv_12ma>,
+					<6 17 RK_FUNC_1 &pcfg_pull_up_drv_12ma>,
+					<6 18 RK_FUNC_1 &pcfg_pull_up_drv_12ma>,
+					<6 19 RK_FUNC_1 &pcfg_pull_up_drv_12ma>;
+		};
+
+		sdmmc_clk: sdmmc-clk {
+			rockchip,pins = <6 20 RK_FUNC_1 &pcfg_pull_none_12ma>;
+		};
+
+		sdmmc_cmd: sdmmc-cmd {
+			rockchip,pins = <6 21 RK_FUNC_1 &pcfg_pull_up_drv_12ma>;
+		};
+
 		sdmmc_pwr: sdmmc-pwr {
 			rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>;
 		};
Signature · 1 line
1.9.1
maintainer Applied
#1 lore raw

PATCH 1/1 ARM: dts: rockchip: Bump sd card pin drive strength up on firefly boards

Am Donnerstag, 21. Januar 2016, 13:57:13 schrieb Wadim Egorov:

Quoted 6 lines

It seems some firefly boards need 12mA drive strength for sdmmc. Using 4mA/8mA drive strength will cause the kernel to fail to recognize the sd card correctly.
Increased the sdmmc lines drive strength from 4mA to 12mA.

applied to my dts32 branch for 4.6.

As I said somewhere on IRC before, it might be worthwhile to bump the default drive-strength at some point, but so far it seems the minimal needed values seem to diverge (8mA on Veyron, 12ma [4mA on mine] on firefly and seemingly 4mA working fine on the Rock2). So I guess we'll postpone that a bit more until we have more datapoints ;-)

Heiko