SDIO
You can use this module to access the SDIO and enable the driver to operate an SDIO-compliant device. These capabilities include reading and writing data based on SDIO, setting the block size, applying for and releasing interrupts, enabling and disabling devices, and occupying and releasing the bus.
Since:
1.0
Summary
Files
Data Structures
Typedefs
Enumerations
SdioCommonInfoType { = 0, SDIO_OTHER_INFO } |
Functions
struct DevHandle |
|
(struct DevHandle handle) |
|
(struct DevHandle handle, uint8_t data, uint32_t addr, uint32_t size, uint32_t timeOut) |
Incrementally reads a given length of data from the specified SDIO address. |
(struct DevHandle handle, uint8_t data, uint32_t addr, uint32_t size, uint32_t timeOut) |
Incrementally writes a given length of data into the specified SDIO address. |
(struct DevHandle handle, uint8_t data, uint32_t addr, uint32_t size, uint32_t timeOut) |
|
(struct DevHandle handle, uint8_t data, uint32_t addr, uint32_t size, uint32_t timeOut) |
|
(struct DevHandle handle, uint8_t data, uint32_t addr, uint32_t size, uint32_t timeOut) |
Reads a given length of data from the address space of SDIO function 0. |
(struct DevHandle handle, uint8_t data, uint32_t addr, uint32_t size, uint32_t timeOut) |
Writes a given length of data into the address space of SDIO function 0. |
(struct DevHandle handle, uint32_t blockSize) |
|
(struct DevHandle handle, info, SdioCommonInfoType infoType) |
|
(struct DevHandle handle, info, SdioCommonInfoType infoType) |
|
(struct DevHandle handle) |
|
(struct DevHandle handle) |
|
(struct DevHandle handle) |
|
(struct DevHandle handle) |
Enables the SDIO device so that its register can be accessed. |
(struct DevHandle handle) |
|
(struct DevHandle handle, irqHandler) |
|
SdioReleaseIrq (struct *handle) |
Details
Typedef Documentation
SdioIrqHandler
Defines the function type of an SDIO IRQ.
This function is registered when you call to request the SDIO IRQ.
Parameters:
data | Indicates the private data passed to this IRQ (The data is specified when the IRQ is registered). |
SdioCommonInfoType
Description:
Enumerates SDIO common information types.
When obtaining SDIO common information by calling SdioGetCommonInfo or setting the information by calling , you need to pass the information type.
SDIO_FUNC_INFO | |
SDIO_OTHER_INFO |
Function Documentation
SdioClaimHost()
void SdioClaimHost (struct [DevHandle]($api-api-SmartVision-Devices-DevHandle.md) * handle)
Description:
Claims a host exclusively.
You can call this function to enable the SDIO module to exclusively claim a host and then perform operations on the devices connected to the host. After performing required operations, release the host by calling .
Parameters:
handle | Indicates the pointer to the device handle of the SDIO controller obtained by . |
SdioClaimIrq()
int32_t SdioClaimIrq (struct [DevHandle]($api-api-SmartVision-Devices-DevHandle.md) * handle, [SdioIrqHandler]($api-api-SmartVision-Devices-SDIO.md#ga858bec274683a4f50d53d1f9f43d204b) * irqHandler )
Description:
Claims an SDIO IRQ.
When there is data, commands, or events, the IRQ function is executed.
Parameters:
Returns:
Returns 0 if the operation is successful; returns a negative value if the operation fails.
SdioClose()
void SdioClose (struct [DevHandle]($api-api-SmartVision-Devices-DevHandle.md) * handle)
Description:
Closes an SDIO controller.
After the SDIO interface is used, you can close the SDIO controller by calling . This function is used in pair with SdioOpen.
Parameters:
handle | Indicates the pointer to the device handle of the SDIO controller. |
SdioDisableFunc()
int32_t SdioDisableFunc (struct [DevHandle]($api-api-SmartVision-Devices-DevHandle.md) * handle)
Description:
Disables the SDIO device.
This function is used in pair with .
Parameters:
handle | Indicates the pointer to the device handle of the SDIO controller obtained by . |
Returns:
Returns 0 if the operation is successful; returns a negative value if the operation fails.
SdioEnableFunc()
Description:
Enables the SDIO device so that its register can be accessed.
Parameters:
handle | Indicates the pointer to the device handle of the SDIO controller obtained by SdioOpen. |
Returns:
Returns 0 if the operation is successful; returns a negative value if the operation fails.
SdioFlushData()
Description:
Flushes data.
You can call this function when an SDIO needs to be reinitialized or an unexpected error occurs.
Parameters:
handle | Indicates the pointer to the device handle of the SDIO controller obtained by . |
Returns:
Returns 0 if the operation is successful; returns a negative value if the operation fails.
SdioGetCommonInfo()
int32_t SdioGetCommonInfo (struct [DevHandle]($api-api-SmartVision-Devices-DevHandle.md) * handle, [SdioCommonInfo]($api-api-SmartVision-Devices-SdioCommonInfo.md) * info, [SdioCommonInfoType]($api-api-SmartVision-Devices-SDIO.md#ga4037437ac001a9848dd242e8aa632678) infoType )
Description:
Obtains common information.
You can call this function to obtain the capabilities and private data of the I/O function.
Parameters:
handle | Indicates the pointer to the device handle of the SDIO controller obtained by SdioOpen. |
info | Indicates the pointer to the common information to be obtained. For details, see . |
infoType | Indicates the type of the common information to be obtained. For details, see SdioCommonInfoType. |
Returns:
Returns 0 if the operation is successful; returns a negative value if the operation fails.
struct [DevHandle]($api-api-SmartVision-Devices-DevHandle.md)* SdioOpen (int16_t busNum)
Description:
Opens an SDIO controller with a specified bus number.
Before using the SDIO interface, you can obtain the device handle of the SDIO controller by calling . This function is used in pair with SdioClose.
Parameters:
busNum | Indicates the bus number. |
Returns:
Returns the device handle DevHandle of the SDIO controller if the operation is successful; returns NULL otherwise.
SdioReadBytes()
int32_t SdioReadBytes (struct [DevHandle]($api-api-SmartVision-Devices-DevHandle.md) * handle, uint8_t * data, uint32_t addr, uint32_t size, uint32_t timeOut )
Description:
Incrementally reads a given length of data from the specified SDIO address.
Parameters:
Returns:
Returns 0 if the operation is successful; returns a negative value if the operation fails.
SdioReadBytesFromFixedAddr()
int32_t SdioReadBytesFromFixedAddr (struct [DevHandle]($api-api-SmartVision-Devices-DevHandle.md) * handle, uint8_t * data, uint32_t addr, uint32_t size, uint32_t timeOut )
Description:
Reads a given length of data from the fixed SDIO address.
If the length of the data to read is greater than the size of a block, the data is read by block, and the remaining data that is smaller than one block is read by byte. Otherwise, data is read by byte.
Parameters:
Returns:
Returns 0 if the operation is successful; returns a negative value if the operation fails.
SdioReadBytesFromFunc0()
Description:
Reads a given length of data from the address space of SDIO function 0.
Currently, only one byte of data can be read.
Parameters:
handle | Indicates the pointer to the device handle of the SDIO controller obtained by SdioOpen. |
data | Indicates the pointer to the data to read. |
addr | Indicates the start address of the data to read. |
size | Indicates the length of the data to read. |
timeOut | Indicates the timeout duration for reading data, in milliseconds. If the value is 0, the default value is used. The default value varies according to the application. Generally, the default value is 1 second. |
Returns:
Returns 0 if the operation is successful; returns a negative value if the operation fails.
SdioReleaseHost()
Description:
Releases the exclusively claimed host.
This function is used in pair with SdioClaimHost.
Parameters:
handle | Indicates the pointer to the device handle of the SDIO controller obtained by SdioOpen. |
SdioReleaseIrq()
int32_t SdioReleaseIrq (struct [DevHandle]($api-api-SmartVision-Devices-DevHandle.md) * handle)
Description:
Releases an SDIO IRQ.
This function is used in pair with SdioClaimIrq.
Parameters:
handle | Indicates the pointer to the device handle of the SDIO controller obtained by SdioOpen. |
Returns:
Returns 0 if the operation is successful; returns a negative value if the operation fails.
SdioSetBlockSize()
int32_t SdioSetBlockSize (struct [DevHandle]($api-api-SmartVision-Devices-DevHandle.md) * handle, uint32_t blockSize )
Description:
Sets the block size.
If data to read or write is performed, use this function to set the block size.
Parameters:
Returns:
Returns 0 if the operation is successful; returns a negative value if the operation fails.
SdioSetCommonInfo()
int32_t SdioSetCommonInfo (struct [DevHandle]($api-api-SmartVision-Devices-DevHandle.md) * handle, [SdioCommonInfo]($api-api-SmartVision-Devices-SdioCommonInfo.md) * info, [SdioCommonInfoType]($api-api-SmartVision-Devices-SDIO.md#ga4037437ac001a9848dd242e8aa632678) infoType )
Description:
Sets common information.
You can call this function to set the maximum timeout duration and private data.
Parameters:
handle | Indicates the pointer to the device handle of the SDIO controller obtained by SdioOpen. |
info | Indicates the pointer to the common information to be set. For details, see . |
infoType | Indicates the type of the common information to be set. For details, see SdioCommonInfoType. |
Returns:
Returns 0 if the operation is successful; returns a negative value if the operation fails.
SdioWriteBytes()
int32_t SdioWriteBytes (struct [DevHandle]($api-api-SmartVision-Devices-DevHandle.md) * handle, uint8_t * data, uint32_t addr, uint32_t size, uint32_t timeOut )
Description:
Incrementally writes a given length of data into the specified SDIO address.
If the length of the data to write is greater than the size of a block, the data is written by block first, and the remaining data that is smaller than one block is written by byte. Otherwise, data is written by byte.
Parameters:
Returns:
Returns 0 if the operation is successful; returns a negative value if the operation fails.
SdioWriteBytesToFixedAddr()
Description:
Writes a given length of data into the fixed SDIO address.
If the length of the data to write is greater than the size of a block, the data is written by block first, and the remaining data that is smaller than one block is written by byte. Otherwise, data is written by byte.
Parameters:
handle | Indicates the pointer to the device handle of the SDIO controller obtained by SdioOpen. |
data | Indicates the pointer to the data to write. |
addr | Indicates the fixed address of the data to write. |
size | Indicates the length of the data to write. |
timeOut | Indicates the timeout duration for writing data, in milliseconds. If the value is 0, the default value is used. The default value varies according to the application. Generally, the default value is 1 second. |
Returns:
Returns 0 if the operation is successful; returns a negative value if the operation fails.
Description:
Writes a given length of data into the address space of SDIO function 0.
Currently, only one byte of data can be written.
Parameters:
Returns 0 if the operation is successful; returns a negative value if the operation fails.