RT-Thread RTOS 1.2.0
An open source embedded real-time operating system
载入中...
搜索中...
未找到
dev_mmcsd_core.h 文件参考
#include <rtthread.h>
#include <drivers/mmcsd_host.h>
#include <drivers/mmcsd_card.h>
#include <drivers/mmcsd_cmd.h>
+ dev_mmcsd_core.h 的引用(Include)关系图:

浏览该文件的源代码.

结构体

struct  rt_mmcsd_data
 
struct  rt_mmcsd_cmd
 
struct  rt_mmcsd_req
 

宏定义

#define mmcsd_dbg(fmt, ...)
 
#define DATA_DIR_WRITE   (1 << 0)
 
#define DATA_DIR_READ   (1 << 1)
 
#define DATA_STREAM   (1 << 2)
 
#define RESP_MASK   (0xF)
 
#define RESP_NONE   (0)
 
#define RESP_R1   (1 << 0)
 
#define RESP_R1B   (2 << 0)
 
#define RESP_R2   (3 << 0)
 
#define RESP_R3   (4 << 0)
 
#define RESP_R4   (5 << 0)
 
#define RESP_R6   (6 << 0)
 
#define RESP_R7   (7 << 0)
 
#define RESP_R5   (8 << 0) /*SDIO command response type*/
 
#define CMD_MASK   (3 << 4) /* command type */
 
#define CMD_AC   (0 << 4)
 
#define CMD_ADTC   (1 << 4)
 
#define CMD_BC   (2 << 4)
 
#define CMD_BCR   (3 << 4)
 
#define resp_type(cmd)
 
#define RESP_SPI_MASK   (0x7 << 6)
 
#define RESP_SPI_R1   (1 << 6)
 
#define RESP_SPI_R1B   (2 << 6)
 
#define RESP_SPI_R2   (3 << 6)
 
#define RESP_SPI_R3   (4 << 6)
 
#define RESP_SPI_R4   (5 << 6)
 
#define RESP_SPI_R5   (6 << 6)
 
#define RESP_SPI_R7   (7 << 6)
 
#define spi_resp_type(cmd)
 
#define cmd_type(cmd)
 
#define R1_OUT_OF_RANGE   (1 << 31) /* er, c */
 
#define R1_ADDRESS_ERROR   (1 << 30) /* erx, c */
 
#define R1_BLOCK_LEN_ERROR   (1 << 29) /* er, c */
 
#define R1_ERASE_SEQ_ERROR   (1 << 28) /* er, c */
 
#define R1_ERASE_PARAM   (1 << 27) /* ex, c */
 
#define R1_WP_VIOLATION   (1 << 26) /* erx, c */
 
#define R1_CARD_IS_LOCKED   (1 << 25) /* sx, a */
 
#define R1_LOCK_UNLOCK_FAILED   (1 << 24) /* erx, c */
 
#define R1_COM_CRC_ERROR   (1 << 23) /* er, b */
 
#define R1_ILLEGAL_COMMAND   (1 << 22) /* er, b */
 
#define R1_CARD_ECC_FAILED   (1 << 21) /* ex, c */
 
#define R1_CC_ERROR   (1 << 20) /* erx, c */
 
#define R1_ERROR   (1 << 19) /* erx, c */
 
#define R1_UNDERRUN   (1 << 18) /* ex, c */
 
#define R1_OVERRUN   (1 << 17) /* ex, c */
 
#define R1_CID_CSD_OVERWRITE   (1 << 16) /* erx, c, CID/CSD overwrite */
 
#define R1_WP_ERASE_SKIP   (1 << 15) /* sx, c */
 
#define R1_CARD_ECC_DISABLED   (1 << 14) /* sx, a */
 
#define R1_ERASE_RESET   (1 << 13) /* sr, c */
 
#define R1_STATUS(x)
 
#define R1_CURRENT_STATE(x)
 
#define R1_READY_FOR_DATA   (1 << 8) /* sx, a */
 
