]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
ARM: 7617/1: mmc: mmci: Support for DDR mode
authorUlf Hansson <ulf.hansson@linaro.org>
Mon, 7 Jan 2013 14:30:44 +0000 (15:30 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 8 Jan 2013 16:32:43 +0000 (16:32 +0000)
Add support for DDR mode which may be used for the ux500v2 variant.
Corresponding capabilities to enable the DDR support must be set in
the platform struct to enable the functionality.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
drivers/mmc/host/mmci.c

index 150772395cc612917d85ef545ce4273c869185ef..fba51073e94f2fc255815e93c87fda56e96819e2 100644 (file)
@@ -202,6 +202,9 @@ static void mmci_set_clkreg(struct mmci_host *host, unsigned int desired)
        if (host->mmc->ios.bus_width == MMC_BUS_WIDTH_8)
                clk |= MCI_ST_8BIT_BUS;
 
+       if (host->mmc->ios.timing == MMC_TIMING_UHS_DDR50)
+               clk |= MCI_ST_UX500_NEG_EDGE;
+
        mmci_write_clkreg(host, clk);
 }
 
@@ -680,6 +683,9 @@ static void mmci_start_data(struct mmci_host *host, struct mmc_data *data)
                        mmci_write_clkreg(host, clk);
                }
 
+       if (host->mmc->ios.timing == MMC_TIMING_UHS_DDR50)
+               datactrl |= MCI_ST_DPSM_DDRMODE;
+
        /*
         * Attempt to use DMA operation mode, if this
         * should fail, fall back to PIO mode