66typedef enum : uintptr_t {
71typedef enum : uint16_t {
93typedef enum : uint8_t {
113typedef enum : uint32_t {
144typedef enum : uint8_t {
170 const uintptr_t flat_idx = ((uintptr_t)port * (uintptr_t)
k_ra8_pin_count) + (uintptr_t)
pin;
183typedef enum : uint8_t {
Annotation-attribute framework macros for ra8-firmware.
#define RA8_HW_REGISTER_ACCESS
Mark an MMIO accessor function (returns volatile register pointer).
Named Bit Positions and Masks for Register Manipulation.
ra8_board_eth_pin_t pin
Pin.
ra8_pfs_mask_t
Full-width masks for PmnPFS fields.
@ k_ra8_pfs_mask_asel
RA8 PFS mask asel.
@ k_ra8_pfs_mask_dscr
bits 11..10.
@ k_ra8_pfs_mask_pmr
RA8 PFS mask pmr.
@ k_ra8_pfs_mask_psel
bits 28..24 (5-bit function select).
@ k_ra8_pfs_mask_isel
RA8 PFS mask isel.
@ k_ra8_pfs_mask_podr
RA8 PFS mask podr.
@ k_ra8_pfs_mask_ncodr
RA8 PFS mask ncodr.
@ k_ra8_pfs_mask_pdr
RA8 PFS mask pdr.
@ k_ra8_pfs_mask_eofr
bits 13..12.
@ k_ra8_pfs_mask_pcr
RA8 PFS mask pcr.
ra8_pwpr_bit_t
Bit positions inside the 8-bit PWPR register.
@ k_ra8_pwpr_bit_pfswe
1 = PFS writes allowed, 0 = PFS writes blocked.
@ k_ra8_pwpr_bit_b0wi
1 = PFSWE write blocked, 0 = PFSWE writable.
static volatile uint8_t * ra8_pfs_pwpr(void)
Get pointer to the PWPR register (non-secure write-protect).
ra8_pfs_bit_t
Bit positions inside the 32-bit PmnPFS register.
@ k_ra8_pfs_bit_asel
Analog input enable.
@ k_ra8_pfs_bit_psel0
Peripheral select bit 0.
@ k_ra8_pfs_bit_isel
IRQ input enable.
@ k_ra8_pfs_bit_pdr
Direction (0=in, 1=out).
@ k_ra8_pfs_bit_eofr1
Event on rising/falling hi.
@ k_ra8_pfs_bit_podr
Output data.
@ k_ra8_pfs_bit_eofr0
Event on rising/falling lo.
@ k_ra8_pfs_bit_pmr
0=GPIO, 1=peripheral.
@ k_ra8_pfs_bit_pcr
Pull-up enable.
@ k_ra8_pfs_bit_dscr0
Drive strength (low bit).
@ k_ra8_pfs_bit_pidr
Input data (read-only).
@ k_ra8_pfs_bit_dscr1
Drive strength (high bit).
@ k_ra8_pfs_bit_ncodr
N-channel open-drain enable.
@ k_ra8_pfs_base_addr
PFS array base.
@ k_ra8_pmisc_base_addr
PMISC: contains PWPR and PWPRS.
static void ra8_pfs_pwpr_lock(void)
Re-lock PFS writes.
ra8_pfs_dscr_t
PmnPFS.DSCR[1:0] port drive-capability encodings.
@ k_ra8_pfs_dscr_high_speed_high
10b: High-speed high drive.
@ k_ra8_pfs_dscr_middle
01b: Middle drive.
@ k_ra8_pfs_dscr_high
11b: High drive.
@ k_ra8_pfs_dscr_low
00b: Low drive (reset default).
static void ra8_pfs_pwpr_unlock(void)
Unlock PFS writes.
static volatile uint32_t * ra8_pfs_pmn(ra8_port_t port, ra8_pin_t pin)
Get pointer to the PmnPFS register for a single pin.
static volatile uint8_t * ra8_pfs_pwprs(void)
Get pointer to the PWPRS register (Secure write-protect).
@ k_ra8_pmisc_off_pwprs
PWPRS: Secure PFS Write Protect.
@ k_ra8_pmisc_off_pmsar
PMSAR[0..14]: Port Security Attribution.
@ k_ra8_pmisc_off_pwpr
PWPR: PFS Write Protect (HUM 20.2.5).
@ k_ra8_pmisc_off_pfenet
PFENET: Ethernet Mode Select.
Typed Port / Pin Constants for the RA8D2 IOPORT Module.
ra8_port_t
Port indices for the RA8D2 IOPORT module.
@ k_ra8_port_max
Highest valid port index.
ra8_pin_t
Pin indices within an IOPORT port (0..15).
@ k_ra8_pin_count
Number of pins per port.
@ k_ra8_pin_max
Highest valid pin index.