71#if defined(RA8_OFF_TARGET) && defined(UNIT_TEST)
79[[nodiscard]]
bool ra8_fake_mmio_wait_eval(
const volatile void* reg, uint32_t iter,
bool real_cond);
89[[nodiscard]]
bool ra8_fake_mmio_poll(
const volatile void* reg, uint32_t iter,
bool flag_set);
120[[nodiscard]] uint32_t ra8_fake_mmio_read_to_set32(
volatile uint32_t* reg, uint32_t set_mask);
147void ra8_fake_mmio_write1_clear32(
volatile uint32_t* reg, uint32_t w1c_mask, uint32_t value);
171typedef enum : uint32_t {
221 if (reg ==
nullptr) {
224 for (uint32_t i = 0U; i < budget; ++i) {
225#if defined(RA8_OFF_TARGET) && defined(UNIT_TEST)
226 if (ra8_fake_mmio_wait_eval(reg, i, ((*reg & mask) != 0U))) {
230 if ((*reg & mask) != 0U) {
264 if (reg ==
nullptr) {
267 for (uint32_t i = 0U; i < budget; ++i) {
268#if defined(RA8_OFF_TARGET) && defined(UNIT_TEST)
269 if (ra8_fake_mmio_wait_eval(reg, i, ((*reg & mask) == 0U))) {
273 if ((*reg & mask) == 0U) {
311 if (reg ==
nullptr) {
314 for (uint32_t i = 0U; i < budget; ++i) {
315#if defined(RA8_OFF_TARGET) && defined(UNIT_TEST)
316 if (ra8_fake_mmio_wait_eval(reg, i, ((*reg & mask) != 0U))) {
320 if ((*reg & mask) != 0U) {
353 if (reg ==
nullptr) {
356 for (uint32_t i = 0U; i < budget; ++i) {
357#if defined(RA8_OFF_TARGET) && defined(UNIT_TEST)
358 if (ra8_fake_mmio_wait_eval(reg, i, ((*reg & mask) == 0U))) {
362 if ((*reg & mask) == 0U) {
Error Code Definitions for ra8-firmware.
@ k_ra8_err_hw_timeout
Hardware timed out waiting for a flag or handshake.
@ k_ra8_ok
Success – operation completed with all postconditions satisfied.
@ k_ra8_err_null_ptr
Pointer was NULL where a valid pointer was required.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
static ra8_err_t ra8_hw_wait_flag_clear8(volatile const uint8_t *reg, uint8_t mask, uint32_t budget)
Spin until (*reg & mask) == 0 or budget runs out.
static ra8_err_t ra8_hw_wait_flag_set32(volatile const uint32_t *reg, uint32_t mask, uint32_t budget)
Spin until (*reg & mask) != 0 or budget runs out.
static ra8_err_t ra8_hw_wait_flag_set8(volatile const uint8_t *reg, uint8_t mask, uint32_t budget)
Spin until (*reg & mask) != 0 or budget runs out.
ra8_hw_err_budget_t
Default polling budgets for ra8_hw_wait_flag_*.
@ k_ra8_hw_budget_xlong
RA8 hw budget xlong.
@ k_ra8_hw_budget_medium
RA8 hw budget medium.
@ k_ra8_hw_budget_short
RA8 hw budget short.
@ k_ra8_hw_budget_long
RA8 hw budget long.
static ra8_err_t ra8_hw_wait_flag_clear32(volatile const uint32_t *reg, uint32_t mask, uint32_t budget)
Spin until (*reg & mask) == 0 or budget runs out.