pub struct RISCV_CFG { /* private fields */ }Expand description
RISC-V System Configuration
Implementations§
Source§impl RISCV_CFG
impl RISCV_CFG
Sourcepub const PTR: *const RegisterBlock
pub const PTR: *const RegisterBlock
Pointer to the register block
Sourcepub const fn ptr() -> *const RegisterBlock
pub const fn ptr() -> *const RegisterBlock
Return the pointer to the register block
Sourcepub unsafe fn steal() -> Self
pub unsafe fn steal() -> Self
Steal an instance of this peripheral
§Safety
Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.
Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.
Methods from Deref<Target = RegisterBlock>§
Sourcepub fn riscv_sta_add0(&self) -> &RISCV_STA_ADD0
pub fn riscv_sta_add0(&self) -> &RISCV_STA_ADD0
0x04 - RISCV Start Address0 Register
Sourcepub fn riscv_sta_add1(&self) -> &RISCV_STA_ADD1
pub fn riscv_sta_add1(&self) -> &RISCV_STA_ADD1
0x08 - RISCV Start Address1 Register
Sourcepub fn wakeup_mask(&self, n: usize) -> &WAKEUP_MASK
pub fn wakeup_mask(&self, n: usize) -> &WAKEUP_MASK
0x24..0x38 - Wakeup Mask Register
Sourcepub fn ts_tmode_sel(&self) -> &TS_TMODE_SEL
pub fn ts_tmode_sel(&self) -> &TS_TMODE_SEL
0x40 - Timestamp Test Mode Select Register
Sourcepub fn sram_addr_twist(&self) -> &SRAM_ADDR_TWIST
pub fn sram_addr_twist(&self) -> &SRAM_ADDR_TWIST
0x44 - SRAM Address Twist Register
Sourcepub fn retite_pc0(&self) -> &RETITE_PC0
pub fn retite_pc0(&self) -> &RETITE_PC0
0x50 - Retire PC0 Register
Sourcepub fn retite_pc1(&self) -> &RETITE_PC1
pub fn retite_pc1(&self) -> &RETITE_PC1
0x54 - Retire PC1 Register
Sourcepub fn riscv_axi_pmu_ctrl(&self) -> &RISCV_AXI_PMU_CTRL
pub fn riscv_axi_pmu_ctrl(&self) -> &RISCV_AXI_PMU_CTRL
0x104 - RISCV AXI PMU Control Register
Sourcepub fn riscv_axi_pmu_prd(&self) -> &RISCV_AXI_PMU_PRD
pub fn riscv_axi_pmu_prd(&self) -> &RISCV_AXI_PMU_PRD
0x108 - RISCV AXI PMU Period Register
Sourcepub fn riscv_axi_pmu_lat_rd(&self) -> &RISCV_AXI_PMU_LAT_RD
pub fn riscv_axi_pmu_lat_rd(&self) -> &RISCV_AXI_PMU_LAT_RD
0x10c - RISCV AXI PMU Read Latency Register
Sourcepub fn riscv_axi_pmu_lat_wr(&self) -> &RISCV_AXI_PMU_LAT_WR
pub fn riscv_axi_pmu_lat_wr(&self) -> &RISCV_AXI_PMU_LAT_WR
0x110 - RISCV AXI PMU Write Latency Register
Sourcepub fn riscv_axi_pmu_req_rd(&self) -> &RISCV_AXI_PMU_REQ_RD
pub fn riscv_axi_pmu_req_rd(&self) -> &RISCV_AXI_PMU_REQ_RD
0x114 - RISCV AXI PMU Read Request Register
Sourcepub fn riscv_axi_pmu_req_wr(&self) -> &RISCV_AXI_PMU_REQ_WR
pub fn riscv_axi_pmu_req_wr(&self) -> &RISCV_AXI_PMU_REQ_WR
0x118 - RISCV AXI PMU Write Request Register
Sourcepub fn riscv_axi_pmu_bw_rd(&self) -> &RISCV_AXI_PMU_BW_RD
pub fn riscv_axi_pmu_bw_rd(&self) -> &RISCV_AXI_PMU_BW_RD
0x11c - RISCV AXI PMU Read Bandwidth Register
Sourcepub fn riscv_axi_pmu_bw_wr(&self) -> &RISCV_AXI_PMU_BW_WR
pub fn riscv_axi_pmu_bw_wr(&self) -> &RISCV_AXI_PMU_BW_WR
0x120 - RISCV AXI PMU Write Bandwidth Register