]>
Commit | Line | Data |
---|---|---|
da9d5d87 GKH |
1 | From ec33745bccc8f336957c751f4153421cc9ef5a54 Mon Sep 17 00:00:00 2001 |
2 | From: Marek Szyprowski <m.szyprowski@samsung.com> | |
3 | Date: Thu, 24 Jan 2019 13:22:57 +0100 | |
4 | Subject: ARM: dts: exynos: Fix pinctrl definition for eMMC RTSN line on Odroid X2/U3 | |
5 | ||
6 | From: Marek Szyprowski <m.szyprowski@samsung.com> | |
7 | ||
8 | commit ec33745bccc8f336957c751f4153421cc9ef5a54 upstream. | |
9 | ||
10 | Commit 225da7e65a03 ("ARM: dts: add eMMC reset line for | |
11 | exynos4412-odroid-common") added MMC power sequence for eMMC card of | |
12 | Odroid X2/U3. It reused generic sd1_cd pin control configuration node | |
13 | and only disabled pull-up. However that time the pinctrl configuration | |
14 | was not applied during MMC power sequence driver initialization. This | |
15 | has been changed later by commit d97a1e5d7cd2 ("mmc: pwrseq: convert to | |
16 | proper platform device"). | |
17 | ||
18 | It turned out then, that the provided pinctrl configuration is not | |
19 | correct, because the eMMC_RTSN line is being re-configured as 'special | |
20 | function/card detect function for mmc1 controller' not the simple | |
21 | 'output', thus the power sequence driver doesn't really set the pin | |
22 | value. This in effect broke the reboot of Odroid X2/U3 boards. Fix this | |
23 | by providing separate node with eMMC_RTSN pin configuration. | |
24 | ||
25 | Cc: <stable@vger.kernel.org> | |
26 | Reported-by: Markus Reichl <m.reichl@fivetechno.de> | |
27 | Suggested-by: Ulf Hansson <ulf.hansson@linaro.org> | |
28 | Fixes: 225da7e65a03 ("ARM: dts: add eMMC reset line for exynos4412-odroid-common") | |
29 | Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> | |
30 | Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> | |
31 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
32 | ||
33 | --- | |
34 | arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 13 ++++++------- | |
35 | 1 file changed, 6 insertions(+), 7 deletions(-) | |
36 | ||
37 | --- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi | |
38 | +++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi | |
39 | @@ -70,7 +70,7 @@ | |
40 | }; | |
41 | ||
42 | emmc_pwrseq: pwrseq { | |
43 | - pinctrl-0 = <&sd1_cd>; | |
44 | + pinctrl-0 = <&emmc_rstn>; | |
45 | pinctrl-names = "default"; | |
46 | compatible = "mmc-pwrseq-emmc"; | |
47 | reset-gpios = <&gpk1 2 GPIO_ACTIVE_LOW>; | |
48 | @@ -161,12 +161,6 @@ | |
49 | cpu0-supply = <&buck2_reg>; | |
50 | }; | |
51 | ||
52 | -/* RSTN signal for eMMC */ | |
53 | -&sd1_cd { | |
54 | - samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; | |
55 | - samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; | |
56 | -}; | |
57 | - | |
58 | &pinctrl_1 { | |
59 | gpio_power_key: power_key { | |
60 | samsung,pins = "gpx1-3"; | |
61 | @@ -184,6 +178,11 @@ | |
62 | samsung,pins = "gpx3-7"; | |
63 | samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; | |
64 | }; | |
65 | + | |
66 | + emmc_rstn: emmc-rstn { | |
67 | + samsung,pins = "gpk1-2"; | |
68 | + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; | |
69 | + }; | |
70 | }; | |
71 | ||
72 | &ehci { |