This commit is contained in:
pvvx 2016-12-04 13:41:40 +03:00
parent 5e30f12891
commit ad9b495d7e
10 changed files with 120 additions and 36 deletions

View file

@ -9,17 +9,17 @@
typedef enum
{
SD_OK = 0,
SD_PROTECTED,
SD_NODISK,
SD_INITERR,
SD_PROTECTED,
SD_ERROR,
}SD_RESULT;
typedef enum{
SD_CLK_LOW,
SD_CLK_MID,
SD_CLK_HIGH,
SD_CLK_RSV,
SD_CLK_LOW, // 10.4MHz
SD_CLK_MID, // 20.8MHz
SD_CLK_HIGH, // 41.6MHz
SD_CLK_RSV, // 5.2MHz
}SD_CLK;
SD_RESULT SD_WaitReady(void);

View file

@ -3,6 +3,8 @@
#include "basic_types.h"
#include "rtl8195a_sdio_host.h"
#define SDIO_HOST_BYTES_ALINGMENT 4
typedef enum{
SDIO_INIT_NONE = -1,
SDIO_INIT_FAIL = 0,
@ -11,6 +13,10 @@ typedef enum{
SDIO_SD_OK = 3,
}_sdio_init_s;
extern _sdio_init_s sdio_status;
typedef void (*sdio_sd_irq_handler)(void* param);
s8 sdio_init_host(void); // init sdio host interface
void sdio_deinit_host(void);
@ -20,7 +26,7 @@ void sdio_sd_deinit(void); //de-init sd card through sdio
s8 sdio_sd_status(void);
u32 sdio_sd_getCapacity(void);
s8 sdio_sd_getProtection(void);
s8 sdio_sd_setProtection(bool protected);
s8 sdio_sd_setProtection(bool protection);
s8 sdio_sd_getCSD(u8* CSD);
s8 sdio_sd_isReady();
s8 sdio_sd_setClock(SD_CLK_FREQUENCY SDCLK);
@ -29,4 +35,9 @@ s8 sdio_sd_setClock(SD_CLK_FREQUENCY SDCLK);
s8 sdio_read_blocks(u32 sector, u8 *buffer, u32 count);
s8 sdio_write_blocks(u32 sector, const u8 *buffer, u32 count);
s8 sdio_sd_hook_xfer_cmp_cb(IN sdio_sd_irq_handler CallbackFun,IN VOID *param);
s8 sdio_sd_hook_remove_cb(IN sdio_sd_irq_handler CallbackFun,IN VOID *param);
s8 sdio_sd_hook_insert_cb(IN sdio_sd_irq_handler CallbackFun,IN VOID *param);
s8 sdio_sd_hook_xfer_err_cb(IN sdio_sd_irq_handler CallbackFun,IN VOID *param);
#endif