[meta-freescale] [meta-fsl-arm-extra][PATCH 2/2] linux-riotboard: Fix broken boot
Nikolay Dimitrov
picmaster at mail.bg
Sun Apr 26 21:35:02 PDT 2015
Revert patch "mmc: sdhci-esdhc-imx: Call mmc_of_parse()",
commit 1b673ef39236db962ea7cff642949bb5bc485018,
repo https://github.com/Freescale/linux-fslc.
Gary Thomas reported that RIoTboard doesn't boot with commit 48dfc7c, and I
traced the issue to commit 1b673ef. I also verified that the board boots
properly with 1b673ef reverted.
Link: https://lists.yoctoproject.org/pipermail/meta-freescale/2015-April/013486.html # report
Signed-off-by: Nikolay Dimitrov <picmaster at mail.bg>
Cc: Gary Thomas <gary at mlbassoc.com>
Cc: Fabio Estevam <festevam at gmail.com>
---
...ert-mmc-sdhci-esdhc-imx-Call-mmc_of_parse.patch | 79 ++++++++++++++++++++
recipes-kernel/linux/linux-riotboard_4.0.bb | 1 +
2 files changed, 80 insertions(+)
create mode 100644 recipes-kernel/linux/linux-riotboard-4.0/0001-Revert-mmc-sdhci-esdhc-imx-Call-mmc_of_parse.patch
diff --git a/recipes-kernel/linux/linux-riotboard-4.0/0001-Revert-mmc-sdhci-esdhc-imx-Call-mmc_of_parse.patch b/recipes-kernel/linux/linux-riotboard-4.0/0001-Revert-mmc-sdhci-esdhc-imx-Call-mmc_of_parse.patch
new file mode 100644
index 0000000..5ad1700
--- /dev/null
+++ b/recipes-kernel/linux/linux-riotboard-4.0/0001-Revert-mmc-sdhci-esdhc-imx-Call-mmc_of_parse.patch
@@ -0,0 +1,79 @@
+From fc732f2762a98a97e84a40225edd4379d2cb1e6d Mon Sep 17 00:00:00 2001
+From: Nikolay Dimitrov <picmaster at mail.bg>
+Date: Mon, 27 Apr 2015 04:10:47 +0300
+Subject: [PATCH] Revert "mmc: sdhci-esdhc-imx: Call mmc_of_parse()"
+
+This reverts commit 1b673ef39236db962ea7cff642949bb5bc485018.
+
+Gary Thomas reported that RIoTboard doesn't boot with commit 48dfc7c, and I
+traced the issue to commit 1b673ef. I also verified that the board boots
+properly with 1b673ef reverted.
+
+Link: https://lists.yoctoproject.org/pipermail/meta-freescale/2015-April/013486.html # report
+
+Signed-off-by: Nikolay Dimitrov <picmaster at mail.bg>
+---
+ drivers/mmc/host/sdhci-esdhc-imx.c | 38 ++++++++++++++++++++++++++++++------
+ 1 file changed, 32 insertions(+), 6 deletions(-)
+
+diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
+index 1690d0b..10ef824 100644
+--- a/drivers/mmc/host/sdhci-esdhc-imx.c
++++ b/drivers/mmc/host/sdhci-esdhc-imx.c
+@@ -1009,9 +1009,40 @@ static int sdhci_esdhc_imx_probe(struct platform_device *pdev)
+ host->mmc->parent->platform_data);
+ }
+
++ /* write_protect */
++ if (boarddata->wp_type == ESDHC_WP_GPIO) {
++ err = mmc_gpio_request_ro(host->mmc, boarddata->wp_gpio);
++ if (err) {
++ dev_err(mmc_dev(host->mmc),
++ "failed to request write-protect gpio!\n");
++ goto disable_clk;
++ }
++ host->mmc->caps2 |= MMC_CAP2_RO_ACTIVE_HIGH;
++ }
++
+ /* card_detect */
+- if (boarddata->cd_type == ESDHC_CD_CONTROLLER)
++ switch (boarddata->cd_type) {
++ case ESDHC_CD_GPIO:
++ err = mmc_gpio_request_cd(host->mmc, boarddata->cd_gpio, 0);
++ if (err) {
++ dev_err(mmc_dev(host->mmc),
++ "failed to request card-detect gpio!\n");
++ goto disable_clk;
++ }
++ /* fall through */
++
++ case ESDHC_CD_CONTROLLER:
++ /* we have a working card_detect back */
+ host->quirks &= ~SDHCI_QUIRK_BROKEN_CARD_DETECTION;
++ break;
++
++ case ESDHC_CD_PERMANENT:
++ host->mmc->caps |= MMC_CAP_NONREMOVABLE;
++ break;
++
++ case ESDHC_CD_NONE:
++ break;
++ }
+
+ switch (boarddata->max_bus_width) {
+ case 8:
+@@ -1044,11 +1075,6 @@ static int sdhci_esdhc_imx_probe(struct platform_device *pdev)
+ host->quirks2 |= SDHCI_QUIRK2_NO_1_8_V;
+ }
+
+- /* call to generic mmc_of_parse to support additional capabilities */
+- err = mmc_of_parse(host->mmc);
+- if (err)
+- goto disable_clk;
+-
+ err = sdhci_add_host(host);
+ if (err)
+ goto disable_clk;
+--
+1.7.10.4
+
diff --git a/recipes-kernel/linux/linux-riotboard_4.0.bb b/recipes-kernel/linux/linux-riotboard_4.0.bb
index 7ac63fc..47648bb 100644
--- a/recipes-kernel/linux/linux-riotboard_4.0.bb
+++ b/recipes-kernel/linux/linux-riotboard_4.0.bb
@@ -10,6 +10,7 @@ SRCREV = "48dfc7ce6933a593a651e8ce029cbc5bcca19382"
SRC_URI = "git://github.com/Freescale/linux-fslc.git;branch=${SRCBRANCH} \
file://defconfig \
+ file://0001-Revert-mmc-sdhci-esdhc-imx-Call-mmc_of_parse.patch \
"
COMPATIBLE_MACHINE = "(imx6dl-riotboard)"
--
1.7.10.4
More information about the meta-freescale
mailing list