#define R1_APP_CMD   (1 << 5) /* sr, c */
 
#define R1_SPI_IDLE   (1 << 0)
 
#define R1_SPI_ERASE_RESET   (1 << 1)
 
#define R1_SPI_ILLEGAL_COMMAND   (1 << 2)
 
#define R1_SPI_COM_CRC   (1 << 3)
 
#define R1_SPI_ERASE_SEQ   (1 << 4)
 
#define R1_SPI_ADDRESS   (1 << 5)
 
#define R1_SPI_PARAMETER   (1 << 6)
 
#define R2_SPI_CARD_LOCKED   (1 << 8)
 
#define R2_SPI_WP_ERASE_SKIP   (1 << 9) /* or lock/unlock fail */
 
#define R2_SPI_LOCK_UNLOCK_FAIL   R2_SPI_WP_ERASE_SKIP
 
#define R2_SPI_ERROR   (1 << 10)
 
#define R2_SPI_CC_ERROR   (1 << 11)
 
#define R2_SPI_CARD_ECC_ERROR   (1 << 12)
 
#define R2_SPI_WP_VIOLATION   (1 << 13)
 
#define R2_SPI_ERASE_PARAM   (1 << 14)
 
#define R2_SPI_OUT_OF_RANGE   (1 << 15) /* or CSD overwrite */
 
#define R2_SPI_CSD_OVERWRITE   R2_SPI_OUT_OF_RANGE
 
#define CARD_BUSY   0x80000000 /* Card Power up status bit */
 
#define R5_COM_CRC_ERROR   (1 << 15)
 
#define R5_ILLEGAL_COMMAND   (1 << 14)
 
#define R5_ERROR   (1 << 11)
 
#define R5_FUNCTION_NUMBER   (1 << 9)
 
#define R5_OUT_OF_RANGE   (1 << 8)
 
#define R5_STATUS(x)
 
#define R5_IO_CURRENT_STATE(x)
 
#define MMCSD_HOST_PLUGED   0
 
#define MMCSD_HOST_UNPLUGED   1
 

函数

rt_inline rt_uint32_t __rt_fls (rt_uint32_t val)
 
rt_int32_t mmcsd_excute_tuning (struct rt_mmcsd_card *card)
 
int mmcsd_wait_cd_changed (rt_int32_t timeout)
 
void mmcsd_host_lock (struct rt_mmcsd_host *host)
 
void mmcsd_host_unlock (struct rt_mmcsd_host *host)
 
void mmcsd_req_complete (struct rt_mmcsd_host *host)
 
void mmcsd_send_request (struct rt_mmcsd_host *host, struct rt_mmcsd_req *req)
 
rt_int32_t mmcsd_send_cmd (struct rt_mmcsd_host *host, struct rt_mmcsd_cmd *cmd, int retries)
 
rt_int32_t mmcsd_go_idle (struct rt_mmcsd_host *host)
 
rt_int32_t mmcsd_spi_read_ocr (struct rt_mmcsd_host *host, rt_int32_t high_capacity, rt_uint32_t *ocr)
 
rt_int32_t mmcsd_all_get_cid (struct rt_mmcsd_host *host, rt_uint32_t *cid)
 
rt_int32_t mmcsd_get_cid (struct rt_mmcsd_host *host, rt_uint32_t *cid)
 
rt_int32_t mmcsd_get_csd (struct rt_mmcsd_card *card, rt_uint32_t *csd)
 
rt_int32_t mmcsd_select_card (struct rt_mmcsd_card *card)
 
rt_int32_t mmcsd_deselect_cards (struct rt_mmcsd_card *host)
 
rt_int32_t mmcsd_spi_use_crc (struct rt_mmcsd_host *host, rt_int32_t use_crc)
 
void mmcsd_set_chip_select (struct rt_mmcsd_host *host, rt_int32_t mode)
 
void mmcsd_set_clock (struct rt_mmcsd_host *host, rt_uint32_t clk)
 
