aboutsummaryrefslogtreecommitdiff
path: root/include/drivers
diff options
context:
space:
mode:
authorTien Hock, Loh <tien.hock.loh@intel.com>2019-03-12 14:36:19 +0800
committerTien Hock, Loh <tien.hock.loh@intel.com>2019-03-12 14:39:50 +0800
commit3d0f30bb544a6b4a0c4766a6c31169419db4090e (patch)
treedc62fbf0501f360f115e4894b8e3247222080afc /include/drivers
parent1cf55aba4902d43c95e5a24acf6d85de96923dc0 (diff)
downloadtrusted-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.h1
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);