31static const char*
s_tag =
"ELC";
static const char * s_tag
Logging / check tag.
Annotation-attribute framework macros for ra8-firmware.
#define RA8_HW_REGISTER_ACCESS
Mark an MMIO accessor function (returns volatile register pointer).
#define RA8_INTERNAL
Marker that a function is intended to be static (file-local).
Validation and Error-Checking Macros for ra8-firmware.
#define RA8_RETURN_ON_ERROR(err, tag, message)
Early return on error, propagating the code upward.
#define RA8_CHECK_NULL_PTR(ptr, tag, message)
Reject nullptr pointer, returning k_ra8_err_null_ptr.
static volatile uint8_t * internal_elcr(void)
Pointer to the 8-bit ELCR register.
ra8_err_t ra8_elc_unlink(uint8_t elsr_index)
Clear one ELSR slot so it stops routing any event.
ra8_err_t ra8_elc_deinit(void)
Disable the ELC globally (ELCR.ELCON = 0) and stop the module.
ra8_err_t ra8_elc_link(uint8_t elsr_index, ra8_elc_event_t event)
Route an ELC event to an ELSR slot so the destination peripheral triggers on it.
static volatile uint8_t * internal_elsegr(uint8_t group)
Pointer to the 8-bit ELSEGRn (BY) register at index group.
ra8_err_t ra8_elc_is_enabled(bool *out_enabled)
Read ELCR.ELCON to verify the global enable state.
ra8_err_t ra8_elc_init(void)
Reset the ELC register block and enable the controller.
static volatile uint16_t * internal_elsr(uint8_t index)
Pointer to ELSR slot index.
ra8_err_t ra8_elc_software_trigger(uint8_t event_index)
Fire a software event via one of the ELSEGRn registers.
Event Link Controller driver.
@ k_ra8_elc_segr_count
ELSEGR0..ELSEGR3 (FSP R_ELC_Type).
@ k_ra8_elc_elsr_count
ELSR0..ELSR52 (FSP R_ELC_Type).
Event Link Controller (ELC) register layout for the Renesas RA8D2.
@ k_ra8_elcr_bit_elcon
ELCR.ELCON – global enable.
@ k_ra8_elc_elsegr_step_unlock
WI=0, WE=0, SEG=0 – clear write-disable.
@ k_ra8_elc_elsegr_step_trigger
WI=0, WE=1, SEG=1 – fire software event.
@ k_ra8_elc_elsegr_step_arm
WI=0, WE=1, SEG=0 – arm SEG bit for write.
@ k_ra8_elc_elsr_stride
Stride between ELSR slots.
@ k_ra8_elc_off_elsr0
ELSR[0]: first link slot, ELSR0..ELSR52 (16b, stride 4).
@ k_ra8_elc_off_elsegr0
ELSEGR[0]: software event gen 0 (8b, stride 4).
@ k_ra8_elc_off_elcr
ELCR: global enable bit ELCON @ bit 7 (8b).
@ k_ra8_elc_elsegr_stride
Stride between ELSEGR slots.
@ k_ra8_elc_base_addr
RA8 elc base address.
ra8_elc_event_t
Partial list of ELC events (populate as drivers need them).
Error Code Definitions for ra8-firmware.
@ k_ra8_err_out_of_range
Sensor or peripheral output out of valid range.
@ k_ra8_err_invalid_arg
Invalid function argument.
@ k_ra8_ok
Success – operation completed with all postconditions satisfied.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
Lightweight Logging Interface for ra8-firmware.
#define ra8_log_info(tag, message)
RA8 log info.
Ref-counted Module Stop Control wrapper for the RA8D2.
ra8_err_t ra8_mstp_enable(ra8_mstp_t id)
Reference-counted "ungate this peripheral" request.
ra8_err_t ra8_mstp_disable(ra8_mstp_t id)
Reference-counted "gate this peripheral" request.
Module Stop Control (MSTP) register layout for the Renesas RA8D2.
@ k_ra8_mstp_elc
MSTPC14 ELC.