void mmcsd_set_bus_mode (struct rt_mmcsd_host *host, rt_uint32_t mode)
 
void mmcsd_set_bus_width (struct rt_mmcsd_host *host, rt_uint32_t width)
 
void mmcsd_set_timing (struct rt_mmcsd_host *host, rt_uint32_t timing)
 
void mmcsd_set_data_timeout (struct rt_mmcsd_data *data, const struct rt_mmcsd_card *card)
 
rt_uint32_t mmcsd_select_voltage (struct rt_mmcsd_host *host, rt_uint32_t ocr)
 
void mmcsd_change (struct rt_mmcsd_host *host)
 
void mmcsd_detect (void *param)
 
void mmcsd_host_init (struct rt_mmcsd_host *host)
 
struct rt_mmcsd_hostmmcsd_alloc_host (void)
 
void mmcsd_free_host (struct rt_mmcsd_host *host)
 
int rt_mmcsd_core_init (void)
 
rt_int32_t rt_mmcsd_blk_probe (struct rt_mmcsd_card *card)
 
void rt_mmcsd_blk_remove (struct rt_mmcsd_card *card)
 

宏定义说明

◆ mmcsd_dbg

#define mmcsd_dbg ( fmt,
... )

在文件 dev_mmcsd_core.h26 行定义.

◆ DATA_DIR_WRITE

#define DATA_DIR_WRITE   (1 << 0)

在文件 dev_mmcsd_core.h36 行定义.

◆ DATA_DIR_READ

#define DATA_DIR_READ   (1 << 1)

在文件 dev_mmcsd_core.h37 行定义.

◆ DATA_STREAM

#define DATA_STREAM   (1 << 2)

在文件 dev_mmcsd_core.h38 行定义.

◆ RESP_MASK

#define RESP_MASK   (0xF)

在文件 dev_mmcsd_core.h63 行定义.

◆ RESP_NONE

#define RESP_NONE   (0)

在文件 dev_mmcsd_core.h64 行定义.

◆ RESP_R1

#define RESP_R1   (1 << 0)

在文件 dev_mmcsd_core.h65 行定义.

◆ RESP_R1B

#define RESP_R1B   (2 << 0)

在文件 dev_mmcsd_core.h66 行定义.

◆ RESP_R2

#define RESP_R2   (3 << 0)

在文件 dev_mmcsd_core.h67 行定义.

◆ RESP_R3

#define RESP_R3   (4 << 0)

在文件 dev_mmcsd_core.h68 行定义.

◆ RESP_R4

#define RESP_R4   (5 << 0)

在文件 dev_mmcsd_core.h69 行定义.

◆ RESP_R6

#define RESP_R6   (6 << 0)

在文件 dev_mmcsd_core.h70 行定义.

◆ RESP_R7

#define RESP_R7   (7 << 0)

在文件 dev_mmcsd_core.h71 行定义.

◆ RESP_R5

#define RESP_R5   (8 << 0) /*SDIO command response type*/

在文件 dev_mmcsd_core.h72 行定义.

◆ CMD_MASK

#define CMD_MASK   (3 << 4) /* command type */

在文件 dev_mmcsd_core.h76 行定义.

◆ CMD_AC

#define CMD_AC   (0 << 4)

在文件 dev_mmcsd_core.h77 行定义.

◆ CMD_ADTC

#define CMD_ADTC   (1 << 4)

在文件 dev_mmcsd_core.h78 行定义.

◆ CMD_BC

#define CMD_BC   (2 << 4)

在文件 dev_mmcsd_core.h79 行定义.

◆ CMD_BCR

#define CMD_BCR   (3 << 4)

在文件 dev_mmcsd_core.h80 行定义.

◆ resp_type

#define resp_type ( cmd)
值:
((cmd)->flags & RESP_MASK)
#define RESP_MASK

在文件 dev_mmcsd_core.h82 行定义.

◆ RESP_SPI_MASK

