lkml.org 
[lkml]   [2021]   [Apr]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 65/73] arm64: dts: allwinner: Fix SD card CD GPIO for SOPine systems
    Date
    From: Andre Przywara <andre.przywara@arm.com>

    [ Upstream commit 3dd4ce4185df6798dcdcc3669bddb35899d7d5e1 ]

    Commit 941432d00768 ("arm64: dts: allwinner: Drop non-removable from
    SoPine/LTS SD card") enabled the card detect GPIO for the SOPine module,
    along the way with the Pine64-LTS, which share the same base .dtsi.

    However while both boards indeed have a working CD GPIO on PF6, the
    polarity is different: the SOPine modules uses a "push-pull" socket,
    which has an active-high switch, while the Pine64-LTS use the more
    traditional push-push socket and the common active-low switch.

    Fix the polarity in the sopine.dtsi, and overwrite it in the LTS
    board .dts, to make the SD card work again on systems using SOPine
    modules.

    Fixes: 941432d00768 ("arm64: dts: allwinner: Drop non-removable from SoPine/LTS SD card")
    Reported-by: Ashley <contact@victorianfox.com>
    Signed-off-by: Andre Przywara <andre.przywara@arm.com>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210316144219.5973-1-andre.przywara@arm.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-lts.dts | 4 ++++
    arch/arm64/boot/dts/allwinner/sun50i-a64-sopine.dtsi | 2 +-
    2 files changed, 5 insertions(+), 1 deletion(-)

    diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-lts.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-lts.dts
    index 72d6961dc312..8d15164f2a3c 100644
    --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-lts.dts
    +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-lts.dts
    @@ -11,3 +11,7 @@
    compatible = "pine64,pine64-lts", "allwinner,sun50i-r18",
    "allwinner,sun50i-a64";
    };
    +
    +&mmc0 {
    + cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 push-push switch */
    +};
    diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine.dtsi
    index d935e3028fcb..19e5b7e298fd 100644
    --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine.dtsi
    +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine.dtsi
    @@ -57,7 +57,7 @@
    vmmc-supply = <&reg_dcdc1>;
    disable-wp;
    bus-width = <4>;
    - cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
    + cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 push-pull switch */
    status = "okay";
    };

    --
    2.30.2


    \
     
     \ /
      Last update: 2021-04-19 15:42    [W:4.037 / U:0.216 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site