mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 23:51:33 +00:00
mmc: omap_hsmmc: Enable Auto command (CMD12) enable
Instead of sending STOP TRANSMISSION command from MMC core, enable the auto command feature so that the Host Controller issues CMD12 automatically when last block transfer is completed. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
parent
f0d53e88a6
commit
866bb98468
1 changed files with 5 additions and 1 deletions
|
@ -494,6 +494,10 @@ static int omap_hsmmc_send_cmd(struct udevice *dev, struct mmc_cmd *cmd,
|
|||
ulong start;
|
||||
|
||||
mmc_base = priv->base_addr;
|
||||
|
||||
if (cmd->cmdidx == MMC_CMD_STOP_TRANSMISSION)
|
||||
return 0;
|
||||
|
||||
start = get_timer(0);
|
||||
while ((readl(&mmc_base->pstate) & (DATI_MASK | CMDI_MASK)) != 0) {
|
||||
if (get_timer(0) - start > MAX_RETRY_MS) {
|
||||
|
@ -550,7 +554,7 @@ static int omap_hsmmc_send_cmd(struct udevice *dev, struct mmc_cmd *cmd,
|
|||
if (data) {
|
||||
if ((cmd->cmdidx == MMC_CMD_READ_MULTIPLE_BLOCK) ||
|
||||
(cmd->cmdidx == MMC_CMD_WRITE_MULTIPLE_BLOCK)) {
|
||||
flags |= (MSBS_MULTIBLK | BCE_ENABLE);
|
||||
flags |= (MSBS_MULTIBLK | BCE_ENABLE | ACEN_ENABLE);
|
||||
data->blocksize = 512;
|
||||
writel(data->blocksize | (data->blocks << 16),
|
||||
&mmc_base->blk);
|
||||
|
|
Loading…
Reference in a new issue