version 1.3, 2007/12/21 17:45:26 |
version 1.4, 2007/12/25 14:08:10 |
|
|
* SD/MMC bus handle. |
* SD/MMC bus handle. |
*/ |
*/ |
struct sdmmc_bus_handle { |
struct sdmmc_bus_handle { |
void (*sb_send_command)(void *dd, uint8_t cmd, uint32_t arg); |
uint8_t (*sb_init)(void *dd); |
uint8_t (*sb_get_response)(void *dd); |
uint8_t (*sb_send_command)(void *dd, uint8_t cmd, uint32_t arg, uint8_t crc); |
uint8_t (*sb_get_spec_response)(void *dd, uint8_t response); |
uint8_t (*sb_set_block_size)(void *dd, uint16_t size); |
uint8_t (*sb_read_register)(void *dd, uint8_t reg); |
uint8_t (*sb_read_block)(void *dd, uint32_t addr, void *buff); |
uint8_t (*sb_read_block)(void *dd, uint32_t addr, uint32_t count); |
|
uint8_t (*sb_write_block)(void *dd, uint32_t addr, void *data); |
uint8_t (*sb_write_block)(void *dd, uint32_t addr, void *data); |
uint8_t (*sb_check_busy)(void *dd); |
/* |
|
* XXX implement {read,write}_multiple_block() when we will have DMA. |
|
*/ |
void *sb_dd; |
void *sb_dd; |
}; |
}; |
|
|
/* |
/* |
* Functions. |
* Functions. |
*/ |
*/ |
|
uint8_t sdmmc_init(void *dd); |
|
uint8_t sdmmc_send_command(void *dd, uint8_t cmd, uint32_t arg, uint8_t crc); |
|
uint8_t sdmmc_set_block_size(void *dd, uint16_t size); |
|
uint8_t sdmmc_read_block(void *dd, uint32_t addr, void *buff); |
|
uint8_t sdmmc_write_block(void *dd, uint32_t addr, void *data); |
|
|
|
|
struct sdmmc_cmdframe sdmmc_command(uint8_t cmd, uint32_t arg, uint8_t crc); |
struct sdmmc_cmdframe sdmmc_command(uint8_t cmd, uint32_t arg, uint8_t crc); |
|
|
|
|