arm64/hisilicon: fix SDcard detection

Message ID 1547056892-16527-1-git-send-email-vincent.guittot@linaro.org
State Superseded
Headers show
Series
  • arm64/hisilicon: fix SDcard detection
Related show

Commit Message

Vincent Guittot Jan. 9, 2019, 6:01 p.m.
commit 89a5e15bcba8 ("gpio/mmc/of: Respect polarity in the device tree")
has changed how cd_gpios phandle and cd-inverted are used to set gpio's flags.

Since this change, hikey960 SDcard is not detected anymore because flags
are not set correctly. Updating cd-gpios to set GPIO_ACTIVE_LOW instead
of high, fixes the problem.

Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>

---
 arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.7.4

Comments

Linus Walleij Jan. 9, 2019, 6:27 p.m. | #1
Hi Vincent!

On Wed, Jan 9, 2019 at 7:01 PM Vincent Guittot
<vincent.guittot@linaro.org> wrote:

> commit 89a5e15bcba8 ("gpio/mmc/of: Respect polarity in the device tree")

> has changed how cd_gpios phandle and cd-inverted are used to set gpio's flags.

>

> Since this change, hikey960 SDcard is not detected anymore because flags

> are not set correctly. Updating cd-gpios to set GPIO_ACTIVE_LOW instead

> of high, fixes the problem.

>

> Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>


Please check if this patch fixes your problem:
https://marc.info/?l=linux-mmc&m=154637189021211&w=2

> --- a/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts

> +++ b/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts

> @@ -582,7 +582,7 @@

>         sd-uhs-sdr104;

>         disable-wp;

>         cd-inverted;

> -       cd-gpios = <&gpio25 3 0>;

> +       cd-gpios = <&gpio25 3 GPIO_ACTIVE_LOW>;


This is also a good change, but the old device tree should
continue to work so we need to fix the real bug.

If you also remove "cd-inverted" above, this patch should
hopefully still work and be fine to apply as well.

Yours,
Linus Walleij
Vincent Guittot Jan. 9, 2019, 7:08 p.m. | #2
On Wed, 9 Jan 2019 at 19:28, Linus Walleij <linus.walleij@linaro.org> wrote:
>

> Hi Vincent!

>

> On Wed, Jan 9, 2019 at 7:01 PM Vincent Guittot

> <vincent.guittot@linaro.org> wrote:

>

> > commit 89a5e15bcba8 ("gpio/mmc/of: Respect polarity in the device tree")

> > has changed how cd_gpios phandle and cd-inverted are used to set gpio's flags.

> >

> > Since this change, hikey960 SDcard is not detected anymore because flags

> > are not set correctly. Updating cd-gpios to set GPIO_ACTIVE_LOW instead

> > of high, fixes the problem.

> >

> > Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>

>

> Please check if this patch fixes your problem:

> https://marc.info/?l=linux-mmc&m=154637189021211&w=2


This fix the problem

>

> > --- a/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts

> > +++ b/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts

> > @@ -582,7 +582,7 @@

> >         sd-uhs-sdr104;

> >         disable-wp;

> >         cd-inverted;

> > -       cd-gpios = <&gpio25 3 0>;

> > +       cd-gpios = <&gpio25 3 GPIO_ACTIVE_LOW>;

>

> This is also a good change, but the old device tree should

> continue to work so we need to fix the real bug.

>

> If you also remove "cd-inverted" above, this patch should

> hopefully still work and be fine to apply as well.


ok. I'm going to send an update

>

> Yours,

> Linus Walleij

Patch

diff --git a/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts b/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
index 4643546..4ef1642 100644
--- a/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
+++ b/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
@@ -582,7 +582,7 @@ 
 	sd-uhs-sdr104;
 	disable-wp;
 	cd-inverted;
-	cd-gpios = <&gpio25 3 0>;
+	cd-gpios = <&gpio25 3 GPIO_ACTIVE_LOW>;
 	pinctrl-names = "default";
 	pinctrl-0 = <&sd_pmx_func
 		     &sd_clk_cfg_func