![]() |
nrfxlib API 3.3.99
|
Soft eMMC driver. More...
Data Structures | |
| struct | nrf_semmc_event_t |
| struct | nrf_semmc_config_t |
| Configuration for initializing an eMMC driver instance. More... | |
| struct | nrf_semmc_cmd_desc_t |
| struct | nrf_semmc_transfer_desc_t |
| Descriptor for data transfer operations. More... | |
| struct | nrf_semmc_t |
| sEMMC driver instance structure. More... | |
Macros | |
| #define | NRF_SEMMC_FLAG_HOLD_XFER (1UL << 0) |
| Flag indicating that the transfer is prepared but not started. | |
Typedefs | |
| typedef void(* | nrf_semmc_event_handler_t) (nrf_semmc_event_t const *p_event, void *p_context) |
| Callback function type for eMMC driver events. | |
Functions | |
| nrf_semmc_error_t | nrf_semmc_init (nrf_semmc_t const *p_semmc, nrf_semmc_event_handler_t handler, void *p_context) |
| Initialize the eMMC controller driver for a given instance. | |
| void | nrf_semmc_uninit (nrf_semmc_t const *p_semmc) |
| Uninitialize the sEMMC driver instance. | |
| nrf_semmc_error_t | nrf_semmc_enable (nrf_semmc_t const *p_semmc) |
| Explicitly power up and configure the controller. | |
| nrf_semmc_error_t | nrf_semmc_disable (nrf_semmc_t const *p_semmc) |
| Explicitly power down the controller. | |
| nrf_semmc_error_t | nrf_semmc_cmd (nrf_semmc_t const *p_semmc, nrf_semmc_cmd_desc_t *p_cmd, nrf_semmc_config_t const *p_config, nrf_semmc_transfer_desc_t *p_transfer, size_t cmd_count, uint32_t flags) |
| Start an asynchronous command. | |
| nrf_semmc_error_t | nrf_semmc_cmd_prepare (nrf_semmc_t const *p_semmc, nrf_semmc_cmd_desc_t *p_cmd, nrf_semmc_config_t const *p_config, nrf_semmc_transfer_desc_t *p_transfer, size_t cmd_count) |
| prepare to start an asynchronous command. | |
| uint32_t * | nrf_semmc_start_task_address_get (nrf_semmc_t const *p_semmc) |
| Get an address of the task register to start the prepared transfer. | |
| nrf_semmc_error_t | nrf_semmc_abort (nrf_semmc_t const *p_semmc) |
| Abort any ongoing eMMC operation. | |
| bool | nrf_semmc_is_busy (nrf_semmc_t const *p_semmc) |
| Returns true if an operation is still in progress. | |
| void | nrf_semmc_irq_handler (void) |
| IRQ handler to be called from the eMMC interrupt vector. | |
Soft eMMC driver.
This API describes the driver operation of a Software eMMC emulated in a VPR CPU. Based on JEDEC Standard No. 84-B51A.
The functions in this driver are not reentrant if they operate on the same eMMC peripheral. It is the responsibility of the API user to ensure the functions are not preempted by each other. An exception is the callback function context. Multiple functions from this API can be called from the callback.