[U-Boot] [PATCH] ARM: dts: logicpd-torpedo-37xx-devkit-u-boot: Fix MMC Card Detect

When re-syncing the DTS files from the kernel, something caused the MMC driver to no longer detect the MMC card. Undoing the CD-invert appears to fix the issue.
Fixes: e6ea2390cde3 ("ARM: DTS: Resync LogicPD-Torpedo-37xx-devkit with Linux 4.18-RC4")
Signed-off-by: Adam Ford aford173@gmail.com
diff --git a/arch/arm/dts/logicpd-torpedo-37xx-devkit-u-boot.dtsi b/arch/arm/dts/logicpd-torpedo-37xx-devkit-u-boot.dtsi index 4028fe7642..d584b4a9ab 100644 --- a/arch/arm/dts/logicpd-torpedo-37xx-devkit-u-boot.dtsi +++ b/arch/arm/dts/logicpd-torpedo-37xx-devkit-u-boot.dtsi @@ -20,10 +20,6 @@ clock-frequency = <400000>; };
-&mmc1 { - cd-inverted; -}; - &mmc2 { status = "disabled"; };

Hi Adam,
On 09/03/2018 05:08 PM, Adam Ford wrote:
When re-syncing the DTS files from the kernel, something caused the MMC driver to no longer detect the MMC card. Undoing the CD-invert appears to fix the issue.
Fixes: e6ea2390cde3 ("ARM: DTS: Resync LogicPD-Torpedo-37xx-devkit with Linux 4.18-RC4")
Looking at that commit, we see:
- cd-gpios = <&gpio4 31 IRQ_TYPE_LEVEL_LOW>; /* gpio127 */ + cd-gpios = <&gpio4 31 GPIO_ACTIVE_LOW>; /* gpio127 */
IRQ_TYPE_LEVEL_LOW is defined as 8, which in this context should get interpreted as GPIO_TRANSITORY which is ignored by U-Boot. Thus the card-detect polarity got toggled by that commit.
If ACTIVE_LOW is indeed the correct polarity (and I'm guessing it is because otherwise MMC wouldn't work in Linux), this patch sounds correct.
- Tuomas

On Wed, Sep 5, 2018 at 8:08 AM Tuomas Tynkkynen tuomas.tynkkynen@iki.fi wrote:
Hi Adam,
On 09/03/2018 05:08 PM, Adam Ford wrote:
When re-syncing the DTS files from the kernel, something caused the MMC driver to no longer detect the MMC card. Undoing the CD-invert appears to fix the issue.
Fixes: e6ea2390cde3 ("ARM: DTS: Resync LogicPD-Torpedo-37xx-devkit with Linux 4.18-RC4")
Looking at that commit, we see:
cd-gpios = <&gpio4 31 IRQ_TYPE_LEVEL_LOW>; /* gpio127 */
cd-gpios = <&gpio4 31 GPIO_ACTIVE_LOW>; /* gpio127 */
IRQ_TYPE_LEVEL_LOW is defined as 8, which in this context should get interpreted as GPIO_TRANSITORY which is ignored by U-Boot. Thus the card-detect polarity got toggled by that commit.
If ACTIVE_LOW is indeed the correct polarity (and I'm guessing it is because otherwise MMC wouldn't work in Linux), this patch sounds correct.
That makes a lot of sense. Thanks for that.
adam
- Tuomas

On Mon, Sep 03, 2018 at 09:08:04AM -0500, Adam Ford wrote:
When re-syncing the DTS files from the kernel, something caused the MMC driver to no longer detect the MMC card. Undoing the CD-invert appears to fix the issue.
Fixes: e6ea2390cde3 ("ARM: DTS: Resync LogicPD-Torpedo-37xx-devkit with Linux 4.18-RC4")
Signed-off-by: Adam Ford aford173@gmail.com
diff --git a/arch/arm/dts/logicpd-torpedo-37xx-devkit-u-boot.dtsi b/arch/arm/dts/logicpd-torpedo-37xx-devkit-u-boot.dtsi index 4028fe7642..d584b4a9ab 100644
Applied to u-boot/master, thanks!
participants (3)
-
Adam Ford
-
Tom Rini
-
Tuomas Tynkkynen