66typedef enum : uint8_t {
Error Code Definitions for ra8-firmware.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
ra8_err_t ra8_sdhi_read_block(uint8_t instance, uint32_t lba, uint8_t *buf, uint32_t block_count)
Read one or more 512-byte SD blocks via the SD_BUF0 FIFO.
ra8_err_t ra8_sdhi_get_status(uint8_t instance, uint32_t *out_mask)
Read the SD_INFO1 status register.
ra8_err_t ra8_sdhi_write_block(uint8_t instance, uint32_t lba, const uint8_t *buf, uint32_t block_count)
Write one or more 512-byte SD blocks via the SD_BUF0 FIFO.
ra8_err_t ra8_sdhi_exit_stop(uint8_t instance)
Exit MSTP-gated stop.
ra8_err_t ra8_sdhi_set_clock(uint8_t instance, uint32_t divider)
Set the SD bus clock divider (SD_CLK_CTRL).
ra8_err_t ra8_sdhi_send_command(uint8_t instance, uint32_t cmd, uint32_t arg, uint32_t *out_rsp)
Issue a single SD command and read the 4-word response.
void ra8_sdhi_dispatch(uint8_t instance)
Dispatch an SDHI event – snapshot status + fire callback.
void(* ra8_sdhi_event_fn_t)(void *ctx, uint8_t instance, uint32_t status_mask)
SDHI event callback.
ra8_err_t ra8_sdhi_clear_status(uint8_t instance, uint32_t mask)
Clear SD_INFO1 status bits via write-0-to-clear.
ra8_err_t ra8_sdhi_attach_dma(uint8_t instance, uint8_t enable)
Enable or disable DMAC-driven SDHI transfers.
ra8_err_t ra8_sdhi_init(uint8_t instance)
Initialise an SDHI instance.
ra8_err_t ra8_sdhi_attach_handler(ra8_sdhi_event_fn_t fn, void *ctx)
Attach an SDHI event callback (shared across instances).
ra8_err_t ra8_sdhi_deinit(uint8_t instance)
Tear down an SDHI instance.
ra8_err_t ra8_sdhi_enter_stop(uint8_t instance)
Put an SDHI instance into MSTP-gated stop.
ra8_err_t ra8_sdhi_set_bus_width(uint8_t instance, ra8_sdhi_bus_width_t width)
Program the host-side SD data-bus width (SD_OPTION.WIDTH / WIDTH8).
ra8_err_t ra8_sdhi_set_bus_width_4bit(uint8_t instance, uint16_t rca)
Negotiate a 4-bit data bus with the card via CMD55 + ACMD6.
ra8_err_t ra8_sdhi_set_bus_width_8bit(uint8_t instance)
Negotiate an 8-bit data bus with an eMMC device via CMD6 SWITCH.
ra8_sdhi_bus_width_t
SD data-bus width accepted by ra8_sdhi_set_bus_width.
@ k_ra8_sdhi_bus_width_1bit
Single data lane (power-on safe default).
@ k_ra8_sdhi_bus_width_4bit
Four data lanes (SD default-speed wide).
@ k_ra8_sdhi_bus_width_unset
Unset: leave the bus at its power-on width.
@ k_ra8_sdhi_bus_width_8bit
Eight data lanes (eMMC only).