arm-trusted-firmware/include/drivers
Yann Gautier ad71d45e7c Add MMC framework
This change is largely based on existing eMMC framework by Haojian Zhuang
(@hzhuang1).

The MMC framework supports both eMMC and SD card devices. It was
written as a new framework since breaking few eMMC framework APIs.

At card probe and after the reset to idle command (CMD0), a Send
Interface Condition Command is sent (CMD8) to distinguish between
eMMC and SD card devices. eMMC devices go through the same
sequence as in the former eMMC framework. Else the framework
uses commands dedicated to SD-cards for init or frequency switch.

A structure is created to share info with the driver. It stores:
- the MMC type (eMMC, SD or SD HC)
- the device size
- the max frequency supported by the device
- the block size: 512 for eMMC and SD-HC and read from CSD
 structure for older SD-cards

Restriction to align buffers on block size has been removed.
Cache maintenance was removed and is expected to be done in the platform
or device driver.

The MMC framework includes some MISRA compliance coding style
maybe not yet ported in the existing eMMC framework.

Fixes ARM-software/tf-issues#597

Signed-off-by: Yann Gautier <yann.gautier@st.com>
2018-07-03 18:32:12 +02:00
..
arm DMC500: Add platform support to set system interface count 2018-04-09 17:06:52 +05:30
auth Fix MISRA rule 8.4 Part 4 2018-04-13 14:01:56 +01:00
cadence drivers: cadence: cdns: Update CDNS driver to support MULTI_CONSOLE_API 2018-01-19 15:21:12 -08:00
coreboot coreboot: Add support for CBMEM console 2018-01-19 15:21:12 -08:00
io Fix MISRA rule 8.3 Part 1 2018-02-28 17:19:55 +00:00
partition Use SPDX license identifiers 2017-05-03 09:39:28 +01:00
synopsys Use SPDX license identifiers 2017-05-03 09:39:28 +01:00
ti/uart drivers: ti: uart: Add TI specific 16550 initialization 2018-06-11 14:26:32 -05:00
console.h plat/arm: Migrate AArch64 port to the multi console driver 2018-06-19 09:29:36 +01:00
console_assertions.h Add new function-pointer-based console API 2017-12-12 15:00:34 -08:00
delay_timer.h Fix MISRA rule 8.3 in common code 2018-02-28 17:18:21 +00:00
dw_ufs.h drivers: add designware ufs driver 2017-05-31 11:00:57 +08:00
emmc.h emmc: add macros CMD21, BUS_WIDTH_DDR_4 and BUS_WIDTH_DDR_8 2018-01-17 14:14:29 +08:00
generic_delay_timer.h Use SPDX license identifiers 2017-05-03 09:39:28 +01:00
gpio.h Use SPDX license identifiers 2017-05-03 09:39:28 +01:00
mmc.h Add MMC framework 2018-07-03 18:32:12 +02:00
ufs.h drivers:ufs: fix hynix ufs bug with quirk on hi36xx SoC 2018-02-24 09:30:41 +08:00