Commit ec33745b authored by Marek Szyprowski's avatar Marek Szyprowski Committed by Krzysztof Kozlowski

ARM: dts: exynos: Fix pinctrl definition for eMMC RTSN line on Odroid X2/U3

Commit 225da7e6 ("ARM: dts: add eMMC reset line for
exynos4412-odroid-common") added MMC power sequence for eMMC card of
Odroid X2/U3. 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 d97a1e5d ("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. This in effect broke the reboot of Odroid X2/U3 boards. Fix this
by providing separate node with eMMC_RTSN pin configuration.

Cc: <stable@vger.kernel.org>
Reported-by: default avatarMarkus Reichl <m.reichl@fivetechno.de>
Suggested-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
Fixes: 225da7e6 ("ARM: dts: add eMMC reset line for exynos4412-odroid-common")
Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
parent 0b94260a
...@@ -49,7 +49,7 @@ codec { ...@@ -49,7 +49,7 @@ codec {
}; };
emmc_pwrseq: pwrseq { emmc_pwrseq: pwrseq {
pinctrl-0 = <&sd1_cd>; pinctrl-0 = <&emmc_rstn>;
pinctrl-names = "default"; pinctrl-names = "default";
compatible = "mmc-pwrseq-emmc"; compatible = "mmc-pwrseq-emmc";
reset-gpios = <&gpk1 2 GPIO_ACTIVE_LOW>; reset-gpios = <&gpk1 2 GPIO_ACTIVE_LOW>;
...@@ -165,12 +165,6 @@ &cpu0 { ...@@ -165,12 +165,6 @@ &cpu0 {
cpu0-supply = <&buck2_reg>; 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 { &pinctrl_1 {
gpio_power_key: power_key { gpio_power_key: power_key {
samsung,pins = "gpx1-3"; samsung,pins = "gpx1-3";
...@@ -188,6 +182,11 @@ hdmi_hpd: hdmi-hpd { ...@@ -188,6 +182,11 @@ hdmi_hpd: hdmi-hpd {
samsung,pins = "gpx3-7"; samsung,pins = "gpx3-7";
samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
}; };
emmc_rstn: emmc-rstn {
samsung,pins = "gpk1-2";
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
};
}; };
&ehci { &ehci {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment