VSF Documented
Macros | Functions
sdio_common.c File Reference
#include "hal/driver/driver.h"

Macros

#define VSF_SDIO_CFG_FUNCTION_RENAME   DISABLED
 

Functions

vsf_err_t vsf_sdio_init (vsf_sdio_t *sdio_ptr, vsf_sdio_cfg_t *cfg_ptr)
 initialize a sdio instance.
 
void vsf_sdio_fini (vsf_sdio_t *sdio_ptr)
 finalize a sdio instance.
 
void vsf_sdio_irq_enable (vsf_sdio_t *sdio_ptr, vsf_sdio_irq_mask_t irq_mask)
 enable interrupt masks of sdio instance.
 
void vsf_sdio_irq_disable (vsf_sdio_t *sdio_ptr, vsf_sdio_irq_mask_t irq_mask)
 disable interrupt masks of sdio instance.
 
vsf_sdio_status_t vsf_sdio_status (vsf_sdio_t *sdio_ptr)
 get the status of sdio instance.
 
vsf_sdio_capability_t vsf_sdio_capability (vsf_sdio_t *sdio_ptr)
 get the capability of sdio instance.
 
vsf_err_t vsf_sdio_set_clock (vsf_sdio_t *sdio_ptr, uint32_t clock_hz, bool is_ddr)
 set the clock of sdio instance.
 
vsf_err_t vsf_sdio_set_bus_width (vsf_sdio_t *sdio_ptr, uint8_t bus_width)
 set the bus width of sdio instance.
 
vsf_err_t vsf_sdio_host_request (vsf_sdio_t *sdio_ptr, vsf_sdio_req_t *req)
 request sdio operation in host mode.
 

Macro Definition Documentation

◆ VSF_SDIO_CFG_FUNCTION_RENAME

#define VSF_SDIO_CFG_FUNCTION_RENAME   DISABLED

Function Documentation

◆ vsf_sdio_init()

vsf_err_t vsf_sdio_init ( vsf_sdio_t sdio_ptr,
vsf_sdio_cfg_t cfg_ptr 
)

initialize a sdio instance.

Parameters
[in]sdio_ptra pointer to structure vsf_sdio_t
[in]cfg_ptra pointer to structure vsf_sdio_cfg_t
Returns
vsf_err_t: VSF_ERR_NONE if sdio was initialized, or a negative error code
Note
It is not necessary to call vsf_sdio_fini() to deinitialization. vsf_sdio_init() should be called before any other sdio API except vsf_sdio_capability().

◆ vsf_sdio_fini()

void vsf_sdio_fini ( vsf_sdio_t sdio_ptr)

finalize a sdio instance.

Parameters
[in]sdio_ptra pointer to structure vsf_sdio_t
Returns
none

◆ vsf_sdio_irq_enable()

void vsf_sdio_irq_enable ( vsf_sdio_t sdio_ptr,
vsf_sdio_irq_mask_t  irq_mask 
)

enable interrupt masks of sdio instance.

Parameters
[in]sdio_ptra pointer to structure vsf_sdio_t
[in]irq_maskone or more value of enum vsf_sdio_irq_mask_t
Returns
none.
Note
All pending interrupts should be cleared before interrupts are enabled.

◆ vsf_sdio_irq_disable()

void vsf_sdio_irq_disable ( vsf_sdio_t sdio_ptr,
vsf_sdio_irq_mask_t  irq_mask 
)

disable interrupt masks of sdio instance.

Parameters
[in]sdio_ptra pointer to structure vsf_sdio_t
[in]irq_maskone or more value of enum vsf_sdio_irq_mask_t, vsf_sdio_irq_mask_t
Returns
none.

◆ vsf_sdio_status()

vsf_sdio_status_t vsf_sdio_status ( vsf_sdio_t sdio_ptr)

get the status of sdio instance.

Parameters
[in]sdio_ptra pointer to structure vsf_sdio_t
Returns
vsf_sdio_status_t: return all status of current sdio

◆ vsf_sdio_capability()

vsf_sdio_capability_t vsf_sdio_capability ( vsf_sdio_t sdio_ptr)

get the capability of sdio instance.

Parameters
[in]sdio_ptra pointer to structure vsf_sdio_t
Returns
vsf_sdio_capability_t: return all capability of current sdio vsf_sdio_capability_t

◆ vsf_sdio_set_clock()

vsf_err_t vsf_sdio_set_clock ( vsf_sdio_t sdio_ptr,
uint32_t  clock_hz,
bool  is_ddr 
)

set the clock of sdio instance.

Parameters
[in]sdio_ptra pointer to structure vsf_sdio_t
[in]clock_hzclock in Hz
[in]is_ddris DDR mode, true means DDR mode while false means SDR mode
Returns
vsf_err_t: VSF_ERR_NONE if sdio set clock was successfully, or a negative error code

◆ vsf_sdio_set_bus_width()

vsf_err_t vsf_sdio_set_bus_width ( vsf_sdio_t sdio_ptr,
uint8_t  bus_width 
)

set the bus width of sdio instance.

Parameters
[in]sdio_ptra pointer to structure vsf_sdio_t
[in]bus_widthbus width in 1, 4, 8
Returns
vsf_err_t: VSF_ERR_NONE if sdio was successfully, or a negative error code

◆ vsf_sdio_host_request()

vsf_err_t vsf_sdio_host_request ( vsf_sdio_t sdio_ptr,
vsf_sdio_req_t req 
)

request sdio operation in host mode.

Parameters
[in]sdio_ptra pointer to structure vsf_sdio_t
[in]reqa pointer to sdio rqeust structure
Returns
vsf_err_t: VSF_ERR_NONE if sdio was successfully, or a negative error code