diff options
Diffstat (limited to 'recipes-kernel/linux/linux-xlnx/zx3-zynq7/0004-zx3-sdhci-add-sd-card-support.patch')
-rw-r--r-- | recipes-kernel/linux/linux-xlnx/zx3-zynq7/0004-zx3-sdhci-add-sd-card-support.patch | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/recipes-kernel/linux/linux-xlnx/zx3-zynq7/0004-zx3-sdhci-add-sd-card-support.patch b/recipes-kernel/linux/linux-xlnx/zx3-zynq7/0004-zx3-sdhci-add-sd-card-support.patch deleted file mode 100644 index a0c0183..0000000 --- a/recipes-kernel/linux/linux-xlnx/zx3-zynq7/0004-zx3-sdhci-add-sd-card-support.patch +++ /dev/null @@ -1,69 +0,0 @@ -From b4712e0b848ab662a57cbf8dc8ffd5053c3e6ef5 Mon Sep 17 00:00:00 2001 -From: David Andrey <david.andrey@netmodule.com> -Date: Tue, 1 Jul 2014 09:38:12 +0200 -Subject: [PATCH 4/7] zx3: sdhci: add sd card support - -Disable the card detect for the ZX3 module as not -supported and avoid correct initialization - -Signed-off-by: Marcel Reichmuth <marcel.reichmuth@netmodule.com> ---- - drivers/mmc/host/sdhci.c | 32 +++++++++++++++----------------- - 1 file changed, 15 insertions(+), 17 deletions(-) - -diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c -index 9ddef47..72e8bfc 100644 ---- a/drivers/mmc/host/sdhci.c -+++ b/drivers/mmc/host/sdhci.c -@@ -990,9 +990,20 @@ void sdhci_send_command(struct sdhci_host *host, struct mmc_command *cmd) - int flags; - u32 mask; - unsigned long timeout; -+ u8 ctrl; - - WARN_ON(host->cmd); - -+ /* Make sure that the card detect logic of the controller is disabled. -+ This is necessary, because there seems to be a bug in the hardware -+ which causes the controller to report a card removed event and -+ automatically disable power and clock of the card during a data -+ transfer. -+ */ -+ ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL); -+ ctrl |= 0xc0; -+ sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL); -+ - /* Wait max 10 ms */ - timeout = 10; - -@@ -1648,24 +1659,11 @@ static int sdhci_get_cd(struct mmc_host *mmc) - - static int sdhci_check_ro(struct sdhci_host *host) - { -- unsigned long flags; -- int is_readonly; -- -- spin_lock_irqsave(&host->lock, flags); -- -- if (host->flags & SDHCI_DEVICE_DEAD) -- is_readonly = 0; -- else if (host->ops->get_ro) -- is_readonly = host->ops->get_ro(host); -- else -- is_readonly = !(sdhci_readl(host, SDHCI_PRESENT_STATE) -- & SDHCI_WRITE_PROTECT); -- -- spin_unlock_irqrestore(&host->lock, flags); -+ /* -+ Write protect is not supported, so allways return false. -+ */ - -- /* This quirk needs to be replaced by a callback-function later */ -- return host->quirks & SDHCI_QUIRK_INVERTED_WRITE_PROTECT ? -- !is_readonly : is_readonly; -+ return 0; - } - - #define SAMPLE_COUNT 5 --- -1.7.10.4 |