#define RESP_SPI_MASK   (0x7 << 6)

在文件 dev_mmcsd_core.h87 行定义.

◆ RESP_SPI_R1

#define RESP_SPI_R1   (1 << 6)

在文件 dev_mmcsd_core.h88 行定义.

◆ RESP_SPI_R1B

#define RESP_SPI_R1B   (2 << 6)

在文件 dev_mmcsd_core.h89 行定义.

◆ RESP_SPI_R2

#define RESP_SPI_R2   (3 << 6)

在文件 dev_mmcsd_core.h90 行定义.

◆ RESP_SPI_R3

#define RESP_SPI_R3   (4 << 6)

在文件 dev_mmcsd_core.h91 行定义.

◆ RESP_SPI_R4

#define RESP_SPI_R4   (5 << 6)

在文件 dev_mmcsd_core.h92 行定义.

◆ RESP_SPI_R5

#define RESP_SPI_R5   (6 << 6)

在文件 dev_mmcsd_core.h93 行定义.

◆ RESP_SPI_R7

#define RESP_SPI_R7   (7 << 6)

在文件 dev_mmcsd_core.h94 行定义.

◆ spi_resp_type

#define spi_resp_type ( cmd)
值:
((cmd)->flags & RESP_SPI_MASK)
#define RESP_SPI_MASK

在文件 dev_mmcsd_core.h96 行定义.

◆ cmd_type

#define cmd_type ( cmd)
值:
((cmd)->flags & CMD_MASK)
#define CMD_MASK

在文件 dev_mmcsd_core.h100 行定义.

◆ R1_OUT_OF_RANGE

#define R1_OUT_OF_RANGE   (1 << 31) /* er, c */

在文件 dev_mmcsd_core.h121 行定义.

◆ R1_ADDRESS_ERROR

#define R1_ADDRESS_ERROR   (1 << 30) /* erx, c */

在文件 dev_mmcsd_core.h122 行定义.

◆ R1_BLOCK_LEN_ERROR

#define R1_BLOCK_LEN_ERROR   (1 << 29) /* er, c */

在文件 dev_mmcsd_core.h123 行定义.

◆ R1_ERASE_SEQ_ERROR

#define R1_ERASE_SEQ_ERROR   (1 << 28) /* er, c */

在文件 dev_mmcsd_core.h124 行定义.

◆ R1_ERASE_PARAM

#define R1_ERASE_PARAM   (1 << 27) /* ex, c */

在文件 dev_mmcsd_core.h125 行定义.

◆ R1_WP_VIOLATION

#define R1_WP_VIOLATION   (1 << 26) /* erx, c */

在文件 dev_mmcsd_core.h126 行定义.

◆ R1_CARD_IS_LOCKED

#define R1_CARD_IS_LOCKED   (1 << 25) /* sx, a */

在文件 dev_mmcsd_core.h127 行定义.

◆ R1_LOCK_UNLOCK_FAILED

#define R1_LOCK_UNLOCK_FAILED   (1 << 24) /* erx, c */

在文件 dev_mmcsd_core.h128 行定义.

◆ R1_COM_CRC_ERROR

#define R1_COM_CRC_ERROR   (1 << 23) /* er, b */

在文件 dev_mmcsd_core.h129 行定义.

◆ R1_ILLEGAL_COMMAND

#define R1_ILLEGAL_COMMAND   (1 << 22) /* er, b */

在文件 dev_mmcsd_core.h130 行定义.

◆ R1_CARD_ECC_FAILED

#define R1_CARD_ECC_FAILED   (1 << 21) /* ex, c */

在文件 dev_mmcsd_core.h131 行定义.

◆ R1_CC_ERROR

#define R1_CC_ERROR   (1 << 20) /* erx, c */

在文件 dev_mmcsd_core.h132 行定义.

◆ R1_ERROR

#define R1_ERROR   (1 << 19) /* erx, c */

在文件 dev_mmcsd_core.h133 行定义.

