RT-Thread RTOS 1.2.0
An open source embedded real-time operating system
|
#include <rtthread.h>
#include <drivers/mmcsd_host.h>
#include <drivers/mmcsd_card.h>
#include <drivers/sdio_func_ids.h>
结构体 | |
struct | rt_sdio_device_id |
struct | rt_sdio_driver |
宏定义 | |
#define | SDIO_REG_CCCR_CCCR_REV 0x00 |
#define | SDIO_CCCR_REV_1_00 0 /* CCCR/FBR Version 1.00 */ |
#define | SDIO_CCCR_REV_1_10 1 /* CCCR/FBR Version 1.10 */ |
#define | SDIO_CCCR_REV_1_20 2 /* CCCR/FBR Version 1.20 */ |
#define | SDIO_CCCR_REV_3_00 3 /* CCCR/FBR Version 2.00 */ |
#define | SDIO_SDIO_REV_1_00 0 /* SDIO Spec Version 1.00 */ |
#define | SDIO_SDIO_REV_1_10 1 /* SDIO Spec Version 1.10 */ |
#define | SDIO_SDIO_REV_1_20 2 /* SDIO Spec Version 1.20 */ |
#define | SDIO_SDIO_REV_2_00 3 /* SDIO Spec Version 2.00 */ |
#define | SDIO_REG_CCCR_SD_REV 0x01 |
#define | SDIO_SD_REV_1_01 0 /* SD Physical Spec Version 1.01 */ |
#define | SDIO_SD_REV_1_10 1 /* SD Physical Spec Version 1.10 */ |
#define | SDIO_SD_REV_2_00 2 /* SD Physical Spec Version 2.00 */ |
#define | SDIO_REG_CCCR_IO_EN 0x02 |
#define | SDIO_REG_CCCR_IO_RDY 0x03 |
#define | SDIO_REG_CCCR_INT_EN 0x04 /* Function/Master Interrupt Enable */ |
#define | SDIO_REG_CCCR_INT_PEND 0x05 /* Function Interrupt Pending */ |
#define | SDIO_REG_CCCR_IO_ABORT 0x06 /* function abort/card reset */ |
#define | SDIO_REG_CCCR_BUS_IF 0x07 /* bus interface controls */ |
#define | SDIO_BUS_WIDTH_1BIT 0x00 |
#define | SDIO_BUS_WIDTH_4BIT 0x02 |
#define | SDIO_BUS_ECSI 0x20 /* Enable continuous SPI interrupt */ |
#define | SDIO_BUS_SCSI 0x40 /* Support continuous SPI interrupt */ |
#define | SDIO_BUS_ASYNC_INT 0x20 |
#define | SDIO_BUS_CD_DISABLE 0x80 /* disable pull-up on DAT3 (pin 1) */ |
#define | SDIO_REG_CCCR_CARD_CAPS 0x08 |
#define | SDIO_CCCR_CAP_SDC 0x01 /* can do CMD52 while data transfer */ |
#define | SDIO_CCCR_CAP_SMB 0x02 /* can do multi-block xfers (CMD53) */ |
#define | SDIO_CCCR_CAP_SRW 0x04 /* supports read-wait protocol */ |
#define | SDIO_CCCR_CAP_SBS 0x08 /* supports suspend/resume */ |
#define | SDIO_CCCR_CAP_S4MI 0x10 /* interrupt during 4-bit CMD53 */ |
#define | SDIO_CCCR_CAP_E4MI 0x20 /* enable ints during 4-bit CMD53 */ |
#define | SDIO_CCCR_CAP_LSC 0x40 /* low speed card */ |
#define | SDIO_CCCR_CAP_4BLS 0x80 /* 4 bit low speed card */ |
#define | SDIO_REG_CCCR_CIS_PTR 0x09 /* common CIS pointer (3 bytes) */ |
#define | SDIO_REG_CCCR_BUS_SUSPEND 0x0c |
#define | SDIO_REG_CCCR_FUNC_SEL 0x0d |
#define | SDIO_REG_CCCR_EXEC_FLAG 0x0e |
#define | SDIO_REG_CCCR_READY_FLAG 0x0f |
#define | SDIO_REG_CCCR_FN0_BLKSIZE 0x10 /* 2bytes, 0x10~0x11 */ |
#define | SDIO_REG_CCCR_POWER_CTRL 0x12 |
#define | SDIO_POWER_SMPC 0x01 /* Supports Master Power Control */ |
#define | SDIO_POWER_EMPC 0x02 /* Enable Master Power Control */ |
#define | SDIO_REG_CCCR_SPEED 0x13 |
#define | SDIO_SPEED_SHS 0x01 /* Supports High-Speed mode */ |
#define | SDIO_SPEED_EHS 0x02 /* Enable High-Speed mode */ |
#define | SDIO_REG_FBR_BASE(f) |
#define | SDIO_REG_FBR_STD_FUNC_IF 0x00 |
#define | SDIO_FBR_SUPPORTS_CSA 0x40 /* supports Code Storage Area */ |
#define | SDIO_FBR_ENABLE_CSA 0x80 /* enable Code Storage Area */ |
#define | SDIO_REG_FBR_STD_IF_EXT 0x01 |
#define | SDIO_REG_FBR_POWER 0x02 |
#define | SDIO_FBR_POWER_SPS 0x01 /* Supports Power Selection */ |
#define | SDIO_FBR_POWER_EPS 0x02 /* Enable (low) Power Selection */ |
#define | SDIO_REG_FBR_CIS 0x09 /* CIS pointer (3 bytes) */ |
#define | SDIO_REG_FBR_CSA 0x0C /* CSA pointer (3 bytes) */ |
#define | SDIO_REG_FBR_CSA_DATA 0x0F |
#define | SDIO_REG_FBR_BLKSIZE 0x10 /* block size (2 bytes) */ |
#define | CISTPL_NULL 0x00 |
#define | CISTPL_CHECKSUM 0x10 |
#define | CISTPL_VERS_1 0x15 |
#define | CISTPL_ALTSTR 0x16 |
#define | CISTPL_MANFID 0x20 |
#define | CISTPL_FUNCID 0x21 |
#define | CISTPL_FUNCE 0x22 |
#define | CISTPL_SDIO_STD 0x91 |
#define | CISTPL_SDIO_EXT 0x92 |
#define | CISTPL_END 0xff |
#define | SDIO_ANY_FUNC_ID 0xff |
#define | SDIO_ANY_MAN_ID 0xffff |
#define | SDIO_ANY_PROD_ID 0xffff |
#define SDIO_REG_CCCR_CCCR_REV 0x00 |
在文件 dev_sdio.h 第 27 行定义.
#define SDIO_CCCR_REV_1_00 0 /* CCCR/FBR Version 1.00 */ |
在文件 dev_sdio.h 第 29 行定义.
#define SDIO_CCCR_REV_1_10 1 /* CCCR/FBR Version 1.10 */ |
在文件 dev_sdio.h 第 30 行定义.
#define SDIO_CCCR_REV_1_20 2 /* CCCR/FBR Version 1.20 */ |
在文件 dev_sdio.h 第 31 行定义.
#define SDIO_CCCR_REV_3_00 3 /* CCCR/FBR Version 2.00 */ |
在文件 dev_sdio.h 第 32 行定义.
#define SDIO_SDIO_REV_1_00 0 /* SDIO Spec Version 1.00 */ |
在文件 dev_sdio.h 第 34 行定义.
#define SDIO_SDIO_REV_1_10 1 /* SDIO Spec Version 1.10 */ |
在文件 dev_sdio.h 第 35 行定义.
#define SDIO_SDIO_REV_1_20 2 /* SDIO Spec Version 1.20 */ |
在文件 dev_sdio.h 第 36 行定义.
#define SDIO_SDIO_REV_2_00 3 /* SDIO Spec Version 2.00 */ |
在文件 dev_sdio.h 第 37 行定义.
#define SDIO_REG_CCCR_SD_REV 0x01 |
在文件 dev_sdio.h 第 39 行定义.
#define SDIO_SD_REV_1_01 0 /* SD Physical Spec Version 1.01 */ |
在文件 dev_sdio.h 第 41 行定义.
#define SDIO_SD_REV_1_10 1 /* SD Physical Spec Version 1.10 */ |
在文件 dev_sdio.h 第 42 行定义.
#define SDIO_SD_REV_2_00 2 /* SD Physical Spec Version 2.00 */ |
在文件 dev_sdio.h 第 43 行定义.
#define SDIO_REG_CCCR_IO_EN 0x02 |
在文件 dev_sdio.h 第 45 行定义.
#define SDIO_REG_CCCR_IO_RDY 0x03 |
在文件 dev_sdio.h 第 46 行定义.
#define SDIO_REG_CCCR_INT_EN 0x04 /* Function/Master Interrupt Enable */ |
在文件 dev_sdio.h 第 48 行定义.
#define SDIO_REG_CCCR_INT_PEND 0x05 /* Function Interrupt Pending */ |
在文件 dev_sdio.h 第 49 行定义.
#define SDIO_REG_CCCR_IO_ABORT 0x06 /* function abort/card reset */ |
在文件 dev_sdio.h 第 51 行定义.
#define SDIO_REG_CCCR_BUS_IF 0x07 /* bus interface controls */ |
在文件 dev_sdio.h 第 53 行定义.
#define SDIO_BUS_WIDTH_1BIT 0x00 |
在文件 dev_sdio.h 第 55 行定义.
#define SDIO_BUS_WIDTH_4BIT 0x02 |
在文件 dev_sdio.h 第 56 行定义.
#define SDIO_BUS_ECSI 0x20 /* Enable continuous SPI interrupt */ |
在文件 dev_sdio.h 第 57 行定义.
#define SDIO_BUS_SCSI 0x40 /* Support continuous SPI interrupt */ |
在文件 dev_sdio.h 第 58 行定义.
#define SDIO_BUS_ASYNC_INT 0x20 |
在文件 dev_sdio.h 第 60 行定义.
#define SDIO_BUS_CD_DISABLE 0x80 /* disable pull-up on DAT3 (pin 1) */ |
在文件 dev_sdio.h 第 62 行定义.
#define SDIO_REG_CCCR_CARD_CAPS 0x08 |
在文件 dev_sdio.h 第 64 行定义.
#define SDIO_CCCR_CAP_SDC 0x01 /* can do CMD52 while data transfer */ |
在文件 dev_sdio.h 第 66 行定义.
#define SDIO_CCCR_CAP_SMB 0x02 /* can do multi-block xfers (CMD53) */ |
在文件 dev_sdio.h 第 67 行定义.
#define SDIO_CCCR_CAP_SRW 0x04 /* supports read-wait protocol */ |
在文件 dev_sdio.h 第 68 行定义.
#define SDIO_CCCR_CAP_SBS 0x08 /* supports suspend/resume */ |
在文件 dev_sdio.h 第 69 行定义.
#define SDIO_CCCR_CAP_S4MI 0x10 /* interrupt during 4-bit CMD53 */ |
在文件 dev_sdio.h 第 70 行定义.
#define SDIO_CCCR_CAP_E4MI 0x20 /* enable ints during 4-bit CMD53 */ |
在文件 dev_sdio.h 第 71 行定义.
#define SDIO_CCCR_CAP_LSC 0x40 /* low speed card */ |
在文件 dev_sdio.h 第 72 行定义.
#define SDIO_CCCR_CAP_4BLS 0x80 /* 4 bit low speed card */ |
在文件 dev_sdio.h 第 73 行定义.
#define SDIO_REG_CCCR_CIS_PTR 0x09 /* common CIS pointer (3 bytes) */ |
在文件 dev_sdio.h 第 75 行定义.
#define SDIO_REG_CCCR_BUS_SUSPEND 0x0c |
在文件 dev_sdio.h 第 78 行定义.
#define SDIO_REG_CCCR_FUNC_SEL 0x0d |
在文件 dev_sdio.h 第 79 行定义.
#define SDIO_REG_CCCR_EXEC_FLAG 0x0e |
在文件 dev_sdio.h 第 80 行定义.
#define SDIO_REG_CCCR_READY_FLAG 0x0f |
在文件 dev_sdio.h 第 81 行定义.
#define SDIO_REG_CCCR_FN0_BLKSIZE 0x10 /* 2bytes, 0x10~0x11 */ |
在文件 dev_sdio.h 第 83 行定义.
#define SDIO_REG_CCCR_POWER_CTRL 0x12 |
在文件 dev_sdio.h 第 85 行定义.
#define SDIO_POWER_SMPC 0x01 /* Supports Master Power Control */ |
在文件 dev_sdio.h 第 87 行定义.
#define SDIO_POWER_EMPC 0x02 /* Enable Master Power Control */ |
在文件 dev_sdio.h 第 88 行定义.
#define SDIO_REG_CCCR_SPEED 0x13 |
在文件 dev_sdio.h 第 90 行定义.
#define SDIO_SPEED_SHS 0x01 /* Supports High-Speed mode */ |
在文件 dev_sdio.h 第 92 行定义.
#define SDIO_SPEED_EHS 0x02 /* Enable High-Speed mode */ |
在文件 dev_sdio.h 第 93 行定义.
#define SDIO_REG_FBR_BASE | ( | f | ) |
在文件 dev_sdio.h 第 99 行定义.
#define SDIO_REG_FBR_STD_FUNC_IF 0x00 |
在文件 dev_sdio.h 第 101 行定义.
#define SDIO_FBR_SUPPORTS_CSA 0x40 /* supports Code Storage Area */ |
在文件 dev_sdio.h 第 103 行定义.
#define SDIO_FBR_ENABLE_CSA 0x80 /* enable Code Storage Area */ |
在文件 dev_sdio.h 第 104 行定义.
#define SDIO_REG_FBR_STD_IF_EXT 0x01 |
在文件 dev_sdio.h 第 106 行定义.
#define SDIO_REG_FBR_POWER 0x02 |
在文件 dev_sdio.h 第 108 行定义.
#define SDIO_FBR_POWER_SPS 0x01 /* Supports Power Selection */ |
在文件 dev_sdio.h 第 110 行定义.
#define SDIO_FBR_POWER_EPS 0x02 /* Enable (low) Power Selection */ |
在文件 dev_sdio.h 第 111 行定义.
#define SDIO_REG_FBR_CIS 0x09 /* CIS pointer (3 bytes) */ |
在文件 dev_sdio.h 第 113 行定义.
#define SDIO_REG_FBR_CSA 0x0C /* CSA pointer (3 bytes) */ |
在文件 dev_sdio.h 第 116 行定义.
#define SDIO_REG_FBR_CSA_DATA 0x0F |
在文件 dev_sdio.h 第 118 行定义.
#define SDIO_REG_FBR_BLKSIZE 0x10 /* block size (2 bytes) */ |
在文件 dev_sdio.h 第 120 行定义.
#define CISTPL_NULL 0x00 |
在文件 dev_sdio.h 第 123 行定义.
#define CISTPL_CHECKSUM 0x10 |
在文件 dev_sdio.h 第 124 行定义.
#define CISTPL_VERS_1 0x15 |
在文件 dev_sdio.h 第 125 行定义.
#define CISTPL_ALTSTR 0x16 |
在文件 dev_sdio.h 第 126 行定义.
#define CISTPL_MANFID 0x20 |
在文件 dev_sdio.h 第 127 行定义.
#define CISTPL_FUNCID 0x21 |
在文件 dev_sdio.h 第 128 行定义.
#define CISTPL_FUNCE 0x22 |
在文件 dev_sdio.h 第 129 行定义.
#define CISTPL_SDIO_STD 0x91 |
在文件 dev_sdio.h 第 130 行定义.
#define CISTPL_SDIO_EXT 0x92 |
在文件 dev_sdio.h 第 131 行定义.
#define CISTPL_END 0xff |
在文件 dev_sdio.h 第 132 行定义.
#define SDIO_ANY_FUNC_ID 0xff |
在文件 dev_sdio.h 第 135 行定义.
#define SDIO_ANY_MAN_ID 0xffff |
在文件 dev_sdio.h 第 136 行定义.
#define SDIO_ANY_PROD_ID 0xffff |
在文件 dev_sdio.h 第 137 行定义.
rt_int32_t sdio_io_send_op_cond | ( | struct rt_mmcsd_host * | host, |
rt_uint32_t | ocr, | ||
rt_uint32_t * | cmd5_resp ) |
rt_int32_t sdio_io_rw_direct | ( | struct rt_mmcsd_card * | card, |
rt_int32_t | rw, | ||
rt_uint32_t | fn, | ||
rt_uint32_t | reg_addr, | ||
rt_uint8_t * | pdata, | ||
rt_uint8_t | raw ) |
rt_int32_t sdio_io_rw_extended | ( | struct rt_mmcsd_card * | card, |
rt_int32_t | rw, | ||
rt_uint32_t | fn, | ||
rt_uint32_t | addr, | ||
rt_int32_t | op_code, | ||
rt_uint8_t * | buf, | ||
rt_uint32_t | blocks, | ||
rt_uint32_t | blksize ) |
rt_int32_t sdio_io_rw_extended_block | ( | struct rt_sdio_function * | func, |
rt_int32_t | rw, | ||
rt_uint32_t | addr, | ||
rt_int32_t | op_code, | ||
rt_uint8_t * | buf, | ||
rt_uint32_t | len ) |
rt_uint8_t sdio_io_readb | ( | struct rt_sdio_function * | func, |
rt_uint32_t | reg, | ||
rt_int32_t * | err ) |
rt_int32_t sdio_io_writeb | ( | struct rt_sdio_function * | func, |
rt_uint32_t | reg, | ||
rt_uint8_t | data ) |
rt_uint16_t sdio_io_readw | ( | struct rt_sdio_function * | func, |
rt_uint32_t | addr, | ||
rt_int32_t * | err ) |
rt_int32_t sdio_io_writew | ( | struct rt_sdio_function * | func, |
rt_uint16_t | data, | ||
rt_uint32_t | addr ) |
rt_uint32_t sdio_io_readl | ( | struct rt_sdio_function * | func, |
rt_uint32_t | addr, | ||
rt_int32_t * | err ) |
rt_int32_t sdio_io_writel | ( | struct rt_sdio_function * | func, |
rt_uint32_t | data, | ||
rt_uint32_t | addr ) |
rt_int32_t sdio_io_read_multi_fifo_b | ( | struct rt_sdio_function * | func, |
rt_uint32_t | addr, | ||
rt_uint8_t * | buf, | ||
rt_uint32_t | len ) |
rt_int32_t sdio_io_write_multi_fifo_b | ( | struct rt_sdio_function * | func, |
rt_uint32_t | addr, | ||
rt_uint8_t * | buf, | ||
rt_uint32_t | len ) |
rt_int32_t sdio_io_read_multi_incr_b | ( | struct rt_sdio_function * | func, |
rt_uint32_t | addr, | ||
rt_uint8_t * | buf, | ||
rt_uint32_t | len ) |
rt_int32_t sdio_io_write_multi_incr_b | ( | struct rt_sdio_function * | func, |
rt_uint32_t | addr, | ||
rt_uint8_t * | buf, | ||
rt_uint32_t | len ) |
rt_int32_t init_sdio | ( | struct rt_mmcsd_host * | host, |
rt_uint32_t | ocr ) |
rt_int32_t sdio_attach_irq | ( | struct rt_sdio_function * | func, |
rt_sdio_irq_handler_t * | handler ) |
rt_int32_t sdio_detach_irq | ( | struct rt_sdio_function * | func | ) |
void sdio_irq_wakeup | ( | struct rt_mmcsd_host * | host | ) |
rt_int32_t sdio_enable_func | ( | struct rt_sdio_function * | func | ) |
rt_int32_t sdio_disable_func | ( | struct rt_sdio_function * | func | ) |
void sdio_set_drvdata | ( | struct rt_sdio_function * | func, |
void * | data ) |
void * sdio_get_drvdata | ( | struct rt_sdio_function * | func | ) |
rt_int32_t sdio_set_block_size | ( | struct rt_sdio_function * | func, |
rt_uint32_t | blksize ) |
rt_int32_t sdio_register_driver | ( | struct rt_sdio_driver * | driver | ) |
rt_int32_t sdio_unregister_driver | ( | struct rt_sdio_driver * | driver | ) |
void rt_sdio_init | ( | void | ) |