diff options
author | Thomas Chou <thomas@wytron.com.tw> | 2010-12-24 13:12:21 +0000 |
---|---|---|
committer | Andy Fleming <afleming@freescale.com> | 2011-04-13 06:35:22 -0500 |
commit | d52ebf102209cc1ad460c79b9498b2c8936ba413 (patch) | |
tree | 843fc83bf6b7d92f49177bc0c585a56b20662bb2 /include | |
parent | 5f837c2c0ebda8f22474d26f85857993fb81ad7c (diff) | |
download | u-boot-imx-d52ebf102209cc1ad460c79b9498b2c8936ba413.zip u-boot-imx-d52ebf102209cc1ad460c79b9498b2c8936ba413.tar.gz u-boot-imx-d52ebf102209cc1ad460c79b9498b2c8936ba413.tar.bz2 |
mmc: add generic mmc spi driver
This patch supports mmc/sd card with spi interface. It is based on
the generic mmc framework. It works with SDHC and supports multi
blocks read/write.
The crc checksum on data packet is enabled with the def,
There is a subcomamnd "mmc_spi" to setup spi bus and cs at run time.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Signed-off-by: Andy Fleming <afleming@freescale.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/mmc.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/mmc.h b/include/mmc.h index fcd0fd1..2cf489f 100644 --- a/include/mmc.h +++ b/include/mmc.h @@ -44,6 +44,7 @@ #define MMC_MODE_HS_52MHz 0x010 #define MMC_MODE_4BIT 0x100 #define MMC_MODE_8BIT 0x200 +#define MMC_MODE_SPI 0x400 #define SD_DATA_4BIT 0x00040000 @@ -75,6 +76,8 @@ #define MMC_CMD_WRITE_SINGLE_BLOCK 24 #define MMC_CMD_WRITE_MULTIPLE_BLOCK 25 #define MMC_CMD_APP_CMD 55 +#define MMC_CMD_SPI_READ_OCR 58 +#define MMC_CMD_SPI_CRC_ON_OFF 59 #define SD_CMD_SEND_RELATIVE_ADDR 3 #define SD_CMD_SWITCH_FUNC 6 @@ -291,6 +294,8 @@ int board_mmc_getcd(u8 *cd, struct mmc *mmc); #ifdef CONFIG_GENERIC_MMC int atmel_mci_init(void *regs); +#define mmc_host_is_spi(mmc) ((mmc)->host_caps & MMC_MODE_SPI) +struct mmc *mmc_spi_init(uint bus, uint cs, uint speed, uint mode); #else int mmc_legacy_init(int verbose); #endif |