lkml.org 
[lkml]   [2019]   [Mar]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 125/135] ARM: dts: exynos: Fix pinctrl definition for eMMC RTSN line on Odroid X2/U3
    Date
    4.14-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Marek Szyprowski <m.szyprowski@samsung.com>

    commit ec33745bccc8f336957c751f4153421cc9ef5a54 upstream.

    Commit 225da7e65a03 ("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 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. 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: 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>
    Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

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

    --- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
    +++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
    @@ -60,7 +60,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>;
    @@ -161,12 +161,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";
    @@ -184,6 +178,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 {

    \
     
     \ /
      Last update: 2019-03-12 18:24    [W:4.480 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site