ARM: dts: exynos: Fix pinctrl definition for EMMC RTSN line on OdroidX2/U3

Message ID 20190124122257.20569-1-m.szyprowski@samsung.com
State New
Headers show
Series
  • ARM: dts: exynos: Fix pinctrl definition for EMMC RTSN line on OdroidX2/U3
Related show

Commit Message

Marek Szyprowski Jan. 24, 2019, 12:22 p.m.
Commit 225da7e65a03 ("ARM: dts: add eMMC reset line for
exynos4412-odroid-common") added MMC power sequence for eMMC card. It
reused generic sd1_cd pin control configuration node and only disabled
pull-up. However that time the pinctrl configuration was not applied
during MMC power sequence driver initialization. This has been changed
later by commit d97a1e5d7cd2 ("mmc: pwrseq: convert to proper platform
device").

It turned out then, that the provided pinctrl configuration is not
correct, because the EMMC_RTSN line is being re-configured as 'special
function/card detect function for mmc1 controller' not the simple
'output', thus the power sequence driver doesn't really set the pin
value. Fix this by providing separate node with EMMC_RTSN pin
configuration.

Reported-by: Markus Reichl <m.reichl@fivetechno.de>
Suggested-by: Ulf Hansson <ulf.hansson@linaro.org>
Fixes: 225da7e65a03 ("ARM: dts: add eMMC reset line for exynos4412-odroid-common")
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>

---
 arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

-- 
2.17.1

Comments

Krzysztof Kozlowski Jan. 25, 2019, 7:19 p.m. | #1
On Thu, Jan 24, 2019 at 01:22:57PM +0100, Marek Szyprowski wrote:
> Commit 225da7e65a03 ("ARM: dts: add eMMC reset line for

> exynos4412-odroid-common") added MMC power sequence for eMMC card. It

> reused generic sd1_cd pin control configuration node and only disabled

> pull-up. However that time the pinctrl configuration was not applied

> during MMC power sequence driver initialization. This has been changed

> later by commit d97a1e5d7cd2 ("mmc: pwrseq: convert to proper platform

> device").

> 

> It turned out then, that the provided pinctrl configuration is not

> correct, because the EMMC_RTSN line is being re-configured as 'special

> function/card detect function for mmc1 controller' not the simple

> 'output', thus the power sequence driver doesn't really set the pin

> value. Fix this by providing separate node with EMMC_RTSN pin

> configuration.

> 

> Reported-by: Markus Reichl <m.reichl@fivetechno.de>

> Suggested-by: Ulf Hansson <ulf.hansson@linaro.org>

> Fixes: 225da7e65a03 ("ARM: dts: add eMMC reset line for exynos4412-odroid-common")

> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>

> ---

>  arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 13 ++++++-------


Thanks, applied with cc-stable.

Best regards,
Krzysztof

Patch

diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
index 3a9eb1e91c45..8a64c4e8c474 100644
--- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
+++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
@@ -49,7 +49,7 @@ 
 	};
 
 	emmc_pwrseq: pwrseq {
-		pinctrl-0 = <&sd1_cd>;
+		pinctrl-0 = <&emmc_rstn>;
 		pinctrl-names = "default";
 		compatible = "mmc-pwrseq-emmc";
 		reset-gpios = <&gpk1 2 GPIO_ACTIVE_LOW>;
@@ -165,12 +165,6 @@ 
 	cpu0-supply = <&buck2_reg>;
 };
 
-/* RSTN signal for eMMC */
-&sd1_cd {
-	samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
-	samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
-};
-
 &pinctrl_1 {
 	gpio_power_key: power_key {
 		samsung,pins = "gpx1-3";
@@ -188,6 +182,11 @@ 
 		samsung,pins = "gpx3-7";
 		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
 	};
+
+	emmc_rstn: emmc-rstn {
+		samsung,pins = "gpk1-2";
+		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+	};
 };
 
 &ehci {