◆ R1_UNDERRUN

#define R1_UNDERRUN   (1 << 18) /* ex, c */

在文件 dev_mmcsd_core.h134 行定义.

◆ R1_OVERRUN

#define R1_OVERRUN   (1 << 17) /* ex, c */

在文件 dev_mmcsd_core.h135 行定义.

◆ R1_CID_CSD_OVERWRITE

#define R1_CID_CSD_OVERWRITE   (1 << 16) /* erx, c, CID/CSD overwrite */

在文件 dev_mmcsd_core.h136 行定义.

◆ R1_WP_ERASE_SKIP

#define R1_WP_ERASE_SKIP   (1 << 15) /* sx, c */

在文件 dev_mmcsd_core.h137 行定义.

◆ R1_CARD_ECC_DISABLED

#define R1_CARD_ECC_DISABLED   (1 << 14) /* sx, a */

在文件 dev_mmcsd_core.h138 行定义.

◆ R1_ERASE_RESET

#define R1_ERASE_RESET   (1 << 13) /* sr, c */

在文件 dev_mmcsd_core.h139 行定义.

◆ R1_STATUS

#define R1_STATUS ( x)
值:
(x & 0xFFFFE000)

在文件 dev_mmcsd_core.h140 行定义.

◆ R1_CURRENT_STATE

#define R1_CURRENT_STATE ( x)
值:
((x & 0x00001E00) >> 9) /* sx, b (4 bits) */

在文件 dev_mmcsd_core.h141 行定义.

◆ R1_READY_FOR_DATA

#define R1_READY_FOR_DATA   (1 << 8) /* sx, a */

在文件 dev_mmcsd_core.h142 行定义.

◆ R1_APP_CMD

#define R1_APP_CMD   (1 << 5) /* sr, c */

在文件 dev_mmcsd_core.h143 行定义.

◆ R1_SPI_IDLE

#define R1_SPI_IDLE   (1 << 0)

在文件 dev_mmcsd_core.h146 行定义.

◆ R1_SPI_ERASE_RESET

#define R1_SPI_ERASE_RESET   (1 << 1)

在文件 dev_mmcsd_core.h147 行定义.

◆ R1_SPI_ILLEGAL_COMMAND

#define R1_SPI_ILLEGAL_COMMAND   (1 << 2)

在文件 dev_mmcsd_core.h148 行定义.

◆ R1_SPI_COM_CRC

#define R1_SPI_COM_CRC   (1 << 3)

在文件 dev_mmcsd_core.h149 行定义.

◆ R1_SPI_ERASE_SEQ

#define R1_SPI_ERASE_SEQ   (1 << 4)

在文件 dev_mmcsd_core.h150 行定义.

◆ R1_SPI_ADDRESS

#define R1_SPI_ADDRESS   (1 << 5)

在文件 dev_mmcsd_core.h151 行定义.

◆ R1_SPI_PARAMETER

#define R1_SPI_PARAMETER   (1 << 6)

在文件 dev_mmcsd_core.h152 行定义.

◆ R2_SPI_CARD_LOCKED

#define R2_SPI_CARD_LOCKED   (1 << 8)

在文件 dev_mmcsd_core.h154 行定义.

◆ R2_SPI_WP_ERASE_SKIP

#define R2_SPI_WP_ERASE_SKIP   (1 << 9) /* or lock/unlock fail */

在文件 dev_mmcsd_core.h155 行定义.

◆ R2_SPI_LOCK_UNLOCK_FAIL

#define R2_SPI_LOCK_UNLOCK_FAIL   R2_SPI_WP_ERASE_SKIP

在文件 dev_mmcsd_core.h156 行定义.

◆ R2_SPI_ERROR

#define R2_SPI_ERROR   (1 << 10)

在文件 dev_mmcsd_core.h157 行定义.

◆ R2_SPI_CC_ERROR

#define R2_SPI_CC_ERROR   (1 << 11)

