dw_mmc: support DDR mode
Subsystems (2)
Jaehoon Chung
maintainerPATCH 1/1 dw_mmc: support DDR mode
This patch is applied DDR mode in dw_mmc.
DW_MMC is supported DDR mode.
If set any bit in UHS_REG bit[16:31], the card of that slot is supported DDR mode. For example, if UHS_REG[16] is set, card number 0 is DDR mode.
--- drivers/mmc/host/dw_mmc.c | 8 ++++++++ drivers/mmc/host/dw_mmc.h | 2 +- 2 files changed, 9 insertions(+), 1 deletions(-)
drivers/mmc/host/dw_mmc.c +8 -0
@@ -662,6 +662,7 @@ static void dw_mci_request(struct mmc_host *mmc, struct mmc_request *mrq)static void dw_mci_set_ios (struct mmc_host *mmc,struct mmc_ios *ios) {struct dw_mci_slot *slot =mmc_priv (mmc); +u32 regs;/* set default 1 bit mode */ slot->ctype =SDMMC_CTYPE_1BIT ;
@@ -678,6 +679,13 @@ static void dw_mci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)break ; } +/* DDR mode set */ +if (ios->ddr) { + regs =mci_readl (slot->host,UHS_REG ); + regs |= (0x1 << slot->id) <<16 ; +mci_writel (slot->host,UHS_REG , regs); + } +if (ios->clock) {/* * Use mirror of ios->clock to prevent race with mmc
drivers/mmc/host/dw_mmc.h +1 -1
@@ -43,6 +43,7 @@#define SDMMC_USRID 0x068#define SDMMC_VERID 0x06c#define SDMMC_HCON 0x070 +#define SDMMC_UHS_REG 0x074#define SDMMC_BMOD 0x080#define SDMMC_PLDMND 0x084#define SDMMC_DBADDR 0x088
@@ -51,7 +52,6 @@#define SDMMC_DSCADDR 0x094#define SDMMC_BUFADDR 0x098#define SDMMC_DATA 0x100 -#define SDMMC_DATA_ADR 0x100/* shift bit field */ #define _SBF (f, v) ((v) << (f))
Quoted 8 lines · Jaehoon Chung
This patch is applied DDR mode in
dw_mmc.
DW_MMCis supported DDR mode.
If set any bit inUHS_REGbit[16:31], the card of that slot is supported DDR mode. For example, if UHS_REG[16] is set, card number 0 is DDR mode.Signed-off-by Jaehoon Chung <[email protected]>Signed-off-by Kyungmin Park <[email protected]>
This looks ok to me.
Quoted 7 lines · Will Newton
Quoted 6 lines · Jaehoon Chung
This patch is applied DDR mode in
dw_mmc.
DW_MMCis supported DDR mode.
If set any bit inUHS_REGbit[16:31], the card of that slot is supported DDR mode. For example, if UHS_REG[16] is set, card number 0 is DDR mode.
Quoted 6 lines
Quoted 2 lines
Signed-off-by Jaehoon Chung <[email protected]>Signed-off-by Kyungmin Park <[email protected]>This looks ok to me.
Acked-by Will Newton <[email protected]>
Thanks, pushed to mmc-next for .39.
Signature · 2 lines
Chris Ball <[email protected]> <http://printf.net/> One Laptop Per Child