diff options
author | Tien Hock, Loh <tien.hock.loh@intel.com> | 2019-03-12 14:36:19 +0800 |
---|---|---|
committer | Tien Hock, Loh <tien.hock.loh@intel.com> | 2019-03-12 14:39:50 +0800 |
commit | 3d0f30bb544a6b4a0c4766a6c31169419db4090e (patch) | |
tree | dc62fbf0501f360f115e4894b8e3247222080afc /include/drivers | |
parent | 1cf55aba4902d43c95e5a24acf6d85de96923dc0 (diff) | |
download | trusted-firmware-a-3d0f30bb544a6b4a0c4766a6c31169419db4090e.tar.gz |
drivers: synopsys: Fix synopsys MMC driver
There are some issues with synopsys MMC driver:
- CMD8 should not expect data (for SD)
- ACMD51 should expect data (Send SCR for SD)
- dw_prepare should not dictate size to be MMC_BLOCK_SIZE, block size is
now handled in the dw_prepare function
- after the CMD completes, when doing dw_read, we need to invalidate cache
and wait for the data transfer to complete
- Need to set FIFO threshold, otherwise DMA might never get the interrupt
to read or write
Signed-off-by: Tien Hock, Loh <tien.hock.loh@intel.com>
Diffstat (limited to 'include/drivers')
-rw-r--r-- | include/drivers/synopsys/dw_mmc.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/drivers/synopsys/dw_mmc.h b/include/drivers/synopsys/dw_mmc.h index 7031e0f46f..2004355259 100644 --- a/include/drivers/synopsys/dw_mmc.h +++ b/include/drivers/synopsys/dw_mmc.h @@ -16,6 +16,7 @@ typedef struct dw_mmc_params { int clk_rate; int bus_width; unsigned int flags; + enum mmc_device_type mmc_dev_type; } dw_mmc_params_t; void dw_mmc_init(dw_mmc_params_t *params, struct mmc_device_info *info); |