Annotation-attribute framework macros for ra8-firmware.
#define RA8_PRIV
Module-private helper: shared across TUs but only inside one library.
Error Code Definitions for ra8-firmware.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
ra8_i3c_i2c_state_t s_iic_b_state[k_ra8_i3c_i2c_channel_count]
Per-channel state table indexed by channel.
IIC_B (I3C unified IP, I2C-only mode) controller driver.
void(* ra8_i3c_i2c_complete_fn_t)(void *ctx, uint8_t err_mask)
Transfer-complete / error callback signature.
void priv_i3c_i2c_start(volatile r_i3c_i2c_regs_t *reg)
Issue a START condition on the given channel registers.
bool priv_i3c_i2c_should_dispatch(uint8_t mask, const void *cb)
Pure predicate: non-zero error mask AND a non-NULL callback.
void priv_i3c_i2c_clear_bst(volatile r_i3c_i2c_regs_t *reg)
Clear all latched bus-status flags ahead of a new transaction.
bool priv_i3c_i2c_len_buf_invalid(uint32_t len, const void *buf)
Pure predicate: non-zero length AND a NULL buffer pointer.
ra8_err_t priv_i3c_i2c_send_address(volatile r_i3c_i2c_regs_t *reg, uint8_t address_byte)
Send a single address byte and wait for TDBEF0 readiness.
void priv_i3c_i2c_stop(volatile r_i3c_i2c_regs_t *reg)
Issue a STOP condition and clear the prior STOP-detect flag.
IIC_B (I3C-based I2C) register layout for the Renesas RA8D2.
@ k_ra8_i3c_i2c_channel_count
HUM Ch 40.1.1, p 2445.
Memory-mapped register block for one IIC_B / I3C channel.
Per-channel dispatch state shared across the driver's TUs.
bool bus_held
True when the previous transaction returned with restart=true and the next call must inject a RESTART...
void * ctx
Callback context.
bool initialized
Tracks ra8_i3c_i2c_init / ra8_i3c_i2c_deinit.
ra8_i3c_i2c_complete_fn_t cb
Callback or NULL.