pub struct RegisterBlock { /* private fields */ }Expand description
Register block
Implementations§
Source§impl RegisterBlock
impl RegisterBlock
Sourcepub const fn iommu_reset(&self) -> &IOMMU_RESET
pub const fn iommu_reset(&self) -> &IOMMU_RESET
0x10 - IOMMU Reset Register
Sourcepub const fn iommu_enable(&self) -> &IOMMU_ENABLE
pub const fn iommu_enable(&self) -> &IOMMU_ENABLE
0x20 - IOMMU Enable Register
Sourcepub const fn iommu_bypass(&self) -> &IOMMU_BYPASS
pub const fn iommu_bypass(&self) -> &IOMMU_BYPASS
0x30 - IOMMU Bypass Register
Sourcepub const fn iommu_auto_gating(&self) -> &IOMMU_AUTO_GATING
pub const fn iommu_auto_gating(&self) -> &IOMMU_AUTO_GATING
0x40 - IOMMU Auto Gating Register
Sourcepub const fn iommu_wbuf_ctrl(&self) -> &IOMMU_WBUF_CTRL
pub const fn iommu_wbuf_ctrl(&self) -> &IOMMU_WBUF_CTRL
0x44 - IOMMU Write Buffer Control Register
Sourcepub const fn iommu_ooo_ctrl(&self) -> &IOMMU_OOO_CTRL
pub const fn iommu_ooo_ctrl(&self) -> &IOMMU_OOO_CTRL
0x48 - IOMMU Out of Order Control Register
Sourcepub const fn iommu_4kb_bdy_prt_ctrl(&self) -> &IOMMU_4KB_BDY_PRT_CTRL
pub const fn iommu_4kb_bdy_prt_ctrl(&self) -> &IOMMU_4KB_BDY_PRT_CTRL
0x4c - IOMMU 4KB Boundary Protect Control Register
Sourcepub const fn iommu_tlb_enable(&self) -> &IOMMU_TLB_ENABLE
pub const fn iommu_tlb_enable(&self) -> &IOMMU_TLB_ENABLE
0x60 - IOMMU TLB Enable Register
Sourcepub const fn iommu_tlb_prefetch(&self) -> &IOMMU_TLB_PREFETCH
pub const fn iommu_tlb_prefetch(&self) -> &IOMMU_TLB_PREFETCH
0x70 - IOMMU TLB Prefetch Register
Sourcepub const fn iommu_tlb_flush_enable(&self) -> &IOMMU_TLB_FLUSH_ENABLE
pub const fn iommu_tlb_flush_enable(&self) -> &IOMMU_TLB_FLUSH_ENABLE
0x80 - IOMMU TLB Flush Enable Register
Sourcepub const fn iommu_tlb_ivld_mode_sel(&self) -> &IOMMU_TLB_IVLD_MODE_SEL
pub const fn iommu_tlb_ivld_mode_sel(&self) -> &IOMMU_TLB_IVLD_MODE_SEL
0x84 - IOMMU TLB Invalidation Mode Select Register
Sourcepub const fn iommu_tlb_ivld_sta_addr(&self) -> &IOMMU_TLB_IVLD_STA_ADDR
pub const fn iommu_tlb_ivld_sta_addr(&self) -> &IOMMU_TLB_IVLD_STA_ADDR
0x88 - IOMMU TLB Invalidation Start Address Register
Sourcepub const fn iommu_tlb_ivld_end_addr(&self) -> &IOMMU_TLB_IVLD_END_ADDR
pub const fn iommu_tlb_ivld_end_addr(&self) -> &IOMMU_TLB_IVLD_END_ADDR
0x8c - IOMMU TLB Invalidation End Address Register
Sourcepub const fn iommu_tlb_ivld_addr(&self) -> &IOMMU_TLB_IVLD_ADDR
pub const fn iommu_tlb_ivld_addr(&self) -> &IOMMU_TLB_IVLD_ADDR
0x90 - IOMMU TLB Invalidation Address Register
Sourcepub const fn iommu_tlb_ivld_addr_mask(&self) -> &IOMMU_TLB_IVLD_ADDR_MASK
pub const fn iommu_tlb_ivld_addr_mask(&self) -> &IOMMU_TLB_IVLD_ADDR_MASK
0x94 - IOMMU TLB Invalidation Address Mask Register
Sourcepub const fn iommu_tlb_ivld_enable(&self) -> &IOMMU_TLB_IVLD_ENABLE
pub const fn iommu_tlb_ivld_enable(&self) -> &IOMMU_TLB_IVLD_ENABLE
0x98 - IOMMU TLB Invalidation Enable Register
Sourcepub const fn iommu_pc_ivld_mode_sel(&self) -> &IOMMU_PC_IVLD_MODE_SEL
pub const fn iommu_pc_ivld_mode_sel(&self) -> &IOMMU_PC_IVLD_MODE_SEL
0x9c - IOMMU PC Invalidation Mode Select Register
Sourcepub const fn iommu_pc_ivld_addr(&self) -> &IOMMU_PC_IVLD_ADDR
pub const fn iommu_pc_ivld_addr(&self) -> &IOMMU_PC_IVLD_ADDR
0xa0 - IOMMU PC Invalidation Address Register
Sourcepub const fn iommu_pc_ivld_sta_addr(&self) -> &IOMMU_PC_IVLD_STA_ADDR
pub const fn iommu_pc_ivld_sta_addr(&self) -> &IOMMU_PC_IVLD_STA_ADDR
0xa4 - IOMMU PC Invalidation Start Address Register
Sourcepub const fn iommu_pc_ivld_enable(&self) -> &IOMMU_PC_IVLD_ENABLE
pub const fn iommu_pc_ivld_enable(&self) -> &IOMMU_PC_IVLD_ENABLE
0xa8 - IOMMU PC Invalidation Enable Register
Sourcepub const fn iommu_pc_ivld_end_addr(&self) -> &IOMMU_PC_IVLD_END_ADDR
pub const fn iommu_pc_ivld_end_addr(&self) -> &IOMMU_PC_IVLD_END_ADDR
0xac - IOMMU PC Invalidation End Address Register
Sourcepub const fn iommu_dm_aut_ctrl(&self, n: usize) -> &IOMMU_DM_AUT_CTRL
pub const fn iommu_dm_aut_ctrl(&self, n: usize) -> &IOMMU_DM_AUT_CTRL
0xb0..0xd0 - IOMMU Domain Authority Control [i] Register
Software can set 15 different permission control types in IOMMU_DM_AUT_CTRL0-7. A default access control type is DOMAIN0. The read/write operation of DOMAIN1-15 is unlimited by default.
Software needs to set the index of the permission control domain corresponding to the page table item in the bit[7:4] of the Level2 page table, the default value is 0 (use domain 0), that is, the read/write operation is not controlled.
Setting REG_ARD_OVWT can mask the Domain control defined by IOMMU_DM_AUT_CTRL0-7. All Level2 page table type are covered by the type of REG_ARD_OVWT. The read/write operation is permitted by default.
Sourcepub const fn iommu_dm_aut_ovwt(&self) -> &IOMMU_DM_AUT_OVWT
pub const fn iommu_dm_aut_ovwt(&self) -> &IOMMU_DM_AUT_OVWT
0xd0 - IOMMU Domain Authority Overwrite Register
Sourcepub const fn iommu_int_enable(&self) -> &IOMMU_INT_ENABLE
pub const fn iommu_int_enable(&self) -> &IOMMU_INT_ENABLE
0x100 - IOMMU Interrupt Enable Register
Sourcepub const fn iommu_int_clr(&self) -> &IOMMU_INT_CLR
pub const fn iommu_int_clr(&self) -> &IOMMU_INT_CLR
0x104 - IOMMU Interrupt Clear Register
Sourcepub const fn iommu_int_sta(&self) -> &IOMMU_INT_STA
pub const fn iommu_int_sta(&self) -> &IOMMU_INT_STA
0x108 - IOMMU Interrupt Status Register
Sourcepub const fn iommu_int_err_addr_tlb(&self, n: usize) -> &IOMMU_INT_ERR_ADDR_TLB
pub const fn iommu_int_err_addr_tlb(&self, n: usize) -> &IOMMU_INT_ERR_ADDR_TLB
0x110..0x12c - IOMMU Interrupt Error Address [i]
Sourcepub const fn iommu_int_err_addr_l(&self, n: usize) -> &IOMMU_INT_ERR_ADDR_L
pub const fn iommu_int_err_addr_l(&self, n: usize) -> &IOMMU_INT_ERR_ADDR_L
0x130..0x138 - IOMMU Interrupt Error Address L[i]
Sourcepub const fn iommu_int_err_data_tlb(&self, n: usize) -> &IOMMU_INT_ERR_DATA_TLB
pub const fn iommu_int_err_data_tlb(&self, n: usize) -> &IOMMU_INT_ERR_DATA_TLB
0x150..0x16c - IOMMU Interrupt Error Data [i] Register
Sourcepub const fn iommu_int_err_data_l(&self, n: usize) -> &IOMMU_INT_ERR_DATA_L
pub const fn iommu_int_err_data_l(&self, n: usize) -> &IOMMU_INT_ERR_DATA_L
0x170..0x178 - IOMMU Interrupt Error Data L[i] Register
Sourcepub const fn iommu_lpg_int(&self, n: usize) -> &IOMMU_LPG_INT
pub const fn iommu_lpg_int(&self, n: usize) -> &IOMMU_LPG_INT
0x180..0x188 - IOMMU L[i] Page Table Interrupt Register
Sourcepub const fn iommu_l0pg_int(&self) -> &IOMMU_LPG_INT
pub const fn iommu_l0pg_int(&self) -> &IOMMU_LPG_INT
0x180 - IOMMU L[i] Page Table Interrupt Register
Sourcepub const fn iommu_l1pg_int(&self) -> &IOMMU_LPG_INT
pub const fn iommu_l1pg_int(&self) -> &IOMMU_LPG_INT
0x184 - IOMMU L[i] Page Table Interrupt Register
Sourcepub const fn iommu_va_data(&self) -> &IOMMU_VA_DATA
pub const fn iommu_va_data(&self) -> &IOMMU_VA_DATA
0x194 - IOMMU Virtual Address Data Register
Sourcepub const fn iommu_va_config(&self) -> &IOMMU_VA_CONFIG
pub const fn iommu_va_config(&self) -> &IOMMU_VA_CONFIG
0x198 - IOMMU Virtual Address Configuration Register
Sourcepub const fn iommu_pmu_enable(&self) -> &IOMMU_PMU_ENABLE
pub const fn iommu_pmu_enable(&self) -> &IOMMU_PMU_ENABLE
0x200 - IOMMU PMU Enable Register
Sourcepub const fn iommu_pmu_clr(&self) -> &IOMMU_PMU_CLR
pub const fn iommu_pmu_clr(&self) -> &IOMMU_PMU_CLR
0x210 - IOMMU PMU Clear Register
Sourcepub const fn iommu_pmu_access_low(&self, n: usize) -> &IOMMU_PMU_ACCESS_LOW
pub const fn iommu_pmu_access_low(&self, n: usize) -> &IOMMU_PMU_ACCESS_LOW
0x230..0x254 - IOMMU PMU Access Low [i] Register
Sourcepub const fn iommu_pmu_access_high(&self, n: usize) -> &IOMMU_PMU_ACCESS_HIGH
pub const fn iommu_pmu_access_high(&self, n: usize) -> &IOMMU_PMU_ACCESS_HIGH
0x234..0x258 - IOMMU PMU Access High [i] Register
Sourcepub const fn iommu_pmu_hit_low(&self, n: usize) -> &IOMMU_PMU_HIT_LOW
pub const fn iommu_pmu_hit_low(&self, n: usize) -> &IOMMU_PMU_HIT_LOW
0x238..0x25c - IOMMU PMU Hit Low [i] Register
Sourcepub const fn iommu_pmu_hit_high(&self, n: usize) -> &IOMMU_PMU_HIT_HIGH
pub const fn iommu_pmu_hit_high(&self, n: usize) -> &IOMMU_PMU_HIT_HIGH
0x23c..0x260 - IOMMU PMU Hit High [i] Register
Sourcepub const fn iommu_pmu_tl_low(&self, n: usize) -> &IOMMU_PMU_TL_LOW
pub const fn iommu_pmu_tl_low(&self, n: usize) -> &IOMMU_PMU_TL_LOW
0x300..0x31c - IOMMU Total Latency Low [i] Register
Sourcepub const fn iommu_pmu_tl_high(&self, n: usize) -> &IOMMU_PMU_TL_HIGH
pub const fn iommu_pmu_tl_high(&self, n: usize) -> &IOMMU_PMU_TL_HIGH
0x304..0x320 - IOMMU Total Latency High [i] Register
Sourcepub const fn iommu_pmu_ml(&self, n: usize) -> &IOMMU_PMU_ML
pub const fn iommu_pmu_ml(&self, n: usize) -> &IOMMU_PMU_ML
0x308..0x324 - IOMMU Max Latency [i] Register