mmc: sdhci-esdhc-imx: Call mmc_pwrseq_alloc()
Subsystems (4)
Fabio Estevam
reviewerPATCH 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
@@ -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
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_allocso 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
Signed-off-by Fabio Estevam <[email protected]>---
Changes since v1:
- Callingmmc_of_parse()breaks some boards due to bad card detect parsing. Call onlymmc_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@@ -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
Fabio Estevam
reviewerQuoted 5 lines · Ulf Hansson
Quoted 3 lines
Changes since v1:
- Callingmmc_of_parse()breaks some boards due to bad card detect parsing. Call onlymmc_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