|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
Board-support implementation for the EK-RA8D2 v1. More...
#include "ra8_board_ek_ra8d2.h"#include <stddef.h>#include <stdint.h>#include "ra8_attributes.h"#include "ra8_elc_regs.h"#include "ra8_err.h"#include "ra8_gpio_constants.h"#include "ra8_icu.h"#include "ra8_icu_regs.h"#include "ra8_isr.h"#include "ra8_pfs_regs.h"#include "ra8_port_constants.h"#include "ra8_port_utils.h"#include "ra8_time.h"Go to the source code of this file.
Enumerations | |
| enum | ra8_board_xspi_reset_timing_t : uint32_t { k_ra8_board_xspi_reset_low_ms = 1U , k_ra8_board_xspi_reset_high_ms = 15U } |
| Hardware reset pulse + post-reset settle times for IS25LX512M-JHLE. More... | |
Functions | |
| ra8_err_t | ra8_board_get_info (ra8_board_info_t *out) |
| Copy the three board-identity strings into out. | |
| ra8_err_t | ra8_board_led_pin (ra8_board_led_id_t led, ra8_port_pin_t *out_pin) |
| Translate a board LED id into its underlying ra8_port_pin_t. | |
| ra8_err_t | ra8_board_led_init (ra8_board_led_id_t led) |
| Configure led as a digital output, initial level low (off). | |
| ra8_err_t | ra8_board_led_on (ra8_board_led_id_t led) |
| Drive led HIGH (light it). | |
| ra8_err_t | ra8_board_led_off (ra8_board_led_id_t led) |
| Drive led LOW (extinguish it). | |
| ra8_err_t | ra8_board_led_toggle (ra8_board_led_id_t led) |
| Toggle led's output state. | |
| ra8_err_t | ra8_board_sw_pin (ra8_board_sw_id_t sw, ra8_port_pin_t *out_pin) |
| Translate a board switch id into its underlying ra8_port_pin_t. | |
| ra8_err_t | ra8_board_sw_init (ra8_board_sw_id_t sw) |
| Configure a switch pin as an input with internal pull-up. | |
| ra8_err_t | ra8_board_sw_read (ra8_board_sw_id_t sw, ra8_board_sw_state_t *out_pressed) |
| Sample the current state of sw. | |
| ra8_err_t | ra8_board_sw_attach_irq (ra8_board_sw_id_t sw, ra8_board_sw_irq_cb_t cb, void *ctx) |
| Wire sw to the ICU and register a falling-edge callback. | |
| static bool | internal_glcdc_signal_starts_with (const char *s, const char *prefix) |
| Check whether a NUL-terminated string starts with prefix. | |
| static bool | internal_glcdc_signal_is_color_data (const char *signal) |
| Check whether a signal name is a GLCDC R/G/B data line. | |
| static bool | internal_glcdc_signal_is_output (const char *signal) |
| Test whether a J1 signal name corresponds to a GLCDC output. | |
| static void | internal_glcdc_force_pin_output (ra8_port_pin_t pin) |
| Force a PFS register to PSEL=glcdc, PMR=1, PDR=1 in one write. | |
| ra8_err_t | ra8_board_glcdc_init (ra8_board_glcdc_fmt_t fmt) |
| Program every J1 pin for fmt to its GLCDC alternate function. | |
| ra8_err_t | ra8_board_lcd_panel_power_on (void) |
| Implementation of ra8_board_lcd_panel_power_on. | |
| ra8_err_t | ra8_board_backlight_set (bool on) |
| Turn the J1 panel backlight (BLEN, P514) on or off. | |
| ra8_err_t | ra8_board_xspi_pins_init (void) |
| Route the 12 OCTA bus pins to the xSPI peripheral and pulse RESET_L. | |
| ra8_err_t | ra8_board_sdhi_pins_init (void) |
| Route the eight SDHI0 bus pins to the SDHI peripheral function. | |
| ra8_err_t | ra8_board_arduino_pin_init (ra8_board_arduino_pin_t pin, ra8_board_arduino_mode_t mode) |
| Configure an Arduino header pin in GPIO mode. | |
| ra8_err_t | ra8_board_arduino_gpio_write (ra8_board_arduino_pin_t pin, ra8_level_t level) |
| Drive a previously-initialized Arduino GPIO pin. | |
| ra8_err_t | ra8_board_arduino_gpio_read (ra8_board_arduino_pin_t pin, ra8_level_t *out_level) |
| Sample a previously-initialized Arduino GPIO pin. | |
Variables | |
| const char *const | k_ra8_board_name = "EK-RA8D2 v1" |
| Human-readable strings identifying this BSP target. | |
| const char *const | k_ra8_board_doc_rev = "R20UT5523EG0101 Rev 1.01" |
| "R20UT5523EG0101 Rev 1.01". | |
| const char *const | k_ra8_board_mcu = "R7KA8D2KFLCAC" |
| "R7KA8D2KFLCAC". | |
| static const ra8_port_pin_t | s_led_pins [k_ra8_board_led_count] |
| Lookup table from ra8_board_led_id_t to ra8_port_pin_t. | |
| static const ra8_port_pin_t | s_sw_pins [k_ra8_board_sw_count] |
| Lookup table from ra8_board_sw_id_t to ra8_port_pin_t. | |
| static const uint8_t | s_sw_irq_nums [k_ra8_board_sw_count] |
| Lookup table from ra8_board_sw_id_t to ICU IRQ channel. | |
| const ra8_board_glcdc_pin_t | g_ra8_board_glcdc_rgb888_pins [] |
| RGB888-mode pin table for J1 (UM Table 33 p 42). | |
| const ra8_board_glcdc_pin_t | g_ra8_board_glcdc_rgb666_pins [] |
| RGB666-mode pin table for J1 (UM Table 33 p 42). | |
| const ra8_board_glcdc_pin_t | g_ra8_board_glcdc_rgb565_pins [] |
| RGB565-mode pin table for J1 (UM Table 33 p 42). | |
| const uint32_t | g_ra8_board_glcdc_rgb888_pin_count |
| Number of entries in each per-format pin table. | |
| const uint32_t | g_ra8_board_glcdc_rgb666_pin_count |
| const uint32_t | g_ra8_board_glcdc_rgb565_pin_count |
| static const ra8_port_pin_t | s_xspi_octa_pins [] |
| Lookup table for the 12 OCTA bus pins routed to PSEL=0x1C. | |
| static const ra8_port_pin_t | s_sdhi_bus_pins [] |
| Lookup table for the eight SDHI0 bus pins routed to PSEL=0x15. | |
Board-support implementation for the EK-RA8D2 v1.
Translates board-coordinate APIs ("LED1", "Arduino D13") into HAL calls. The BSP itself never touches MCU registers; ra8_gpio_* / ra8_pfs_route_peripheral / ra8_icu_configure_irq_pin / ra8_ssie_* carry every register write.
Source-of-truth for the pin tables is docs/reference/ek-ra8d2-v1-users-manual.pdf (R20UT5523EG0101 Rev 1.01, October 2025). Each pin entry's comment cites the table and page in that document.
Definition in file ra8_board_ek_ra8d2.c.
| enum ra8_board_xspi_reset_timing_t : uint32_t |
Hardware reset pulse + post-reset settle times for IS25LX512M-JHLE.
IS25LX512M datasheet specifies:
From cold boot we must honour tPUW, not just the much shorter reset recovery. The previous 1 ms / 1 ms pulse was compliant with tRLRH/tRHSL but not necessarily with tPUW: the controller could clock RDID before the IS25LX internal regulator was stable, the device would silently NAK, and CMDCMP would never assert – LevelX format then bailed at ra8_xspi_flash_read_id. Post-release settle is now 15 ms, comfortably clearing tPUW from a true cold boot. The pre-release low pulse stays at 1 ms (still 10000x the 100 ns minimum tRLRH, just generous).
| Enumerator | |
|---|---|
| k_ra8_board_xspi_reset_low_ms | Hold RESET_L low for >= tRLRH. |
| k_ra8_board_xspi_reset_high_ms | Wait >= tPUW before first CS. |
Definition at line 691 of file ra8_board_ek_ra8d2.c.
|
static |
Force a PFS register to PSEL=glcdc, PMR=1, PDR=1 in one write.
ra8_pfs_route_peripheral writes PSEL + PMR but leaves PDR cleared, which keeps the pin in input direction. GLCDC needs its outputs in output direction; this helper does the combined write directly under PWPR unlock so the chip drives the line.
| [in] | pin | J1 pin already validated to be a GLCDC output. |
< PFS psel shift.
< PFS pmr bit.
< PFS pdr bit.
Definition at line 531 of file ra8_board_ek_ra8d2.c.
References k_ra8_psel_glcdc, pin, RA8_INTERNAL, ra8_pfs_pmn(), ra8_pfs_pwpr_lock(), ra8_pfs_pwpr_unlock(), RA8_PIN_PIN, and RA8_PIN_PORT.
Referenced by ra8_board_glcdc_init().
|
static |
Check whether a signal name is a GLCDC R/G/B data line.
Matches the pattern [RGB][0-9] (e.g. "R0", "G7", "B3"). The digit check rules out "BLEN" (starts with B but second char is 'L', not a digit).
| [in] | signal | NUL-terminated signal name from the pin table. |
| true | Signal is a colour-data line. |
| false | Signal is not a colour-data line. |
Definition at line 457 of file ra8_board_ek_ra8d2.c.
References RA8_INTERNAL.
Referenced by internal_glcdc_signal_is_output().
|
static |
Test whether a J1 signal name corresponds to a GLCDC output.
Returns true for TCONx / CLK / R[0-9]* / G[0-9]* / B[0-9]*; false for BLEN / RST / SDA1 / SCL1 / INT / EXTCLK. Used by ra8_board_glcdc_init to filter the J1 connector pin table down to the pins that actually carry GLCDC peripheral signals.
| [in] | signal | Human-readable signal name from the pin table. |
| true | Signal is a GLCDC peripheral output. |
| false | Signal is GPIO/I2C/clock-input. |
Definition at line 501 of file ra8_board_ek_ra8d2.c.
References internal_glcdc_signal_is_color_data(), internal_glcdc_signal_starts_with(), and RA8_INTERNAL.
Referenced by ra8_board_glcdc_init().
|
static |
Check whether a NUL-terminated string starts with prefix.
Bounded to the longest prefix this BSP needs ("TCON", 4 chars). Implemented inline instead of strncmp to keep the BSP free of <string.h> and to avoid compound boolean decisions that would require MC/DC vectors.
| [in] | s | NUL-terminated subject string. |
| [in] | prefix | NUL-terminated prefix (<= 4 chars). |
| true | Prefix matches. |
| false | At least one character differs. |
Definition at line 423 of file ra8_board_ek_ra8d2.c.
References RA8_INTERNAL.
Referenced by internal_glcdc_signal_is_output().
|
nodiscard |
Sample a previously-initialized Arduino GPIO pin.
Definition at line 803 of file ra8_board_ek_ra8d2.c.
References k_ra8_err_invalid_arg, pin, and ra8_gpio_read().
|
nodiscard |
Drive a previously-initialized Arduino GPIO pin.
Definition at line 798 of file ra8_board_ek_ra8d2.c.
References pin, and ra8_gpio_write().
|
nodiscard |
Configure an Arduino header pin in GPIO mode.
| k_ra8_ok | / k_ra8_err_invalid_arg / k_ra8_err_gpio_conflict |
Definition at line 784 of file ra8_board_ek_ra8d2.c.
References k_ra8_board_arduino_mode_input, k_ra8_board_arduino_mode_input_pullup, k_ra8_board_arduino_mode_output, k_ra8_err_invalid_arg, k_ra8_level_low, k_ra8_pull_none, k_ra8_pull_up, pin, ra8_gpio_input_init(), and ra8_gpio_output_init().
|
nodiscard |
Turn the J1 panel backlight (BLEN, P514) on or off.
Drives the active-high k_ra8_board_lcd_blen output high (on == true) or low (on == false). BLEN is configured as a GPIO output by ra8_board_lcd_panel_power_on, so this is a level change only – no re-init. Intended for an application idle-dim / auto-off policy: the LED backlight is the single largest load on a battery-powered backlit TFT, so blanking it while the reader sits idle on a static page is the highest-value power saving available. Brightness (PWM) control is a separate capability (BLEN is not routed to a GPT output on this board); this is on/off only.
| [in] | on | true to light the backlight, false to blank it. |
| k_ra8_ok | Backlight level updated. |
| k_ra8_err_invalid_arg | BLEN pin invalid (should not occur). |
| k_ra8_err_gpio_* | Underlying ra8_gpio_write propagated error. |
on. Definition at line 627 of file ra8_board_ek_ra8d2.c.
References k_ra8_level_high, k_ra8_level_low, k_ra8_pin_lcd_blen, and ra8_gpio_write().
Referenced by sh_run().
|
nodiscard |
Copy the three board-identity strings into out.
| [out] | out | Destination struct, must be non-NULL. |
| k_ra8_ok | Filled. |
| k_ra8_err_invalid_arg | out == NULL. |
Definition at line 50 of file ra8_board_ek_ra8d2.c.
|
nodiscard |
Program every J1 pin for fmt to its GLCDC alternate function.
Walks the right table above and calls ra8_pfs_route_peripheral for each entry. Does NOT bring the GLCDC peripheral itself up – call ra8_glcdc_init after this returns.
| k_ra8_ok | All pins routed. |
| k_ra8_err_invalid_arg | fmt out of range. |
| k_ra8_err_gpio_conflict | At least one pin already owned. |
Definition at line 550 of file ra8_board_ek_ra8d2.c.
References g_ra8_board_glcdc_rgb565_pin_count, g_ra8_board_glcdc_rgb565_pins, g_ra8_board_glcdc_rgb666_pin_count, g_ra8_board_glcdc_rgb666_pins, g_ra8_board_glcdc_rgb888_pin_count, g_ra8_board_glcdc_rgb888_pins, internal_glcdc_force_pin_output(), internal_glcdc_signal_is_output(), k_ra8_board_glcdc_fmt_rgb565, k_ra8_board_glcdc_fmt_rgb666, k_ra8_board_glcdc_fmt_rgb888, k_ra8_err_invalid_arg, k_ra8_ok, k_ra8_psel_glcdc, pin, and ra8_pfs_route_peripheral().
Referenced by internal_lcd_bringup_panel(), and internal_lcd_bringup_panel().
|
nodiscard |
Implementation of ra8_board_lcd_panel_power_on.
Pulse the J1 panel's RESET_L line and assert BLEN backlight.
See header for caller-facing contract. Body drives RESET_L low for 50 ms, releases it high for another 50 ms to let the panel's internal POR finish, then asserts BLEN.
| k_ra8_ok | Panel out of reset, backlight on. |
| k_ra8_err_gpio_* | Underlying GPIO call failed. |
< Reset pulse ms.
Definition at line 608 of file ra8_board_ek_ra8d2.c.
References k_ra8_level_high, k_ra8_level_low, k_ra8_ok, k_ra8_pin_lcd_blen, k_ra8_pin_lcd_reset_l, ra8_delay_ms(), ra8_gpio_output_init(), and ra8_gpio_write().
Referenced by internal_lcd_bringup_panel(), and internal_lcd_bringup_panel().
|
nodiscard |
Configure led as a digital output, initial level low (off).
| k_ra8_ok | Pin claimed and driven low. |
| k_ra8_err_invalid_arg | led >= k_ra8_board_led_count. |
| k_ra8_err_gpio_conflict | Pin already owned. |
Definition at line 91 of file ra8_board_ek_ra8d2.c.
|
nodiscard |
Drive led LOW (extinguish it).
| k_ra8_ok | / k_ra8_err_invalid_arg |
Definition at line 111 of file ra8_board_ek_ra8d2.c.
|
nodiscard |
Drive led HIGH (light it).
| k_ra8_ok | / k_ra8_err_invalid_arg |
Definition at line 101 of file ra8_board_ek_ra8d2.c.
|
nodiscard |
Translate a board LED id into its underlying ra8_port_pin_t.
| [in] | led | LED identifier. |
| [out] | out_pin | Destination pin id. |
| k_ra8_ok | / k_ra8_err_invalid_arg |
Definition at line 79 of file ra8_board_ek_ra8d2.c.
Referenced by ra8_board_led_init(), ra8_board_led_off(), ra8_board_led_on(), and ra8_board_led_toggle().
|
nodiscard |
Toggle led's output state.
| k_ra8_ok | / k_ra8_err_invalid_arg |
Definition at line 121 of file ra8_board_ek_ra8d2.c.
|
nodiscard |
Route the eight SDHI0 bus pins to the SDHI peripheral function.
Walks the ra8_board_sdhi_pin_t bus order (CMD / CLK / DAT0..3 / WP / CD on port 4 pins 0..7) and calls ra8_pfs_route_peripheral for each under PSEL = k_ra8_psel_sdhi (chip HUM Ch 20.6 "Multiplexed Pin Function Selector"). It does NOT bring the SDHI block or the card up – call ra8_sdcard_init / ra8_sdhi_init after this returns. Returns on the first failing pin so the caller can panic-halt before SD bring-up.
See the
| k_ra8_ok | All eight SDHI0 pins routed. |
| k_ra8_err_invalid_arg | PFS programming rejected an entry. |
| k_ra8_err_gpio_conflict | At least one pin already owned. |
Definition at line 763 of file ra8_board_ek_ra8d2.c.
References k_ra8_ok, k_ra8_psel_sdhi, ra8_pfs_route_peripheral(), and s_sdhi_bus_pins.
Referenced by main(), sdhi_card_setup_or_halt(), and sdhi_demo_setup_or_halt().
|
nodiscard |
Wire sw to the ICU and register a falling-edge callback.
Buttons are active-low so a falling edge corresponds to a press. The HAL takes care of the PFS routing, IRQCR programming, and NVIC enable; this veneer just hides the specific channel number (UM Table 25) from the caller.
| k_ra8_ok | / k_ra8_err_invalid_arg / k_ra8_err_gpio_conflict |
Definition at line 196 of file ra8_board_ek_ra8d2.c.
|
nodiscard |
Configure a switch pin as an input with internal pull-up.
| k_ra8_ok | / k_ra8_err_invalid_arg / k_ra8_err_gpio_conflict |
Definition at line 165 of file ra8_board_ek_ra8d2.c.
|
nodiscard |
Translate a board switch id into its underlying ra8_port_pin_t.
Definition at line 153 of file ra8_board_ek_ra8d2.c.
Referenced by ra8_board_sw_init(), and ra8_board_sw_read().
|
nodiscard |
Sample the current state of sw.
The buttons are wired active-low (press shorts the pin to GND); this function inverts the level so callers receive a positive "pressed = true" semantic.
| [in] | sw | Switch id. |
| [out] | out_pressed | Set to k_ra8_board_sw_pressed if held. |
| k_ra8_ok | Read complete. |
| k_ra8_err_invalid_arg | sw out of range or out_pressed NULL. |
Definition at line 175 of file ra8_board_ek_ra8d2.c.
|
nodiscard |
Route the 12 OCTA bus pins to the xSPI peripheral and pulse RESET_L.
Configures CS / CK / DQS / DQ0..DQ7 under PSEL=k_ra8_psel_qspi (0x1C) per EK-RA8D2 UM Table 29 (p 35), then drives the active-low RESET strap as a GPIO output: low for >= tRLRH, high for >= tRHSL before the first xSPI command. Must run BEFORE any ra8_xspi_* call.
| k_ra8_ok | All pins routed and reset strap pulsed. |
| k_ra8_err_invalid_arg | PFS programming rejected an entry. |
Definition at line 696 of file ra8_board_ek_ra8d2.c.
References k_ra8_board_xspi_reset, k_ra8_board_xspi_reset_high_ms, k_ra8_board_xspi_reset_low_ms, k_ra8_level_high, k_ra8_level_low, k_ra8_ok, k_ra8_psel_qspi, ra8_delay_ms(), ra8_gpio_output_init(), ra8_gpio_write(), ra8_pfs_route_peripheral(), and s_xspi_octa_pins.
Referenced by demo_run(), flash_journal_setup_or_halt(), internal_bus_init_once(), ospirw_ospi_provision(), and selftest_ospi_provision().
| const uint32_t g_ra8_board_glcdc_rgb565_pin_count |
Definition at line 396 of file ra8_board_ek_ra8d2.c.
Referenced by ra8_board_glcdc_init().
| const ra8_board_glcdc_pin_t g_ra8_board_glcdc_rgb565_pins[] |
RGB565-mode pin table for J1 (UM Table 33 p 42).
RGB565 uses 5+6+5 = 16 active data lines. R6/R7 + G6/G7 are NC, and DATA31..DATA38 (R0..R7 lines) are NC. Same control pins as RGB888.
Definition at line 362 of file ra8_board_ek_ra8d2.c.
Referenced by ra8_board_glcdc_init().
| const uint32_t g_ra8_board_glcdc_rgb666_pin_count |
Definition at line 394 of file ra8_board_ek_ra8d2.c.
Referenced by ra8_board_glcdc_init().
| const ra8_board_glcdc_pin_t g_ra8_board_glcdc_rgb666_pins[] |
RGB666-mode pin table for J1 (UM Table 33 p 42).
In RGB666 the lowest two bits of each colour channel (R0, R1, G0, G1, B0, B1) are not driven (board ties them off internally), so the table omits the DATA0..DATA3 + DATA8..DATA9 + DATA16..DATA17 lines and drops DATA22..DATA23 (R6/R7) which are NC in RGB666.
Definition at line 321 of file ra8_board_ek_ra8d2.c.
Referenced by ra8_board_glcdc_init().
| const uint32_t g_ra8_board_glcdc_rgb888_pin_count |
Number of entries in each per-format pin table.
Definition at line 392 of file ra8_board_ek_ra8d2.c.
Referenced by ra8_board_glcdc_init().
| const ra8_board_glcdc_pin_t g_ra8_board_glcdc_rgb888_pins[] |
RGB888-mode pin table for J1 (UM Table 33 p 42).
Pin tables for J1 in each pixel format (UM Table 33 p 42).
Common control + data lines routed when J1 is driven in 24-bit RGB888 mode. Order matches the UM table (J1-1..J1-38).
Definition at line 239 of file ra8_board_ek_ra8d2.c.
Referenced by ra8_board_glcdc_init().
| const char* const k_ra8_board_doc_rev = "R20UT5523EG0101 Rev 1.01" |
"R20UT5523EG0101 Rev 1.01".
"R01UH1064EJ (chip HUM)".
Definition at line 47 of file ra8_board_ek_ra8d2.c.
| const char* const k_ra8_board_mcu = "R7KA8D2KFLCAC" |
| const char* const k_ra8_board_name = "EK-RA8D2 v1" |
Human-readable strings identifying this BSP target.
Returned by ra8_board_get_info() so applications can log / verify the board they were built for. All three are ASCII string literals with permanent storage duration. "EK-RA8D2 v1".
Definition at line 46 of file ra8_board_ek_ra8d2.c.
|
static |
Lookup table from ra8_board_led_id_t to ra8_port_pin_t.
Index by ra8_board_led_id_t (LED1=0, LED2=1, LED3=2). Entries come straight from EK-RA8D2 UM Table 24 p 31.
Definition at line 73 of file ra8_board_ek_ra8d2.c.
Referenced by ra8_board_led_pin().
|
static |
Lookup table for the eight SDHI0 bus pins routed to PSEL=0x15.
Bus order: CMD, CLK, DAT0..DAT3, WP, CD. The pin enums are uint16_t encodings of (port << 8) | pin – compatible with the ra8_port_pin_t value space. Source: chip HUM Ch 20.6 "Multiplexed Pin Function Selector" SDHI pin group (the EK-RA8D2 v1 board has no on-board micro-SD socket – see the
The ra8_port_pin_t enum only enumerates the convenience k_ra8_pin_led* aliases; raw RA8_PIN()-derived values are valid data-space members but trigger the EnumCastOutOfRange checker, so the cast cluster is wrapped in a lint-suppression region matching the board-pin convention used throughout this BSP.
Definition at line 752 of file ra8_board_ek_ra8d2.c.
Referenced by ra8_board_sdhi_pins_init().
|
static |
Lookup table from ra8_board_sw_id_t to ICU IRQ channel.
Definition at line 148 of file ra8_board_ek_ra8d2.c.
Referenced by ra8_board_sw_attach_irq().
|
static |
Lookup table from ra8_board_sw_id_t to ra8_port_pin_t.
SW1 -> P009, SW2 -> P008. Per UM Table 25 p 32.
Definition at line 142 of file ra8_board_ek_ra8d2.c.
Referenced by ra8_board_sw_pin().
|
static |
Lookup table for the 12 OCTA bus pins routed to PSEL=0x1C.
Order: CS, CK, DQS, DQ0..DQ7. The pin enums are uint16_t encodings of (port << 8) | pin – compatible with ra8_port_pin_t value space. The RESET_L pin is intentionally NOT in this table: it is driven by the GPIO subsystem (active-low strap, not a peripheral function). Source: EK-RA8D2 UM Table 29 "Octo-SPI Flash Assignments" p 35.
The ra8_port_pin_t enum only enumerates the convenience k_ra8_pin_led* aliases; raw RA8_PIN()-derived values are valid data-space members but trigger the EnumCastOutOfRange checker, so the cast cluster is wrapped in a lint-suppression region matching the board-pin convention used throughout this BSP.
Definition at line 657 of file ra8_board_ek_ra8d2.c.
Referenced by ra8_board_xspi_pins_init().