在文件 dev_mmcsd_core.h158 行定义.

◆ R2_SPI_CARD_ECC_ERROR

#define R2_SPI_CARD_ECC_ERROR   (1 << 12)

在文件 dev_mmcsd_core.h159 行定义.

◆ R2_SPI_WP_VIOLATION

#define R2_SPI_WP_VIOLATION   (1 << 13)

在文件 dev_mmcsd_core.h160 行定义.

◆ R2_SPI_ERASE_PARAM

#define R2_SPI_ERASE_PARAM   (1 << 14)

在文件 dev_mmcsd_core.h161 行定义.

◆ R2_SPI_OUT_OF_RANGE

#define R2_SPI_OUT_OF_RANGE   (1 << 15) /* or CSD overwrite */

在文件 dev_mmcsd_core.h162 行定义.

◆ R2_SPI_CSD_OVERWRITE

#define R2_SPI_CSD_OVERWRITE   R2_SPI_OUT_OF_RANGE

在文件 dev_mmcsd_core.h163 行定义.

◆ CARD_BUSY

#define CARD_BUSY   0x80000000 /* Card Power up status bit */

在文件 dev_mmcsd_core.h165 行定义.

◆ R5_COM_CRC_ERROR

#define R5_COM_CRC_ERROR   (1 << 15)

在文件 dev_mmcsd_core.h168 行定义.

◆ R5_ILLEGAL_COMMAND

#define R5_ILLEGAL_COMMAND   (1 << 14)

在文件 dev_mmcsd_core.h169 行定义.

◆ R5_ERROR

#define R5_ERROR   (1 << 11)

在文件 dev_mmcsd_core.h170 行定义.

◆ R5_FUNCTION_NUMBER

#define R5_FUNCTION_NUMBER   (1 << 9)

在文件 dev_mmcsd_core.h171 行定义.

◆ R5_OUT_OF_RANGE

#define R5_OUT_OF_RANGE   (1 << 8)

在文件 dev_mmcsd_core.h172 行定义.

◆ R5_STATUS

#define R5_STATUS ( x)
值:
(x & 0xCB00)

在文件 dev_mmcsd_core.h173 行定义.

◆ R5_IO_CURRENT_STATE

#define R5_IO_CURRENT_STATE ( x)
值:
((x & 0x3000) >> 12)

在文件 dev_mmcsd_core.h174 行定义.

◆ MMCSD_HOST_PLUGED

#define MMCSD_HOST_PLUGED   0

在文件 dev_mmcsd_core.h220 行定义.

◆ MMCSD_HOST_UNPLUGED

#define MMCSD_HOST_UNPLUGED   1

在文件 dev_mmcsd_core.h221 行定义.

函数说明

◆ __rt_fls()

rt_inline rt_uint32_t __rt_fls ( rt_uint32_t val)

fls - find last (most-significant) bit set @x: the word to search

This is defined the same way as ffs. Note fls(0) = 0, fls(1) = 1, fls(0x80000000) = 32.

在文件 dev_mmcsd_core.h186 行定义.

187{
188 rt_uint32_t bit = 32;
189
190 if (!val)
191 return 0;
192 if (!(val & 0xffff0000u))
193 {
194 val <<= 16;
195 bit -= 16;
196 }
197 if (!(val & 0xff000000u))
198 {
199 val <<= 8;
200 bit -= 8;
201 }
202 if (!(val & 0xf0000000u))
203 {
204 val <<= 4;
205 bit -= 4;
206 }
207 if (!(val & 0xc0000000u))
208 {
209 val <<= 2;
210 bit -= 2;
211 }
212 if (!(val & 0x80000000u))
213 {
214 bit -= 1;
215 }
216
217 return bit;
218}
unsigned int rt_uint32_t

◆ mmcsd_excute_tuning()

rt_int32_t mmcsd_excute_tuning ( struct rt_mmcsd_card * card)

◆ mmcsd_wait_cd_changed()

