Skip to contentSkip to conversation

mmc: sdhci-esdhc-imx: Call mmc_pwrseq_alloc()

PATCH Superseded Fabio Estevam 2 participants 3 messages Apr 7, 2015 – Apr 8, 2015

Subsystems (4)

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore

Fabio Estevam

author reviewer
#0 lore raw

PATCH v2 1/1 mmc: sdhci-esdhc-imx: Call mmc_pwrseq_alloc()

From: Fabio Estevam <[email protected]>

Currently it is not possible to use 'mmc-pwrseq-simple' property with this driver because mmc_pwrseq_alloc() is never called.

Call mmc_pwrseq_alloc so that we enable the support for providing a reset GPIO to the Wifi/BT chipset.

Tested on a imx6sl-warp board:

root@imx6sl-warp:~# hciattach /dev/ttymxc1 3wire
Device setup complete
root@imx6sl-warp:~# hciconfig hci0 up
root@imx6sl-warp:~# hciconfig
hci0:   Type: BR/EDR  Bus: UART
        BD Address: 2A:23:AA:6E:C7:A0  ACL MTU: 1021:8  SCO MTU: 64:1
        UP RUNNING 
        RX bytes:795 acl:0 sco:0 events:29 errors:0
        TX bytes:613 acl:0 sco:0 commands:29 errors:0

---
Changes since v1:
- Calling mmc_of_parse() breaks some boards due to bad card detect parsing. Call only mmc_pwrseq_alloc() instead, which what we really need.

 drivers/mmc/host/sdhci-esdhc-imx.c | 6 ++++++
 1 file changed, 6 insertions(+)
drivers/mmc/host/sdhci-esdhc-imx.c +6 -0
index 7ee8312..5bcabdc 100644
@@ -31,6 +31,8 @@
 #include "sdhci-pltfm.h"
 #include "sdhci-esdhc.h"
 
+#include "../core/pwrseq.h"
+
 #define	ESDHC_CTRL_D3CD			0x08
 /* VENDOR SPEC register */
 #define ESDHC_VENDOR_SPEC		0xc0
@@ -1079,6 +1081,10 @@ static int sdhci_esdhc_imx_probe(struct platform_device *pdev)
 		host->quirks2 |= SDHCI_QUIRK2_NO_1_8_V;
 	}
 
+	err = mmc_pwrseq_alloc(host->mmc);
+	if (err)
+		goto disable_clk;
+
 	err = sdhci_add_host(host);
 	if (err)
 		goto disable_clk;
Signature · 1 line
1.9.1
#1 lore raw
Quoted 20 lines · Fabio Estevam

From: Fabio Estevam <[email protected]>

Currently it is not possible to use 'mmc-pwrseq-simple' property with this driver because mmc_pwrseq_alloc() is never called.

Call mmc_pwrseq_alloc so that we enable the support for providing a reset GPIO to the Wifi/BT chipset.

Tested on a imx6sl-warp board:

root@imx6sl-warp:~# hciattach /dev/ttymxc1 3wire
Device setup complete
root@imx6sl-warp:~# hciconfig hci0 up
root@imx6sl-warp:~# hciconfig
hci0:   Type: BR/EDR  Bus: UART
        BD Address: 2A:23:AA:6E:C7:A0  ACL MTU: 1021:8  SCO MTU: 64:1
        UP RUNNING
        RX bytes:795 acl:0 sco:0 events:29 errors:0
        TX bytes:613 acl:0 sco:0 commands:29 errors:0
Quoted 5 lines

---
Changes since v1:
- Calling mmc_of_parse() breaks some boards due to bad card detect parsing. Call only mmc_pwrseq_alloc() instead, which what we really need.

Why can't we fix the card detect parsing instead?

drivers/mmc/host/sdhci-esdhc-imx.c line 34

Quoted 13 lines
 drivers/mmc/host/sdhci-esdhc-imx.c | 6 ++++++
 1 file changed, 6 insertions(+)
drivers/mmc/host/sdhci-esdhc-imx.c +1 -0
index 7ee8312..5bcabdc 100644
@@ -31,6 +31,8 @@
 #include "sdhci-pltfm.h"
 #include "sdhci-esdhc.h"
 
+#include "../core/pwrseq.h"

The pwrseq API was intentionally not exported. This is not the way to include header files.

Quoted 16 lines
drivers/mmc/host/sdhci-esdhc-imx.c +5 -1
+
 #define        ESDHC_CTRL_D3CD                 0x08
 /* VENDOR SPEC register */
 #define ESDHC_VENDOR_SPEC              0xc0
@@ -1079,6 +1081,10 @@ static int sdhci_esdhc_imx_probe(struct platform_device *pdev)
                host->quirks2 |= SDHCI_QUIRK2_NO_1_8_V;
        }
 
+       err = mmc_pwrseq_alloc(host->mmc);
+       if (err)
+               goto disable_clk;
+
        err = sdhci_add_host(host);
        if (err)
                goto disable_clk;
--
Quoted 2 lines

1.9.1

Kind regards
Uffe

author reviewer
#2 lore raw
Quoted 5 lines · Ulf Hansson
Quoted 3 lines

Changes since v1:
- Calling mmc_of_parse() breaks some boards due to bad card detect parsing. Call only mmc_pwrseq_alloc() instead, which what we really need.

Why can't we fix the card detect parsing instead?

That's a nicer approach indeed :-)

I have prepared a v3 and will submit it soon.

Thanks