aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/mmc/host/mmci.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c
index 5228c5de334d..0a8cdac1f59c 100644
--- a/drivers/mmc/host/mmci.c
+++ b/drivers/mmc/host/mmci.c
@@ -59,6 +59,7 @@ static unsigned int fmax = 515633;
59 * is asserted (likewise for RX) 59 * is asserted (likewise for RX)
60 * @fifohalfsize: number of bytes that can be written when MCI_TXFIFOHALFEMPTY 60 * @fifohalfsize: number of bytes that can be written when MCI_TXFIFOHALFEMPTY
61 * is asserted (likewise for RX) 61 * is asserted (likewise for RX)
62 * @data_cmd_enable: enable value for data commands.
62 * @sdio: variant supports SDIO 63 * @sdio: variant supports SDIO
63 * @st_clkdiv: true if using a ST-specific clock divider algorithm 64 * @st_clkdiv: true if using a ST-specific clock divider algorithm
64 * @datactrl_mask_ddrmode: ddr mode mask in datactrl register. 65 * @datactrl_mask_ddrmode: ddr mode mask in datactrl register.
@@ -79,6 +80,7 @@ struct variant_data {
79 unsigned int datalength_bits; 80 unsigned int datalength_bits;
80 unsigned int fifosize; 81 unsigned int fifosize;
81 unsigned int fifohalfsize; 82 unsigned int fifohalfsize;
83 unsigned int data_cmd_enable;
82 unsigned int datactrl_mask_ddrmode; 84 unsigned int datactrl_mask_ddrmode;
83 bool sdio; 85 bool sdio;
84 bool st_clkdiv; 86 bool st_clkdiv;
@@ -841,6 +843,9 @@ mmci_start_command(struct mmci_host *host, struct mmc_command *cmd, u32 c)
841 if (/*interrupt*/0) 843 if (/*interrupt*/0)
842 c |= MCI_CPSM_INTERRUPT; 844 c |= MCI_CPSM_INTERRUPT;
843 845
846 if (mmc_cmd_type(cmd) == MMC_CMD_ADTC)
847 c |= host->variant->data_cmd_enable;
848
844 host->cmd = cmd; 849 host->cmd = cmd;
845 850
846 writel(cmd->arg, base + MMCIARGUMENT); 851 writel(cmd->arg, base + MMCIARGUMENT);