int mmcsd_wait_cd_changed ( rt_int32_t timeout)

◆ mmcsd_host_lock()

void mmcsd_host_lock ( struct rt_mmcsd_host * host)

◆ mmcsd_host_unlock()

void mmcsd_host_unlock ( struct rt_mmcsd_host * host)

◆ mmcsd_req_complete()

void mmcsd_req_complete ( struct rt_mmcsd_host * host)

◆ mmcsd_send_request()

void mmcsd_send_request ( struct rt_mmcsd_host * host,
struct rt_mmcsd_req * req )

◆ mmcsd_send_cmd()

rt_int32_t mmcsd_send_cmd ( struct rt_mmcsd_host * host,
struct rt_mmcsd_cmd * cmd,
int retries )

◆ mmcsd_go_idle()

rt_int32_t mmcsd_go_idle ( struct rt_mmcsd_host * host)

◆ mmcsd_spi_read_ocr()

rt_int32_t mmcsd_spi_read_ocr ( struct rt_mmcsd_host * host,
rt_int32_t high_capacity,
rt_uint32_t * ocr )

◆ mmcsd_all_get_cid()

rt_int32_t mmcsd_all_get_cid ( struct rt_mmcsd_host * host,
rt_uint32_t * cid )

◆ mmcsd_get_cid()

rt_int32_t mmcsd_get_cid ( struct rt_mmcsd_host * host,
rt_uint32_t * cid )

◆ mmcsd_get_csd()

rt_int32_t mmcsd_get_csd ( struct rt_mmcsd_card * card,
rt_uint32_t * csd )

◆ mmcsd_select_card()

rt_int32_t mmcsd_select_card ( struct rt_mmcsd_card * card)

◆ mmcsd_deselect_cards()

rt_int32_t mmcsd_deselect_cards ( struct rt_mmcsd_card * host)

◆ mmcsd_spi_use_crc()

rt_int32_t mmcsd_spi_use_crc ( struct rt_mmcsd_host * host,
rt_int32_t use_crc )

◆ mmcsd_set_chip_select()

void mmcsd_set_chip_select ( struct rt_mmcsd_host * host,
rt_int32_t mode )

◆ mmcsd_set_clock()

void mmcsd_set_clock ( struct rt_mmcsd_host * host,
rt_uint32_t clk )

◆ mmcsd_set_bus_mode()

void mmcsd_set_bus_mode ( struct rt_mmcsd_host * host,
rt_uint32_t mode )

◆ mmcsd_set_bus_width()

void mmcsd_set_bus_width ( struct rt_mmcsd_host * host,
rt_uint32_t width )

◆ mmcsd_set_timing()

void mmcsd_set_timing ( struct rt_mmcsd_host * host,
rt_uint32_t timing )

◆ mmcsd_set_data_timeout()

void mmcsd_set_data_timeout ( struct rt_mmcsd_data * data,
const struct rt_mmcsd_card * card )

◆ mmcsd_select_voltage()

rt_uint32_t mmcsd_select_voltage ( struct rt_mmcsd_host * host,
rt_uint32_t ocr )

◆ mmcsd_change()

void mmcsd_change ( struct rt_mmcsd_host * host)

◆ mmcsd_detect()

void mmcsd_detect ( void * param)

◆ mmcsd_host_init()

void mmcsd_host_init ( struct rt_mmcsd_host * host)

◆ mmcsd_alloc_host()

struct rt_mmcsd_host * mmcsd_alloc_host ( void )

◆ mmcsd_free_host()

void mmcsd_free_host ( struct rt_mmcsd_host * host)

◆ rt_mmcsd_core_init()

int rt_mmcsd_core_init ( void )

◆ rt_mmcsd_blk_probe()

rt_int32_t rt_mmcsd_blk_probe ( struct rt_mmcsd_card * card)

◆ rt_mmcsd_blk_remove()

void rt_mmcsd_blk_remove ( struct rt_mmcsd_card * card)