mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-16 09:34:18 +00:00

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>
24 lines
492 B
C
24 lines
492 B
C
/*
|
|
* Copyright (c) 2016-2017, ARM Limited and Contributors. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef DW_MMC_H
|
|
#define DW_MMC_H
|
|
|
|
#include <drivers/mmc.h>
|
|
|
|
typedef struct dw_mmc_params {
|
|
uintptr_t reg_base;
|
|
uintptr_t desc_base;
|
|
size_t desc_size;
|
|
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);
|
|
|
|
#endif /* DW_MMC_H */
|