|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
System Control (SYSC) register layout for the Renesas RA8D2. More...
#include <stdint.h>Go to the source code of this file.
Functions | |
| static volatile uint32_t * | ra8_sys_vscr (void) |
| Get pointer to the 32-bit VSCR register (voltage scaling control). | |
| static volatile uint32_t * | ra8_sys_sckdivcr (void) |
| Get pointer to the 32-bit SCKDIVCR register. | |
| static volatile uint8_t * | ra8_sys_scickdivcr (void) |
| Get pointer to the 8-bit SCICKDIVCR register (SCICLK divider). | |
| static volatile uint8_t * | ra8_sys_scickcr (void) |
| Get pointer to the 8-bit SCICKCR register (SCICLK source select). | |
| static volatile uint8_t * | ra8_sys_sckscr (void) |
| Get pointer to the 8-bit SCKSCR register. | |
| static volatile uint8_t * | ra8_sys_hococr (void) |
| Get pointer to the 8-bit HOCOCR register. | |
| static volatile uint8_t * | ra8_sys_sosccr (void) |
| Get pointer to the 8-bit SOSCCR register (sub-clock oscillator stop). | |
| static volatile uint8_t * | ra8_sys_somcr (void) |
| Get pointer to the 8-bit SOMCR register (sub-clock oscillator mode). | |
| static volatile uint8_t * | ra8_sys_lococr (void) |
| Get pointer to the 8-bit LOCOCR register (LOCO stop control). | |
| static volatile uint8_t * | ra8_sys_moscwtcr (void) |
| Get pointer to the 8-bit MOSCWTCR register. | |
| static volatile uint32_t * | ra8_sys_pllccr (void) |
| Get pointer to the 32-bit PLLCCR register. | |
| static volatile uint16_t * | ra8_sys_pllccr2 (void) |
| Get pointer to the 16-bit PLLCCR2 register (PLL1 output dividers). | |
| static volatile uint32_t * | ra8_sys_pll2ccr (void) |
| Get pointer to the 32-bit PLL2CCR register (PLL2 input/mul/source). | |
| static volatile uint8_t * | ra8_sys_pll2cr (void) |
| Get pointer to the 8-bit PLL2CR register (PLL2 stop control). | |
| static volatile uint16_t * | ra8_sys_pll2ccr2 (void) |
| Get pointer to the 16-bit PLL2CCR2 register (PLL2 output dividers). | |
| static volatile uint8_t * | ra8_sys_oscsf (void) |
| Get pointer to the 8-bit OSCSF (oscillation stabilisation) register. | |
| static volatile uint8_t * | ra8_sys_pllcr (void) |
| Get pointer to the 8-bit PLLCR register (PLL enable/stop). | |
| static volatile uint16_t * | ra8_sys_sckdivcr2 (void) |
| Get pointer to the 16-bit SCKDIVCR2 register. | |
| static volatile uint32_t * | ra8_sys_rstsr1 (void) |
| Get pointer to the 32-bit RSTSR1 register. | |
| static volatile uint16_t * | ra8_sys_prcr (void) |
| Get pointer to the 16-bit PRCR register. | |
| static volatile uint8_t * | ra8_sys_rstsr0 (void) |
| Get pointer to the 8-bit RSTSR0 register. | |
| static volatile uint8_t * | ra8_sys_rstsr2 (void) |
| Get pointer to the 8-bit RSTSR2 register. | |
| static volatile uint8_t * | ra8_sys_usbckdivcr (void) |
| Get pointer to the 8-bit USBCKDIVCR (USB clock divider). | |
| static volatile uint8_t * | ra8_sys_usbckcr (void) |
| Get pointer to the 8-bit USBCKCR (USB-FS source select). | |
| static volatile uint8_t * | ra8_sys_usb60ckcr (void) |
| Get pointer to the 8-bit USB60CKCR (USBHS 60MHz source select). | |
| static volatile uint8_t * | ra8_sys_usb60ckdivcr (void) |
| Get pointer to the 8-bit USB60CKDIVCR (USBHS 60MHz divider). | |
| static volatile uint8_t * | ra8_sys_canfdckcr (void) |
| Get pointer to the 8-bit CANFDCKCR (CANFD core clock source select). | |
| static volatile uint8_t * | ra8_sys_canfdckdivcr (void) |
| Get pointer to the 8-bit CANFDCKDIVCR (CANFD core clock divider). | |
| static volatile uint8_t * | ra8_sys_octackcr (void) |
| Get pointer to the 8-bit OCTACKCR (Octal-SPI clock source select). | |
| static volatile uint8_t * | ra8_sys_octackdivcr (void) |
| Get pointer to the 8-bit OCTACKDIVCR (Octal-SPI clock divider). | |
| static volatile uint8_t * | ra8_sys_eswckcr (void) |
| Get pointer to the 8-bit ESWCKCR (Ethernet Switch / RMAC clock source). | |
| static volatile uint8_t * | ra8_sys_eswckdivcr (void) |
| Get pointer to the 8-bit ESWCKDIVCR (ESWCLK divider; 4-bit CKDIV field). | |
| static volatile uint8_t * | ra8_sys_eswpckcr (void) |
| Get pointer to the 8-bit ESWPCKCR (Ethernet-PHY clock source). | |
| static volatile uint8_t * | ra8_sys_eswpckdivcr (void) |
| Get pointer to the 8-bit ESWPCKDIVCR (ESWPHYCLK divider; 4-bit CKDIV field). | |
| static volatile uint8_t * | ra8_sys_pdctreswm (void) |
| Get pointer to the 8-bit PDCTRESWM (ESWM power-domain control). | |
| static void | ra8_sys_prcr_unlock_cgc (void) |
| Unlock the CGC + LVD protection group so CGC registers can be written. | |
| static void | ra8_sys_prcr_lock_all (void) |
| Re-lock every protection group (write password with all group bits clear). | |
System Control (SYSC) register layout for the Renesas RA8D2.
Covers the System Control block at 0x4001E000. The SYSC block owns reset-cause reporting, software reset, protection-register unlock, and (along with CGC) clock-source selection.
| Offset | Reg | Purpose |
|---|---|---|
| 0x020 | SCKDIVCR | System clock divider control |
| 0x026 | SCKSCR | System clock source select |
| 0x036 | HOCOCR | High-speed on-chip oscillator control |
| 0x0A2 | MOSCWTCR | Main clock oscillator wait control |
| 0x0AC | PLLCCR | PLL1 clock control |
| 0x0C0 | RSTSR1 | Reset status register 1 |
| 0x3FA | PRCR | Protection register (write with 0xA500 mask) |
| 0xA40 | RSTSR0 | Reset status register 0 |
| 0xA44 | RSTSR2 | Reset status register 2 |
The full R_SYSTEM block spans 3456 bytes and contains dozens of other registers (RAM wait-state control, LVD, temperature monitor, VBAT, etc.). We expose only the subset the firmware actually uses and add new fields as we need them. This keeps the header small and makes every extension an explicit, reviewed change.
Most CGC and LVD registers are protected. Write 0xA501 to unlock group 0 (CGC + LVD) before changing them, and 0xA500 to re-lock when done. The upper byte 0xA5 is the password; the low bit is the protection-enable for that group.
See the Hardware User's Manual section 12 ("Register Write Protection") for the full table.
Definition in file ra8_system_regs.h.
| enum ra8_eswckcr_bit_t : uint8_t |
Bit positions in ESWCKCR.
Definition at line 619 of file ra8_system_regs.h.
| enum ra8_eswcksel_t : uint8_t |
ESWCKCR.CKSEL source codes (RA8D2 mapping).
Layout matches USBCKCR / USB60CKCR – the CGC uses the same peripheral-clock-source enum for every CKSEL field. The Renesas FSP confirms this in bsp_clocks.c (single BSP_CLOCKS_SOURCE_CLOCK_* enum drives every peripheral clock select).
Definition at line 602 of file ra8_system_regs.h.
| enum ra8_lococr_bit_t : uint8_t |
Bit mask in LOCOCR (Low-Speed On-Chip Oscillator Control Register).
LCSTP at bit 0: write 0 to operate the internal ~32.768 kHz LOCO, 1 to stop it. Reset value is 0 (running), so the LOCO is normally already available as a crystal-free RTC count source (HUM Ch 9.2.15 "LOCOCR : Low-Speed On-Chip Oscillator Control Register" p 339).
| Enumerator | |
|---|---|
| k_ra8_lococr_lcstp_mask | LCSTP – 0 operates LOCO, 1 stops it. |
Definition at line 181 of file ra8_system_regs.h.
| enum ra8_moscr_bit_t : uint8_t |
Bit masks in MOSCCR (Main Clock Oscillator Control Register).
MOSTP at bit 0: write 0 to start the main oscillator, 1 to stop it (HUM Ch 9.2.13).
| Enumerator | |
|---|---|
| k_ra8_moscr_mostp_mask | MOSTP – 0 starts XTAL, 1 stops it. |
Definition at line 134 of file ra8_system_regs.h.
| enum ra8_oscsf_bit_t : uint8_t |
Oscillation Stabilization Flag bit positions.
Each bit is set by hardware when the corresponding oscillator has stabilised. The CGC driver polls these between starting an oscillator and using it as the system-clock source.
Definition at line 194 of file ra8_system_regs.h.
| enum ra8_pdctreswm_bit_t : uint8_t |
Bit positions in PDCTRESWM (ESWM power-domain control).
HUM Ch 9.2 "General Power Domain ESWM Control Register" + FSP R_SYSTEM_PDCTRESWM_PDDE_Pos. The PDDE bit is a write-1-to-DISABLE (counter-intuitive but matches the FSP comment "Turn on the domain power" by writing PDDE = 0). PDCSF / PDPGSF are read-only status flags that go to 0 once the requested transition completes.
Without PDDE = 0 the ESWM peripheral domain stays power-gated and the per-port RMAC / ETHA register windows read back 0 and silently drop every write – observed on EK-RA8D2 hardware.
| Enumerator | |
|---|---|
| k_ra8_pdctr_bit_pdde | 1 = power disabled, 0 = power enabled. |
| k_ra8_pdctr_bit_pdcsf | Read-only: power-control status flag. |
| k_ra8_pdctr_bit_pdpgsf | Read-only: power-gating status flag. |
Definition at line 691 of file ra8_system_regs.h.
| enum ra8_prcr_t : uint16_t |
Values to write to PRCR to unlock / lock protection groups.
k_ra8_prcr_key is the mandatory 0xA5 password in the upper byte. OR with one of the group bits to enable writes to that group (counter-intuitive – bit set = unlocked), then write back with the group bit cleared to relock.
Group membership is HUM Ch 13.1 Table 13.1 "Association between PRCR bits and use of registers to be protected" p 520-521; the bit positions are HUM Ch 13.2.1 "PRCR_S : Protect Register for Secure" p 522. Bit 2 and bits 7:6 are reserved (read as 0, write 0).
A write to a protected register while its group is locked is silently discarded – no fault, no status bit. Every driver that touches a register named in Table 13.1 must therefore wrap the write in RA8_PROTECTED_WRITE with the matching group, or it will appear to work and change nothing.
Definition at line 227 of file ra8_system_regs.h.
| enum ra8_rstsr0_bit_t : uint8_t |
Reset Status Register 0 bit positions.
Set by hardware when a reset of the corresponding cause occurred. Cleared by software (write 0 after unlocking PRCR group 0).
| Enumerator | |
|---|---|
| k_ra8_rstsr0_bit_porf | Power-on reset. |
| k_ra8_rstsr0_bit_lvd0 | Voltage-monitor 0 reset. |
| k_ra8_rstsr0_bit_lvd1 | Voltage-monitor 1 reset. |
| k_ra8_rstsr0_bit_lvd2 | Voltage-monitor 2 reset. |
Definition at line 260 of file ra8_system_regs.h.
| enum ra8_rstsr2_bit_t : uint8_t |
Reset Status Register 2 bit positions.
| Enumerator | |
|---|---|
| k_ra8_rstsr2_bit_cwsf | Cold / warm start flag. |
| k_ra8_rstsr2_bit_iwdtrf | IWDT reset. |
| k_ra8_rstsr2_bit_wdtrf | WDT reset. |
| k_ra8_rstsr2_bit_swrf | Software reset. |
Definition at line 271 of file ra8_system_regs.h.
| enum ra8_somcr_drv_t : uint8_t |
SOMCR.SODRV[1:0] sub-clock drive-capability codes.
Selects the drive strength feeding the 32.768 kHz crystal. Standard (12.5 pF) is the cold-reset default and matches the EK-RA8D2 watch crystal. SOMCR must be written while SOSCCR.SOSTP is 1 (SOSC stopped) (HUM Ch 9.2.29 "SOMCR : Sub-Clock Oscillator Mode Control Register" p 351).
| Enumerator | |
|---|---|
| k_ra8_somcr_drv_standard | Standard drive (12.5 pF). |
| k_ra8_somcr_drv_lp1 | Low-power mode 1 (9 pF). |
| k_ra8_somcr_drv_lp2 | Low-power mode 2 (7 pF). |
| k_ra8_somcr_drv_lp3 | Low-power mode 3 (4 pF). |
Definition at line 164 of file ra8_system_regs.h.
| enum ra8_sosccr_bit_t : uint8_t |
Bit mask in SOSCCR (Sub-Clock Oscillator Control Register).
SOSTP at bit 0: write 0 to operate the 32.768 kHz sub-clock crystal oscillator, 1 to stop it. Reset value is 1 (stopped). Set SOMCR before clearing SOSTP, then wait the sub-clock stabilization time (t_SUBOSCWT) before using the clock (HUM Ch 9.2.14 "SOSCCR : Sub-Clock Oscillator Control Register" p 339).
| Enumerator | |
|---|---|
| k_ra8_sosccr_sostp_mask | SOSTP – 0 operates SOSC, 1 stops it. |
Definition at line 149 of file ra8_system_regs.h.
| enum ra8_system_addr_t : uintptr_t |
| Enumerator | |
|---|---|
| k_ra8_system_base_addr | R_SYSTEM. |
Definition at line 58 of file ra8_system_regs.h.
| enum ra8_system_offset_t : uint16_t |
Definition at line 67 of file ra8_system_regs.h.
| enum ra8_usbckcr_bit_t : uint8_t |
USBCKCR / USB60CKCR bit positions (HUM Ch 9).
Cited from FSP CMSIS device header R7KA8D2KF_core0.h. USBCKSEL[3:0] selects the source clock; USBCKSREQ requests a switch; USBCKSRDY is the read-only handshake-done flag.
Definition at line 494 of file ra8_system_regs.h.
| enum ra8_usbcksel_t : uint8_t |
USBCKCR.USBCKSEL source codes (RA8D2 mapping).
Definition at line 505 of file ra8_system_regs.h.
| enum ra8_vscr_bit_t : uint32_t |
Bit masks in VSCR (Voltage Scaling Control Register).
On RA8 Gen2 silicon, software must drop the core to the "not high voltage" range (VSCM = 1) before lifting PLL1 above its default rate, then poll VSCMTSF until the transition completes (FSP bsp_clocks.c, FSP CMSIS device header R7KA8D2KF_core0.h).
Bit positions inside the 32-bit register:
| Enumerator | |
|---|---|
| k_ra8_vscr_bit_vscm | VSCM bit mask (write 1 = not-high-V). |
| k_ra8_vscr_bit_vscmtsf | VSCMTSF transition-in-flight mask. |
Definition at line 121 of file ra8_system_regs.h.
|
inlinestatic |
Get pointer to the 8-bit CANFDCKCR (CANFD core clock source select).
HUM Ch 9.2.46 "CANFDCKCR : CANFD Core Clock Control Register" p 366. Layout matches USBCKCR: CANFDCKSEL[3:0] at [3:0], CANFDCKSREQ at bit 6, CANFDCKSRDY at bit 7. Reset value 0x01 selects MOCO.
Definition at line 549 of file ra8_system_regs.h.
References k_ra8_sys_off_canfdckcr, and k_ra8_system_base_addr.
Referenced by internal_canfd_clock_block_init(), and internal_wait_canfdcksrdy().
|
inlinestatic |
Get pointer to the 8-bit CANFDCKDIVCR (CANFD core clock divider).
HUM Ch 9.2.41 "CANFDCKDIVCR : CANFD Core Clock Division Control Register" p 363. CANFDCKDIV[3:0] in bits [3:0].
Definition at line 560 of file ra8_system_regs.h.
References k_ra8_sys_off_canfdckdivcr, and k_ra8_system_base_addr.
Referenced by internal_canfd_clock_block_init().
|
inlinestatic |
Get pointer to the 8-bit ESWCKCR (Ethernet Switch / RMAC clock source).
HUM Ch 9.2 "ESWCKCR" – 8-bit register, layout identical to USB60CKCR:
The ESWCLK feeds the Ethernet Switch Module (ESWM) and the per-port RMAC PHY-management clock divider MPIC.PSMCS. Without a valid ESWCLK the MDC line never toggles at the rate the PHY expects (max 2.5 MHz for Clause-22).
Definition at line 640 of file ra8_system_regs.h.
References k_ra8_sys_off_eswckcr, and k_ra8_system_base_addr.
Referenced by internal_eswclk_program_cks().
|
inlinestatic |
Get pointer to the 8-bit ESWCKDIVCR (ESWCLK divider; 4-bit CKDIV field).
Definition at line 646 of file ra8_system_regs.h.
References k_ra8_sys_off_eswckdivcr, and k_ra8_system_base_addr.
Referenced by internal_eswclk_program_cks().
|
inlinestatic |
Get pointer to the 8-bit ESWPCKCR (Ethernet-PHY clock source).
ESWPHYCLK is the high-speed clock fed into the per-port RMAC pin pad timing (in addition to ESWCLK feeding the MDC divider). Without this clock running, the entire RMAC / ETHA register block reads back as 0 and writes are silently dropped – exactly the failure mode seen when only ESWCKCR is programmed but ESWPCKCR is left at its reset default of MOCO/1 ~= 8 MHz. Layout identical to ESWCKCR (same ra8_eswckcr_bit_t shifts and ra8_eswcksel_t source enum).
Definition at line 664 of file ra8_system_regs.h.
References k_ra8_sys_off_eswpckcr, and k_ra8_system_base_addr.
Referenced by internal_eswclk_program_cks().
|
inlinestatic |
Get pointer to the 8-bit ESWPCKDIVCR (ESWPHYCLK divider; 4-bit CKDIV field).
Definition at line 670 of file ra8_system_regs.h.
References k_ra8_sys_off_eswpckdivcr, and k_ra8_system_base_addr.
Referenced by internal_eswclk_program_cks().
|
inlinestatic |
Get pointer to the 8-bit HOCOCR register.
Definition at line 323 of file ra8_system_regs.h.
References k_ra8_sys_off_hococr, and k_ra8_system_base_addr.
Referenced by priv_ra8_cgc_ensure_hoco_running_for_usb_ck(), ra8_cgc_usbfs_clock_enable(), and ra8_cgc_use_hoco().
|
inlinestatic |
Get pointer to the 8-bit LOCOCR register (LOCO stop control).
Definition at line 341 of file ra8_system_regs.h.
References k_ra8_sys_off_lococr, and k_ra8_system_base_addr.
Referenced by internal_start_count_source().
|
inlinestatic |
Get pointer to the 8-bit MOSCWTCR register.
Definition at line 347 of file ra8_system_regs.h.
References k_ra8_sys_off_moscwtcr, and k_ra8_system_base_addr.
Referenced by internal_start_main_osc().
|
inlinestatic |
Get pointer to the 8-bit OCTACKCR (Octal-SPI clock source select).
HUM Ch 9.2.45 "OCTACKCR : Octal-SPI Clock Control Register" p 360. Layout matches USBCKCR / CANFDCKCR: OCTACKSEL[3:0] at [3:0], OCTACKSREQ at bit 6, OCTACKSRDY at bit 7. Reset value 0x01 selects MOCO. Per HUM Ch 11.2.7 MSTPCRB Note 3 (p 444) the OSPI MSTPB16 / MSTPB17 bits must be written AFTER OCTACLK is stable; the SREQ -> SRDY -> SREQ-clear handshake is the documented way to confirm stability.
Definition at line 576 of file ra8_system_regs.h.
References k_ra8_sys_off_octackcr, and k_ra8_system_base_addr.
Referenced by internal_wait_octacksrdy(), and internal_xspi_clock_block_init().
|
inlinestatic |
Get pointer to the 8-bit OCTACKDIVCR (Octal-SPI clock divider).
HUM Ch 9.2.40 "OCTACKDIVCR : Octal-SPI Clock Division Control Register" p 357. OCTACKDIV[3:0] in bits [3:0]; reset value 0 (/1).
Definition at line 586 of file ra8_system_regs.h.
References k_ra8_sys_off_octackdivcr, and k_ra8_system_base_addr.
Referenced by internal_xspi_clock_block_init().
|
inlinestatic |
Get pointer to the 8-bit OSCSF (oscillation stabilisation) register.
Definition at line 443 of file ra8_system_regs.h.
References k_ra8_sys_off_oscsf, and k_ra8_system_base_addr.
Referenced by internal_usb60ckcr_switch_to_pll2p_div4(), priv_ra8_cgc_wait_oscsf_clear(), priv_ra8_cgc_wait_oscsf_set(), and ra8_cgc_pll2_enable().
|
inlinestatic |
Get pointer to the 8-bit PDCTRESWM (ESWM power-domain control).
Definition at line 698 of file ra8_system_regs.h.
References k_ra8_sys_off_pdctreswm, and k_ra8_system_base_addr.
Referenced by internal_eswclk_power_on_domain(), and internal_wait_pdctreswm_clear().
|
inlinestatic |
Get pointer to the 32-bit PLL2CCR register (PLL2 input/mul/source).
PLL2CCR layout per RA8D2 HUM Ch 9.2.9 "PLL2CCR : PLL2 Clock Control Register" (offset 0x0C8, 32-bit access):
Note: this register on RA8D2 is 9-bit-MUL wide and located at offset 0x0C8 (NOT 0x048 as in older RA8M1 family parts). The previous accessor used the RA8M1 layout and silently dropped writes on real RA8D2 silicon.
Definition at line 389 of file ra8_system_regs.h.
References k_ra8_sys_off_pll2ccr, and k_ra8_system_base_addr.
Referenced by internal_pll2_program_protected().
|
inlinestatic |
Get pointer to the 16-bit PLL2CCR2 register (PLL2 output dividers).
PLL2CCR2 layout (HUM Ch 9.2.12 "PLL2CCR2 : PLL2 Clock Control Register 2", FSP R_SYSTEM_PLL2CCR2_PL2ODIVx_Pos):
Code-to-ratio map matches PLL1's ra8_plodiv_t (ratio - 1 for /1../6, /8 = 7, /9 = 8, /16 = 15).
Definition at line 436 of file ra8_system_regs.h.
References k_ra8_sys_off_pll2ccr2, and k_ra8_system_base_addr.
Referenced by internal_pll2_program_protected().
|
inlinestatic |
Get pointer to the 8-bit PLL2CR register (PLL2 stop control).
PLL2CR.PLL2STP at bit 0: write 1 to stop PLL2, 0 to run it (HUM Ch 9.2.11 "PLL2CR : PLL2 Control Register"; FSP R_SYSTEM_PLL2CR_PLL2STP_Pos).
Definition at line 410 of file ra8_system_regs.h.
References k_ra8_sys_off_pll2cr, and k_ra8_system_base_addr.
Referenced by internal_pll2_program_protected().
|
inlinestatic |
Get pointer to the 32-bit PLLCCR register.
Definition at line 353 of file ra8_system_regs.h.
References k_ra8_sys_off_pllccr, and k_ra8_system_base_addr.
Referenced by internal_program_and_start_pll1().
|
inlinestatic |
Get pointer to the 16-bit PLLCCR2 register (PLL1 output dividers).
Definition at line 359 of file ra8_system_regs.h.
References k_ra8_sys_off_pllccr2, and k_ra8_system_base_addr.
Referenced by internal_program_and_start_pll1().
|
inlinestatic |
Get pointer to the 8-bit PLLCR register (PLL enable/stop).
Definition at line 449 of file ra8_system_regs.h.
References k_ra8_sys_off_pllcr, and k_ra8_system_base_addr.
Referenced by internal_program_and_start_pll1(), and internal_stop_pll1().
|
inlinestatic |
Get pointer to the 16-bit PRCR register.
Definition at line 468 of file ra8_system_regs.h.
References k_ra8_sys_off_prcr, and k_ra8_system_base_addr.
Referenced by internal_lvd_demo_configure(), ra8_prot_scope_begin(), ra8_sys_prcr_lock_all(), and ra8_sys_prcr_unlock_cgc().
|
inlinestatic |
Re-lock every protection group (write password with all group bits clear).
See implementation.
Definition at line 741 of file ra8_system_regs.h.
References k_ra8_prcr_lock_all, and ra8_sys_prcr().
Referenced by internal_lvd_demo_configure(), and ra8_prot_scope_end().
|
inlinestatic |
Unlock the CGC + LVD protection group so CGC registers can be written.
Writes 0xA501 to PRCR. Paired with ra8_sys_prcr_lock_all() once the CGC programming sequence is complete.
Definition at line 725 of file ra8_system_regs.h.
References k_ra8_prcr_unlock_cgc, and ra8_sys_prcr().
|
inlinestatic |
Get pointer to the 8-bit RSTSR0 register.
Definition at line 474 of file ra8_system_regs.h.
References k_ra8_sys_off_rstsr0, and k_ra8_system_base_addr.
|
inlinestatic |
Get pointer to the 32-bit RSTSR1 register.
Definition at line 462 of file ra8_system_regs.h.
References k_ra8_sys_off_rstsr1, and k_ra8_system_base_addr.
|
inlinestatic |
Get pointer to the 8-bit RSTSR2 register.
Definition at line 480 of file ra8_system_regs.h.
References k_ra8_sys_off_rstsr2, and k_ra8_system_base_addr.
|
inlinestatic |
Get pointer to the 8-bit SCICKCR register (SCICLK source select).
Definition at line 311 of file ra8_system_regs.h.
References k_ra8_sys_off_scickcr, and k_ra8_system_base_addr.
Referenced by internal_route_sciclk().
|
inlinestatic |
Get pointer to the 8-bit SCICKDIVCR register (SCICLK divider).
Definition at line 304 of file ra8_system_regs.h.
References k_ra8_sys_off_scickdivcr, and k_ra8_system_base_addr.
Referenced by internal_route_sciclk().
|
inlinestatic |
Get pointer to the 32-bit SCKDIVCR register.
Definition at line 297 of file ra8_system_regs.h.
References k_ra8_sys_off_sckdivcr, and k_ra8_system_base_addr.
Referenced by cache_mpu_test_device_mmio(), internal_program_dividers(), and mpu_boot_test_device_mmio().
|
inlinestatic |
Get pointer to the 16-bit SCKDIVCR2 register.
Definition at line 455 of file ra8_system_regs.h.
References k_ra8_sys_off_sckdivcr2, and k_ra8_system_base_addr.
Referenced by internal_program_dividers().
|
inlinestatic |
Get pointer to the 8-bit SCKSCR register.
Definition at line 317 of file ra8_system_regs.h.
References k_ra8_sys_off_sckscr, and k_ra8_system_base_addr.
Referenced by internal_cgc_init_protected(), ra8_cgc_switch_pll1_target(), and ra8_cgc_use_hoco().
|
inlinestatic |
Get pointer to the 8-bit SOMCR register (sub-clock oscillator mode).
Definition at line 335 of file ra8_system_regs.h.
References k_ra8_sys_off_somcr, and k_ra8_system_base_addr.
Referenced by internal_start_count_source().
|
inlinestatic |
Get pointer to the 8-bit SOSCCR register (sub-clock oscillator stop).
Definition at line 329 of file ra8_system_regs.h.
References k_ra8_sys_off_sosccr, and k_ra8_system_base_addr.
Referenced by internal_start_count_source().
|
inlinestatic |
Get pointer to the 8-bit USB60CKCR (USBHS 60MHz source select).
Definition at line 530 of file ra8_system_regs.h.
References k_ra8_sys_off_usb60ckcr, and k_ra8_system_base_addr.
Referenced by internal_usb60ckcr_switch_to_pll2p_div4(), and internal_wait_usb60cksrdy().
|
inlinestatic |
Get pointer to the 8-bit USB60CKDIVCR (USBHS 60MHz divider).
Definition at line 537 of file ra8_system_regs.h.
References k_ra8_sys_off_usb60ckdivcr, and k_ra8_system_base_addr.
Referenced by internal_usb60ckcr_switch_to_pll2p_div4().
|
inlinestatic |
Get pointer to the 8-bit USBCKCR (USB-FS source select).
Definition at line 524 of file ra8_system_regs.h.
References k_ra8_sys_off_usbckcr, and k_ra8_system_base_addr.
Referenced by internal_usbckcr_switch_to_pll2p_div5(), and internal_wait_usbcksrdy().
|
inlinestatic |
Get pointer to the 8-bit USBCKDIVCR (USB clock divider).
Definition at line 517 of file ra8_system_regs.h.
References k_ra8_sys_off_usbckdivcr, and k_ra8_system_base_addr.
Referenced by internal_usbckcr_switch_to_pll2p_div5().
|
inlinestatic |
Get pointer to the 32-bit VSCR register (voltage scaling control).
Definition at line 291 of file ra8_system_regs.h.
References k_ra8_sys_off_vscr, and k_ra8_system_base_addr.
Referenced by internal_set_vscr_not_high_v().