92typedef enum : uint16_t {
105typedef enum : uint8_t {
114typedef enum : uint16_t {
Event Link Controller (ELC) register layout for the Renesas RA8D2.
ra8_elc_event_t
Partial list of ELC events (populate as drivers need them).
Error Code Definitions for ra8-firmware.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
void ra8_isr_globals_disable(void)
Globally mask maskable interrupts (PRIMASK = 1).
ra8_isr_invalid_slot_t
Sentinel for "no slot allocated".
@ k_ra8_isr_slot_none
RA8 ISR slot none.
void(* ra8_isr_handler_t)(void *ctx)
Driver-supplied callback invoked on interrupt entry.
ra8_isr_prio_t
Cortex-M85 NVIC priority range.
@ k_ra8_isr_prio_default
Middle priority.
@ k_ra8_isr_prio_max
Lowest priority.
ra8_err_t ra8_isr_init(void)
Initialise the ra8_isr table.
ra8_err_t ra8_isr_lookup_slot(ra8_elc_event_t event, uint16_t *out_slot)
Look up the slot allocated to a registered event.
ra8_err_t ra8_isr_set_dtc(uint16_t slot, bool enable)
Enable or disable DTC activation on a registered IELSR slot.
void ra8_isr_globals_enable(void)
Globally enable maskable interrupts (PRIMASK = 0).
ra8_err_t ra8_isr_register(ra8_elc_event_t event, ra8_isr_handler_t handler, void *ctx, uint8_t priority, uint16_t *out_slot)
Allocate an IELSR slot for an ELC event + handler.
ra8_err_t ra8_isr_set_priority(ra8_elc_event_t event, uint8_t priority)
Change the NVIC priority of a registered slot.
ra8_err_t ra8_isr_unregister(ra8_elc_event_t event)
Release a previously-allocated IELSR slot.
ra8_isr_slot_count_t
Size of the ISR allocator's slot pool – one slot per ICU IELSR route.
@ k_ra8_isr_slot_count
One slot per ICU IELSR route (= k_ra8_icu_num_ielsr).
void ra8_isr_dispatch(uint16_t slot)
Invoke the handler stored in dispatch-table slot slot.