13#ifndef __MMCSD_CARD_H__
14#define __MMCSD_CARD_H__
22#define SD_SCR_BUS_WIDTH_1 (1 << 0)
23#define SD_SCR_BUS_WIDTH_4 (1 << 2)
119#define SD_SPEED_CLASS_0 0
120#define SD_SPEED_CLASS_2 1
121#define SD_SPEED_CLASS_4 2
122#define SD_SPEED_CLASS_6 3
123#define SD_SPEED_CLASS_10 4
128#define UHS_SPEED_GRADE_0 0
129#define UHS_SPEED_GRADE_1 1
130#define UHS_SPEED_GRADE_3 3
175#define SDIO_MAX_FUNCTIONS 7
198#define CARD_TYPE_MMC 0
199#define CARD_TYPE_SD 1
200#define CARD_TYPE_SDIO 2
201#define CARD_TYPE_SDIO_COMBO 3
204#define CARD_FLAG_HIGHSPEED (1 << 0)
205#define CARD_FLAG_SDHC (1 << 1)
206#define CARD_FLAG_SDXC (1 << 2)
207#define CARD_FLAG_HIGHSPEED_DDR (1 << 3)
208#define CARD_FLAG_HS200 (1 << 4)
209#define CARD_FLAG_HS400 (1 << 5)
210#define CARD_FLAG_SDR50 (1 << 6)
211#define CARD_FLAG_SDR104 (1 << 7)
212#define CARD_FLAG_DDR50 (1 << 8)
void rt_sdio_irq_handler_t(struct rt_sdio_function *)
#define SDIO_MAX_FUNCTIONS
unsigned short rt_uint16_t
unsigned long long rt_uint64_t
rt_uint32_t enhanced_data_strobe
rt_uint8_t sdio_function_num
struct rt_sdio_function * sdio_function[SDIO_MAX_FUNCTIONS+1]
rt_uint32_t card_capacity
struct rt_mmc_ext_csd ext_csd
struct rt_mmcsd_host * host
rt_uint32_t hs_max_data_rate
rt_uint32_t max_data_rate
rt_uint8_t wr_blk_partial
rt_uint16_t card_cmd_class
rt_uint8_t wr_blk_misalign
rt_uint8_t rd_blk_misalign
rt_uint8_t suspend_resume
rt_uint16_t func0_blk_size
rt_uint32_t max_tran_speed
struct rt_sdio_function_tuple * next
struct rt_sdio_function_tuple * tuples
rt_sdio_irq_handler_t * irq_handler
struct rt_mmcsd_card * card
rt_uint32_t enable_timeout_val
rt_uint64_t erase_timeout
rt_uint32_t status_words[16]
rt_uint32_t size_of_protected_area
rt_uint32_t data_bus_width
rt_uint64_t performance_move
rt_uint64_t uhs_speed_grade