1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 _reserved0: [u8; 0x10],
5 iommu_reset: IOMMU_RESET,
6 _reserved1: [u8; 0x0c],
7 iommu_enable: IOMMU_ENABLE,
8 _reserved2: [u8; 0x0c],
9 iommu_bypass: IOMMU_BYPASS,
10 _reserved3: [u8; 0x0c],
11 iommu_auto_gating: IOMMU_AUTO_GATING,
12 iommu_wbuf_ctrl: IOMMU_WBUF_CTRL,
13 iommu_ooo_ctrl: IOMMU_OOO_CTRL,
14 iommu_4kb_bdy_prt_ctrl: IOMMU_4KB_BDY_PRT_CTRL,
15 iommu_ttb: IOMMU_TTB,
16 _reserved8: [u8; 0x0c],
17 iommu_tlb_enable: IOMMU_TLB_ENABLE,
18 _reserved9: [u8; 0x0c],
19 iommu_tlb_prefetch: IOMMU_TLB_PREFETCH,
20 _reserved10: [u8; 0x0c],
21 iommu_tlb_flush_enable: IOMMU_TLB_FLUSH_ENABLE,
22 iommu_tlb_ivld_mode_sel: IOMMU_TLB_IVLD_MODE_SEL,
23 iommu_tlb_ivld_sta_addr: IOMMU_TLB_IVLD_STA_ADDR,
24 iommu_tlb_ivld_end_addr: IOMMU_TLB_IVLD_END_ADDR,
25 iommu_tlb_ivld_addr: IOMMU_TLB_IVLD_ADDR,
26 iommu_tlb_ivld_addr_mask: IOMMU_TLB_IVLD_ADDR_MASK,
27 iommu_tlb_ivld_enable: IOMMU_TLB_IVLD_ENABLE,
28 iommu_pc_ivld_mode_sel: IOMMU_PC_IVLD_MODE_SEL,
29 iommu_pc_ivld_addr: IOMMU_PC_IVLD_ADDR,
30 iommu_pc_ivld_sta_addr: IOMMU_PC_IVLD_STA_ADDR,
31 iommu_pc_ivld_enable: IOMMU_PC_IVLD_ENABLE,
32 iommu_pc_ivld_end_addr: IOMMU_PC_IVLD_END_ADDR,
33 iommu_dm_aut_ctrl: [IOMMU_DM_AUT_CTRL; 8],
34 iommu_dm_aut_ovwt: IOMMU_DM_AUT_OVWT,
35 _reserved24: [u8; 0x2c],
36 iommu_int_enable: IOMMU_INT_ENABLE,
37 iommu_int_clr: IOMMU_INT_CLR,
38 iommu_int_sta: IOMMU_INT_STA,
39 _reserved27: [u8; 0x04],
40 iommu_int_err_addr_tlb: [IOMMU_INT_ERR_ADDR_TLB; 7],
41 _reserved28: [u8; 0x04],
42 iommu_int_err_addr_l: [IOMMU_INT_ERR_ADDR_L; 2],
43 _reserved29: [u8; 0x18],
44 iommu_int_err_data_tlb: [IOMMU_INT_ERR_DATA_TLB; 7],
45 _reserved30: [u8; 0x04],
46 iommu_int_err_data_l: [IOMMU_INT_ERR_DATA_L; 2],
47 _reserved31: [u8; 0x08],
48 iommu_lpg_int: [IOMMU_LPG_INT; 2],
49 _reserved32: [u8; 0x08],
50 iommu_va: IOMMU_VA,
51 iommu_va_data: IOMMU_VA_DATA,
52 iommu_va_config: IOMMU_VA_CONFIG,
53 _reserved35: [u8; 0x64],
54 iommu_pmu_enable: IOMMU_PMU_ENABLE,
55 _reserved36: [u8; 0x0c],
56 iommu_pmu_clr: IOMMU_PMU_CLR,
57 _reserved37: [u8; 0x1c],
58 iommu_pmu_access_low: (),
59 _reserved38: [u8; 0x04],
60 iommu_pmu_access_high: (),
61 _reserved39: [u8; 0x04],
62 iommu_pmu_hit_low: (),
63 _reserved40: [u8; 0x04],
64 iommu_pmu_hit_high: (),
65 _reserved41: [u8; 0xc4],
66 iommu_pmu_tl_low: (),
67 _reserved42: [u8; 0x04],
68 iommu_pmu_tl_high: (),
69 _reserved43: [u8; 0x04],
70 iommu_pmu_ml: (),
71}
72impl RegisterBlock {
73 #[doc = "0x10 - IOMMU Reset Register"]
74 #[inline(always)]
75 pub const fn iommu_reset(&self) -> &IOMMU_RESET {
76 &self.iommu_reset
77 }
78 #[doc = "0x20 - IOMMU Enable Register"]
79 #[inline(always)]
80 pub const fn iommu_enable(&self) -> &IOMMU_ENABLE {
81 &self.iommu_enable
82 }
83 #[doc = "0x30 - IOMMU Bypass Register"]
84 #[inline(always)]
85 pub const fn iommu_bypass(&self) -> &IOMMU_BYPASS {
86 &self.iommu_bypass
87 }
88 #[doc = "0x40 - IOMMU Auto Gating Register"]
89 #[inline(always)]
90 pub const fn iommu_auto_gating(&self) -> &IOMMU_AUTO_GATING {
91 &self.iommu_auto_gating
92 }
93 #[doc = "0x44 - IOMMU Write Buffer Control Register"]
94 #[inline(always)]
95 pub const fn iommu_wbuf_ctrl(&self) -> &IOMMU_WBUF_CTRL {
96 &self.iommu_wbuf_ctrl
97 }
98 #[doc = "0x48 - IOMMU Out of Order Control Register"]
99 #[inline(always)]
100 pub const fn iommu_ooo_ctrl(&self) -> &IOMMU_OOO_CTRL {
101 &self.iommu_ooo_ctrl
102 }
103 #[doc = "0x4c - IOMMU 4KB Boundary Protect Control Register"]
104 #[inline(always)]
105 pub const fn iommu_4kb_bdy_prt_ctrl(&self) -> &IOMMU_4KB_BDY_PRT_CTRL {
106 &self.iommu_4kb_bdy_prt_ctrl
107 }
108 #[doc = "0x50 - IOMMU Translation Table Base Register"]
109 #[inline(always)]
110 pub const fn iommu_ttb(&self) -> &IOMMU_TTB {
111 &self.iommu_ttb
112 }
113 #[doc = "0x60 - IOMMU TLB Enable Register"]
114 #[inline(always)]
115 pub const fn iommu_tlb_enable(&self) -> &IOMMU_TLB_ENABLE {
116 &self.iommu_tlb_enable
117 }
118 #[doc = "0x70 - IOMMU TLB Prefetch Register"]
119 #[inline(always)]
120 pub const fn iommu_tlb_prefetch(&self) -> &IOMMU_TLB_PREFETCH {
121 &self.iommu_tlb_prefetch
122 }
123 #[doc = "0x80 - IOMMU TLB Flush Enable Register"]
124 #[inline(always)]
125 pub const fn iommu_tlb_flush_enable(&self) -> &IOMMU_TLB_FLUSH_ENABLE {
126 &self.iommu_tlb_flush_enable
127 }
128 #[doc = "0x84 - IOMMU TLB Invalidation Mode Select Register"]
129 #[inline(always)]
130 pub const fn iommu_tlb_ivld_mode_sel(&self) -> &IOMMU_TLB_IVLD_MODE_SEL {
131 &self.iommu_tlb_ivld_mode_sel
132 }
133 #[doc = "0x88 - IOMMU TLB Invalidation Start Address Register"]
134 #[inline(always)]
135 pub const fn iommu_tlb_ivld_sta_addr(&self) -> &IOMMU_TLB_IVLD_STA_ADDR {
136 &self.iommu_tlb_ivld_sta_addr
137 }
138 #[doc = "0x8c - IOMMU TLB Invalidation End Address Register"]
139 #[inline(always)]
140 pub const fn iommu_tlb_ivld_end_addr(&self) -> &IOMMU_TLB_IVLD_END_ADDR {
141 &self.iommu_tlb_ivld_end_addr
142 }
143 #[doc = "0x90 - IOMMU TLB Invalidation Address Register"]
144 #[inline(always)]
145 pub const fn iommu_tlb_ivld_addr(&self) -> &IOMMU_TLB_IVLD_ADDR {
146 &self.iommu_tlb_ivld_addr
147 }
148 #[doc = "0x94 - IOMMU TLB Invalidation Address Mask Register"]
149 #[inline(always)]
150 pub const fn iommu_tlb_ivld_addr_mask(&self) -> &IOMMU_TLB_IVLD_ADDR_MASK {
151 &self.iommu_tlb_ivld_addr_mask
152 }
153 #[doc = "0x98 - IOMMU TLB Invalidation Enable Register"]
154 #[inline(always)]
155 pub const fn iommu_tlb_ivld_enable(&self) -> &IOMMU_TLB_IVLD_ENABLE {
156 &self.iommu_tlb_ivld_enable
157 }
158 #[doc = "0x9c - IOMMU PC Invalidation Mode Select Register"]
159 #[inline(always)]
160 pub const fn iommu_pc_ivld_mode_sel(&self) -> &IOMMU_PC_IVLD_MODE_SEL {
161 &self.iommu_pc_ivld_mode_sel
162 }
163 #[doc = "0xa0 - IOMMU PC Invalidation Address Register"]
164 #[inline(always)]
165 pub const fn iommu_pc_ivld_addr(&self) -> &IOMMU_PC_IVLD_ADDR {
166 &self.iommu_pc_ivld_addr
167 }
168 #[doc = "0xa4 - IOMMU PC Invalidation Start Address Register"]
169 #[inline(always)]
170 pub const fn iommu_pc_ivld_sta_addr(&self) -> &IOMMU_PC_IVLD_STA_ADDR {
171 &self.iommu_pc_ivld_sta_addr
172 }
173 #[doc = "0xa8 - IOMMU PC Invalidation Enable Register"]
174 #[inline(always)]
175 pub const fn iommu_pc_ivld_enable(&self) -> &IOMMU_PC_IVLD_ENABLE {
176 &self.iommu_pc_ivld_enable
177 }
178 #[doc = "0xac - IOMMU PC Invalidation End Address Register"]
179 #[inline(always)]
180 pub const fn iommu_pc_ivld_end_addr(&self) -> &IOMMU_PC_IVLD_END_ADDR {
181 &self.iommu_pc_ivld_end_addr
182 }
183 #[doc = "0xb0..0xd0 - IOMMU Domain Authority Control \\[i\\] Register\n\nSoftware 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.\n\nSoftware 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.\n\nSetting 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."]
184 #[inline(always)]
185 pub const fn iommu_dm_aut_ctrl(&self, n: usize) -> &IOMMU_DM_AUT_CTRL {
186 &self.iommu_dm_aut_ctrl[n]
187 }
188 #[doc = "0xd0 - IOMMU Domain Authority Overwrite Register"]
189 #[inline(always)]
190 pub const fn iommu_dm_aut_ovwt(&self) -> &IOMMU_DM_AUT_OVWT {
191 &self.iommu_dm_aut_ovwt
192 }
193 #[doc = "0x100 - IOMMU Interrupt Enable Register"]
194 #[inline(always)]
195 pub const fn iommu_int_enable(&self) -> &IOMMU_INT_ENABLE {
196 &self.iommu_int_enable
197 }
198 #[doc = "0x104 - IOMMU Interrupt Clear Register"]
199 #[inline(always)]
200 pub const fn iommu_int_clr(&self) -> &IOMMU_INT_CLR {
201 &self.iommu_int_clr
202 }
203 #[doc = "0x108 - IOMMU Interrupt Status Register"]
204 #[inline(always)]
205 pub const fn iommu_int_sta(&self) -> &IOMMU_INT_STA {
206 &self.iommu_int_sta
207 }
208 #[doc = "0x110..0x12c - IOMMU Interrupt Error Address \\[i\\]"]
209 #[inline(always)]
210 pub const fn iommu_int_err_addr_tlb(&self, n: usize) -> &IOMMU_INT_ERR_ADDR_TLB {
211 &self.iommu_int_err_addr_tlb[n]
212 }
213 #[doc = "0x130..0x138 - IOMMU Interrupt Error Address L\\[i\\]"]
214 #[inline(always)]
215 pub const fn iommu_int_err_addr_l(&self, n: usize) -> &IOMMU_INT_ERR_ADDR_L {
216 &self.iommu_int_err_addr_l[n]
217 }
218 #[doc = "0x150..0x16c - IOMMU Interrupt Error Data \\[i\\] Register"]
219 #[inline(always)]
220 pub const fn iommu_int_err_data_tlb(&self, n: usize) -> &IOMMU_INT_ERR_DATA_TLB {
221 &self.iommu_int_err_data_tlb[n]
222 }
223 #[doc = "0x170..0x178 - IOMMU Interrupt Error Data L\\[i\\] Register"]
224 #[inline(always)]
225 pub const fn iommu_int_err_data_l(&self, n: usize) -> &IOMMU_INT_ERR_DATA_L {
226 &self.iommu_int_err_data_l[n]
227 }
228 #[doc = "0x180..0x188 - IOMMU L\\[i\\] Page Table Interrupt Register"]
229 #[inline(always)]
230 pub const fn iommu_lpg_int(&self, n: usize) -> &IOMMU_LPG_INT {
231 &self.iommu_lpg_int[n]
232 }
233 #[doc = "0x180 - IOMMU L\\[i\\] Page Table Interrupt Register"]
234 #[inline(always)]
235 pub const fn iommu_l0pg_int(&self) -> &IOMMU_LPG_INT {
236 self.iommu_lpg_int(0)
237 }
238 #[doc = "0x184 - IOMMU L\\[i\\] Page Table Interrupt Register"]
239 #[inline(always)]
240 pub const fn iommu_l1pg_int(&self) -> &IOMMU_LPG_INT {
241 self.iommu_lpg_int(1)
242 }
243 #[doc = "0x190 - IOMMU Virtual Address Register"]
244 #[inline(always)]
245 pub const fn iommu_va(&self) -> &IOMMU_VA {
246 &self.iommu_va
247 }
248 #[doc = "0x194 - IOMMU Virtual Address Data Register"]
249 #[inline(always)]
250 pub const fn iommu_va_data(&self) -> &IOMMU_VA_DATA {
251 &self.iommu_va_data
252 }
253 #[doc = "0x198 - IOMMU Virtual Address Configuration Register"]
254 #[inline(always)]
255 pub const fn iommu_va_config(&self) -> &IOMMU_VA_CONFIG {
256 &self.iommu_va_config
257 }
258 #[doc = "0x200 - IOMMU PMU Enable Register"]
259 #[inline(always)]
260 pub const fn iommu_pmu_enable(&self) -> &IOMMU_PMU_ENABLE {
261 &self.iommu_pmu_enable
262 }
263 #[doc = "0x210 - IOMMU PMU Clear Register"]
264 #[inline(always)]
265 pub const fn iommu_pmu_clr(&self) -> &IOMMU_PMU_CLR {
266 &self.iommu_pmu_clr
267 }
268 #[doc = "0x230..0x254 - IOMMU PMU Access Low \\[i\\] Register"]
269 #[inline(always)]
270 pub const fn iommu_pmu_access_low(&self, n: usize) -> &IOMMU_PMU_ACCESS_LOW {
271 #[allow(clippy::no_effect)]
272 [(); 9][n];
273 unsafe {
274 &*(self as *const Self)
275 .cast::<u8>()
276 .add(560)
277 .add(16 * n)
278 .cast()
279 }
280 }
281 #[doc = "0x234..0x258 - IOMMU PMU Access High \\[i\\] Register"]
282 #[inline(always)]
283 pub const fn iommu_pmu_access_high(&self, n: usize) -> &IOMMU_PMU_ACCESS_HIGH {
284 #[allow(clippy::no_effect)]
285 [(); 9][n];
286 unsafe {
287 &*(self as *const Self)
288 .cast::<u8>()
289 .add(564)
290 .add(16 * n)
291 .cast()
292 }
293 }
294 #[doc = "0x238..0x25c - IOMMU PMU Hit Low \\[i\\] Register"]
295 #[inline(always)]
296 pub const fn iommu_pmu_hit_low(&self, n: usize) -> &IOMMU_PMU_HIT_LOW {
297 #[allow(clippy::no_effect)]
298 [(); 9][n];
299 unsafe {
300 &*(self as *const Self)
301 .cast::<u8>()
302 .add(568)
303 .add(16 * n)
304 .cast()
305 }
306 }
307 #[doc = "0x23c..0x260 - IOMMU PMU Hit High \\[i\\] Register"]
308 #[inline(always)]
309 pub const fn iommu_pmu_hit_high(&self, n: usize) -> &IOMMU_PMU_HIT_HIGH {
310 #[allow(clippy::no_effect)]
311 [(); 9][n];
312 unsafe {
313 &*(self as *const Self)
314 .cast::<u8>()
315 .add(572)
316 .add(16 * n)
317 .cast()
318 }
319 }
320 #[doc = "0x300..0x31c - IOMMU Total Latency Low \\[i\\] Register"]
321 #[inline(always)]
322 pub const fn iommu_pmu_tl_low(&self, n: usize) -> &IOMMU_PMU_TL_LOW {
323 #[allow(clippy::no_effect)]
324 [(); 7][n];
325 unsafe {
326 &*(self as *const Self)
327 .cast::<u8>()
328 .add(768)
329 .add(16 * n)
330 .cast()
331 }
332 }
333 #[doc = "0x304..0x320 - IOMMU Total Latency High \\[i\\] Register"]
334 #[inline(always)]
335 pub const fn iommu_pmu_tl_high(&self, n: usize) -> &IOMMU_PMU_TL_HIGH {
336 #[allow(clippy::no_effect)]
337 [(); 7][n];
338 unsafe {
339 &*(self as *const Self)
340 .cast::<u8>()
341 .add(772)
342 .add(16 * n)
343 .cast()
344 }
345 }
346 #[doc = "0x308..0x324 - IOMMU Max Latency \\[i\\] Register"]
347 #[inline(always)]
348 pub const fn iommu_pmu_ml(&self, n: usize) -> &IOMMU_PMU_ML {
349 #[allow(clippy::no_effect)]
350 [(); 7][n];
351 unsafe {
352 &*(self as *const Self)
353 .cast::<u8>()
354 .add(776)
355 .add(16 * n)
356 .cast()
357 }
358 }
359}
360#[doc = "iommu_reset (rw) register accessor: IOMMU Reset Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_reset::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_reset::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_reset`] module"]
361pub type IOMMU_RESET = crate::Reg<iommu_reset::IOMMU_RESET_SPEC>;
362#[doc = "IOMMU Reset Register"]
363pub mod iommu_reset;
364#[doc = "iommu_enable (rw) register accessor: IOMMU Enable Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_enable::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_enable::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_enable`] module"]
365pub type IOMMU_ENABLE = crate::Reg<iommu_enable::IOMMU_ENABLE_SPEC>;
366#[doc = "IOMMU Enable Register"]
367pub mod iommu_enable;
368#[doc = "iommu_bypass (rw) register accessor: IOMMU Bypass Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_bypass::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_bypass::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_bypass`] module"]
369pub type IOMMU_BYPASS = crate::Reg<iommu_bypass::IOMMU_BYPASS_SPEC>;
370#[doc = "IOMMU Bypass Register"]
371pub mod iommu_bypass;
372#[doc = "iommu_auto_gating (rw) register accessor: IOMMU Auto Gating Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_auto_gating::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_auto_gating::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_auto_gating`] module"]
373pub type IOMMU_AUTO_GATING = crate::Reg<iommu_auto_gating::IOMMU_AUTO_GATING_SPEC>;
374#[doc = "IOMMU Auto Gating Register"]
375pub mod iommu_auto_gating;
376#[doc = "iommu_wbuf_ctrl (rw) register accessor: IOMMU Write Buffer Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_wbuf_ctrl::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_wbuf_ctrl::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_wbuf_ctrl`] module"]
377pub type IOMMU_WBUF_CTRL = crate::Reg<iommu_wbuf_ctrl::IOMMU_WBUF_CTRL_SPEC>;
378#[doc = "IOMMU Write Buffer Control Register"]
379pub mod iommu_wbuf_ctrl;
380#[doc = "iommu_ooo_ctrl (rw) register accessor: IOMMU Out of Order Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_ooo_ctrl::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_ooo_ctrl::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_ooo_ctrl`] module"]
381pub type IOMMU_OOO_CTRL = crate::Reg<iommu_ooo_ctrl::IOMMU_OOO_CTRL_SPEC>;
382#[doc = "IOMMU Out of Order Control Register"]
383pub mod iommu_ooo_ctrl;
384#[doc = "iommu_4kb_bdy_prt_ctrl (rw) register accessor: IOMMU 4KB Boundary Protect Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_4kb_bdy_prt_ctrl::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_4kb_bdy_prt_ctrl::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_4kb_bdy_prt_ctrl`] module"]
385pub type IOMMU_4KB_BDY_PRT_CTRL = crate::Reg<iommu_4kb_bdy_prt_ctrl::IOMMU_4KB_BDY_PRT_CTRL_SPEC>;
386#[doc = "IOMMU 4KB Boundary Protect Control Register"]
387pub mod iommu_4kb_bdy_prt_ctrl;
388#[doc = "iommu_ttb (rw) register accessor: IOMMU Translation Table Base Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_ttb::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_ttb::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_ttb`] module"]
389pub type IOMMU_TTB = crate::Reg<iommu_ttb::IOMMU_TTB_SPEC>;
390#[doc = "IOMMU Translation Table Base Register"]
391pub mod iommu_ttb;
392#[doc = "iommu_tlb_enable (rw) register accessor: IOMMU TLB Enable Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_tlb_enable::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_tlb_enable::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_tlb_enable`] module"]
393pub type IOMMU_TLB_ENABLE = crate::Reg<iommu_tlb_enable::IOMMU_TLB_ENABLE_SPEC>;
394#[doc = "IOMMU TLB Enable Register"]
395pub mod iommu_tlb_enable;
396#[doc = "iommu_tlb_prefetch (rw) register accessor: IOMMU TLB Prefetch Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_tlb_prefetch::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_tlb_prefetch::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_tlb_prefetch`] module"]
397pub type IOMMU_TLB_PREFETCH = crate::Reg<iommu_tlb_prefetch::IOMMU_TLB_PREFETCH_SPEC>;
398#[doc = "IOMMU TLB Prefetch Register"]
399pub mod iommu_tlb_prefetch;
400#[doc = "iommu_tlb_flush_enable (rw) register accessor: IOMMU TLB Flush Enable Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_tlb_flush_enable::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_tlb_flush_enable::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_tlb_flush_enable`] module"]
401pub type IOMMU_TLB_FLUSH_ENABLE = crate::Reg<iommu_tlb_flush_enable::IOMMU_TLB_FLUSH_ENABLE_SPEC>;
402#[doc = "IOMMU TLB Flush Enable Register"]
403pub mod iommu_tlb_flush_enable;
404#[doc = "iommu_tlb_ivld_mode_sel (rw) register accessor: IOMMU TLB Invalidation Mode Select Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_tlb_ivld_mode_sel::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_tlb_ivld_mode_sel::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_tlb_ivld_mode_sel`] module"]
405pub type IOMMU_TLB_IVLD_MODE_SEL =
406 crate::Reg<iommu_tlb_ivld_mode_sel::IOMMU_TLB_IVLD_MODE_SEL_SPEC>;
407#[doc = "IOMMU TLB Invalidation Mode Select Register"]
408pub mod iommu_tlb_ivld_mode_sel;
409#[doc = "iommu_tlb_ivld_sta_addr (rw) register accessor: IOMMU TLB Invalidation Start Address Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_tlb_ivld_sta_addr::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_tlb_ivld_sta_addr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_tlb_ivld_sta_addr`] module"]
410pub type IOMMU_TLB_IVLD_STA_ADDR =
411 crate::Reg<iommu_tlb_ivld_sta_addr::IOMMU_TLB_IVLD_STA_ADDR_SPEC>;
412#[doc = "IOMMU TLB Invalidation Start Address Register"]
413pub mod iommu_tlb_ivld_sta_addr;
414#[doc = "iommu_tlb_ivld_end_addr (rw) register accessor: IOMMU TLB Invalidation End Address Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_tlb_ivld_end_addr::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_tlb_ivld_end_addr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_tlb_ivld_end_addr`] module"]
415pub type IOMMU_TLB_IVLD_END_ADDR =
416 crate::Reg<iommu_tlb_ivld_end_addr::IOMMU_TLB_IVLD_END_ADDR_SPEC>;
417#[doc = "IOMMU TLB Invalidation End Address Register"]
418pub mod iommu_tlb_ivld_end_addr;
419#[doc = "iommu_tlb_ivld_addr (rw) register accessor: IOMMU TLB Invalidation Address Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_tlb_ivld_addr::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_tlb_ivld_addr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_tlb_ivld_addr`] module"]
420pub type IOMMU_TLB_IVLD_ADDR = crate::Reg<iommu_tlb_ivld_addr::IOMMU_TLB_IVLD_ADDR_SPEC>;
421#[doc = "IOMMU TLB Invalidation Address Register"]
422pub mod iommu_tlb_ivld_addr;
423#[doc = "iommu_tlb_ivld_addr_mask (rw) register accessor: IOMMU TLB Invalidation Address Mask Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_tlb_ivld_addr_mask::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_tlb_ivld_addr_mask::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_tlb_ivld_addr_mask`] module"]
424pub type IOMMU_TLB_IVLD_ADDR_MASK =
425 crate::Reg<iommu_tlb_ivld_addr_mask::IOMMU_TLB_IVLD_ADDR_MASK_SPEC>;
426#[doc = "IOMMU TLB Invalidation Address Mask Register"]
427pub mod iommu_tlb_ivld_addr_mask;
428#[doc = "iommu_tlb_ivld_enable (rw) register accessor: IOMMU TLB Invalidation Enable Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_tlb_ivld_enable::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_tlb_ivld_enable::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_tlb_ivld_enable`] module"]
429pub type IOMMU_TLB_IVLD_ENABLE = crate::Reg<iommu_tlb_ivld_enable::IOMMU_TLB_IVLD_ENABLE_SPEC>;
430#[doc = "IOMMU TLB Invalidation Enable Register"]
431pub mod iommu_tlb_ivld_enable;
432#[doc = "iommu_pc_ivld_mode_sel (rw) register accessor: IOMMU PC Invalidation Mode Select Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_pc_ivld_mode_sel::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_pc_ivld_mode_sel::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_pc_ivld_mode_sel`] module"]
433pub type IOMMU_PC_IVLD_MODE_SEL = crate::Reg<iommu_pc_ivld_mode_sel::IOMMU_PC_IVLD_MODE_SEL_SPEC>;
434#[doc = "IOMMU PC Invalidation Mode Select Register"]
435pub mod iommu_pc_ivld_mode_sel;
436#[doc = "iommu_pc_ivld_addr (rw) register accessor: IOMMU PC Invalidation Address Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_pc_ivld_addr::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_pc_ivld_addr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_pc_ivld_addr`] module"]
437pub type IOMMU_PC_IVLD_ADDR = crate::Reg<iommu_pc_ivld_addr::IOMMU_PC_IVLD_ADDR_SPEC>;
438#[doc = "IOMMU PC Invalidation Address Register"]
439pub mod iommu_pc_ivld_addr;
440#[doc = "iommu_pc_ivld_sta_addr (rw) register accessor: IOMMU PC Invalidation Start Address Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_pc_ivld_sta_addr::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_pc_ivld_sta_addr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_pc_ivld_sta_addr`] module"]
441pub type IOMMU_PC_IVLD_STA_ADDR = crate::Reg<iommu_pc_ivld_sta_addr::IOMMU_PC_IVLD_STA_ADDR_SPEC>;
442#[doc = "IOMMU PC Invalidation Start Address Register"]
443pub mod iommu_pc_ivld_sta_addr;
444#[doc = "iommu_pc_ivld_enable (rw) register accessor: IOMMU PC Invalidation Enable Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_pc_ivld_enable::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_pc_ivld_enable::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_pc_ivld_enable`] module"]
445pub type IOMMU_PC_IVLD_ENABLE = crate::Reg<iommu_pc_ivld_enable::IOMMU_PC_IVLD_ENABLE_SPEC>;
446#[doc = "IOMMU PC Invalidation Enable Register"]
447pub mod iommu_pc_ivld_enable;
448#[doc = "iommu_pc_ivld_end_addr (rw) register accessor: IOMMU PC Invalidation End Address Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_pc_ivld_end_addr::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_pc_ivld_end_addr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_pc_ivld_end_addr`] module"]
449pub type IOMMU_PC_IVLD_END_ADDR = crate::Reg<iommu_pc_ivld_end_addr::IOMMU_PC_IVLD_END_ADDR_SPEC>;
450#[doc = "IOMMU PC Invalidation End Address Register"]
451pub mod iommu_pc_ivld_end_addr;
452#[doc = "iommu_dm_aut_ctrl (rw) register accessor: IOMMU Domain Authority Control \\[i\\] Register\n\nSoftware 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.\n\nSoftware 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.\n\nSetting 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.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_dm_aut_ctrl::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_dm_aut_ctrl::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_dm_aut_ctrl`] module"]
453pub type IOMMU_DM_AUT_CTRL = crate::Reg<iommu_dm_aut_ctrl::IOMMU_DM_AUT_CTRL_SPEC>;
454#[doc = "IOMMU Domain Authority Control \\[i\\] Register\n\nSoftware 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.\n\nSoftware 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.\n\nSetting 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."]
455pub mod iommu_dm_aut_ctrl;
456#[doc = "iommu_dm_aut_ovwt (rw) register accessor: IOMMU Domain Authority Overwrite Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_dm_aut_ovwt::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_dm_aut_ovwt::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_dm_aut_ovwt`] module"]
457pub type IOMMU_DM_AUT_OVWT = crate::Reg<iommu_dm_aut_ovwt::IOMMU_DM_AUT_OVWT_SPEC>;
458#[doc = "IOMMU Domain Authority Overwrite Register"]
459pub mod iommu_dm_aut_ovwt;
460#[doc = "iommu_int_enable (rw) register accessor: IOMMU Interrupt Enable Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_int_enable::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_int_enable::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_int_enable`] module"]
461pub type IOMMU_INT_ENABLE = crate::Reg<iommu_int_enable::IOMMU_INT_ENABLE_SPEC>;
462#[doc = "IOMMU Interrupt Enable Register"]
463pub mod iommu_int_enable;
464#[doc = "iommu_int_clr (rw) register accessor: IOMMU Interrupt Clear Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_int_clr::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_int_clr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_int_clr`] module"]
465pub type IOMMU_INT_CLR = crate::Reg<iommu_int_clr::IOMMU_INT_CLR_SPEC>;
466#[doc = "IOMMU Interrupt Clear Register"]
467pub mod iommu_int_clr;
468#[doc = "iommu_int_sta (rw) register accessor: IOMMU Interrupt Status Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_int_sta::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_int_sta::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_int_sta`] module"]
469pub type IOMMU_INT_STA = crate::Reg<iommu_int_sta::IOMMU_INT_STA_SPEC>;
470#[doc = "IOMMU Interrupt Status Register"]
471pub mod iommu_int_sta;
472#[doc = "iommu_int_err_addr_tlb (r) register accessor: IOMMU Interrupt Error Address \\[i\\]\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_int_err_addr_tlb::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_int_err_addr_tlb`] module"]
473pub type IOMMU_INT_ERR_ADDR_TLB = crate::Reg<iommu_int_err_addr_tlb::IOMMU_INT_ERR_ADDR_TLB_SPEC>;
474#[doc = "IOMMU Interrupt Error Address \\[i\\]"]
475pub mod iommu_int_err_addr_tlb;
476#[doc = "iommu_int_err_addr_l (r) register accessor: IOMMU Interrupt Error Address L\\[i\\]\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_int_err_addr_l::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_int_err_addr_l`] module"]
477pub type IOMMU_INT_ERR_ADDR_L = crate::Reg<iommu_int_err_addr_l::IOMMU_INT_ERR_ADDR_L_SPEC>;
478#[doc = "IOMMU Interrupt Error Address L\\[i\\]"]
479pub mod iommu_int_err_addr_l;
480#[doc = "iommu_int_err_data_tlb (r) register accessor: IOMMU Interrupt Error Data \\[i\\] Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_int_err_data_tlb::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_int_err_data_tlb`] module"]
481pub type IOMMU_INT_ERR_DATA_TLB = crate::Reg<iommu_int_err_data_tlb::IOMMU_INT_ERR_DATA_TLB_SPEC>;
482#[doc = "IOMMU Interrupt Error Data \\[i\\] Register"]
483pub mod iommu_int_err_data_tlb;
484#[doc = "iommu_int_err_data_l (r) register accessor: IOMMU Interrupt Error Data L\\[i\\] Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_int_err_data_l::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_int_err_data_l`] module"]
485pub type IOMMU_INT_ERR_DATA_L = crate::Reg<iommu_int_err_data_l::IOMMU_INT_ERR_DATA_L_SPEC>;
486#[doc = "IOMMU Interrupt Error Data L\\[i\\] Register"]
487pub mod iommu_int_err_data_l;
488#[doc = "iommu_lpg_int (r) register accessor: IOMMU L\\[i\\] Page Table Interrupt Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_lpg_int::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_lpg_int`] module"]
489pub type IOMMU_LPG_INT = crate::Reg<iommu_lpg_int::IOMMU_LPG_INT_SPEC>;
490#[doc = "IOMMU L\\[i\\] Page Table Interrupt Register"]
491pub mod iommu_lpg_int;
492#[doc = "iommu_va (rw) register accessor: IOMMU Virtual Address Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_va::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_va::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_va`] module"]
493pub type IOMMU_VA = crate::Reg<iommu_va::IOMMU_VA_SPEC>;
494#[doc = "IOMMU Virtual Address Register"]
495pub mod iommu_va;
496#[doc = "iommu_va_data (rw) register accessor: IOMMU Virtual Address Data Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_va_data::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_va_data::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_va_data`] module"]
497pub type IOMMU_VA_DATA = crate::Reg<iommu_va_data::IOMMU_VA_DATA_SPEC>;
498#[doc = "IOMMU Virtual Address Data Register"]
499pub mod iommu_va_data;
500#[doc = "iommu_va_config (rw) register accessor: IOMMU Virtual Address Configuration Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_va_config::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_va_config::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_va_config`] module"]
501pub type IOMMU_VA_CONFIG = crate::Reg<iommu_va_config::IOMMU_VA_CONFIG_SPEC>;
502#[doc = "IOMMU Virtual Address Configuration Register"]
503pub mod iommu_va_config;
504#[doc = "iommu_pmu_enable (rw) register accessor: IOMMU PMU Enable Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_pmu_enable::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_pmu_enable::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_pmu_enable`] module"]
505pub type IOMMU_PMU_ENABLE = crate::Reg<iommu_pmu_enable::IOMMU_PMU_ENABLE_SPEC>;
506#[doc = "IOMMU PMU Enable Register"]
507pub mod iommu_pmu_enable;
508#[doc = "iommu_pmu_clr (rw) register accessor: IOMMU PMU Clear Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_pmu_clr::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_pmu_clr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_pmu_clr`] module"]
509pub type IOMMU_PMU_CLR = crate::Reg<iommu_pmu_clr::IOMMU_PMU_CLR_SPEC>;
510#[doc = "IOMMU PMU Clear Register"]
511pub mod iommu_pmu_clr;
512#[doc = "iommu_pmu_access_low (rw) register accessor: IOMMU PMU Access Low \\[i\\] Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_pmu_access_low::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_pmu_access_low::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_pmu_access_low`] module"]
513pub type IOMMU_PMU_ACCESS_LOW = crate::Reg<iommu_pmu_access_low::IOMMU_PMU_ACCESS_LOW_SPEC>;
514#[doc = "IOMMU PMU Access Low \\[i\\] Register"]
515pub mod iommu_pmu_access_low;
516#[doc = "iommu_pmu_access_high (rw) register accessor: IOMMU PMU Access High \\[i\\] Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_pmu_access_high::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_pmu_access_high::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_pmu_access_high`] module"]
517pub type IOMMU_PMU_ACCESS_HIGH = crate::Reg<iommu_pmu_access_high::IOMMU_PMU_ACCESS_HIGH_SPEC>;
518#[doc = "IOMMU PMU Access High \\[i\\] Register"]
519pub mod iommu_pmu_access_high;
520#[doc = "iommu_pmu_hit_low (rw) register accessor: IOMMU PMU Hit Low \\[i\\] Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_pmu_hit_low::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_pmu_hit_low::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_pmu_hit_low`] module"]
521pub type IOMMU_PMU_HIT_LOW = crate::Reg<iommu_pmu_hit_low::IOMMU_PMU_HIT_LOW_SPEC>;
522#[doc = "IOMMU PMU Hit Low \\[i\\] Register"]
523pub mod iommu_pmu_hit_low;
524#[doc = "iommu_pmu_hit_high (rw) register accessor: IOMMU PMU Hit High \\[i\\] Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_pmu_hit_high::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_pmu_hit_high::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_pmu_hit_high`] module"]
525pub type IOMMU_PMU_HIT_HIGH = crate::Reg<iommu_pmu_hit_high::IOMMU_PMU_HIT_HIGH_SPEC>;
526#[doc = "IOMMU PMU Hit High \\[i\\] Register"]
527pub mod iommu_pmu_hit_high;
528#[doc = "iommu_pmu_tl_low (rw) register accessor: IOMMU Total Latency Low \\[i\\] Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_pmu_tl_low::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_pmu_tl_low::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_pmu_tl_low`] module"]
529pub type IOMMU_PMU_TL_LOW = crate::Reg<iommu_pmu_tl_low::IOMMU_PMU_TL_LOW_SPEC>;
530#[doc = "IOMMU Total Latency Low \\[i\\] Register"]
531pub mod iommu_pmu_tl_low;
532#[doc = "iommu_pmu_tl_high (rw) register accessor: IOMMU Total Latency High \\[i\\] Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_pmu_tl_high::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_pmu_tl_high::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_pmu_tl_high`] module"]
533pub type IOMMU_PMU_TL_HIGH = crate::Reg<iommu_pmu_tl_high::IOMMU_PMU_TL_HIGH_SPEC>;
534#[doc = "IOMMU Total Latency High \\[i\\] Register"]
535pub mod iommu_pmu_tl_high;
536#[doc = "iommu_pmu_ml (rw) register accessor: IOMMU Max Latency \\[i\\] Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iommu_pmu_ml::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iommu_pmu_ml::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iommu_pmu_ml`] module"]
537pub type IOMMU_PMU_ML = crate::Reg<iommu_pmu_ml::IOMMU_PMU_ML_SPEC>;
538#[doc = "IOMMU Max Latency \\[i\\] Register"]
539pub mod iommu_pmu_ml;