imxrt_ral/blocks/imxrt1011/
flexram.rs

1#[doc = "FLEXRAM"]
2#[repr(C)]
3pub struct RegisterBlock {
4    #[doc = "TCM CRTL Register"]
5    pub TCM_CTRL: crate::RWRegister<u32>,
6    #[doc = "OCRAM Magic Address Register"]
7    pub OCRAM_MAGIC_ADDR: crate::RWRegister<u32>,
8    #[doc = "DTCM Magic Address Register"]
9    pub DTCM_MAGIC_ADDR: crate::RWRegister<u32>,
10    #[doc = "ITCM Magic Address Register"]
11    pub ITCM_MAGIC_ADDR: crate::RWRegister<u32>,
12    #[doc = "Interrupt Status Register"]
13    pub INT_STATUS: crate::RWRegister<u32>,
14    #[doc = "Interrupt Status Enable Register"]
15    pub INT_STAT_EN: crate::RWRegister<u32>,
16    #[doc = "Interrupt Enable Register"]
17    pub INT_SIG_EN: crate::RWRegister<u32>,
18}
19#[doc = "TCM CRTL Register"]
20pub mod TCM_CTRL {
21    #[doc = "TCM Write Wait Mode Enable"]
22    pub mod TCM_WWAIT_EN {
23        pub const offset: u32 = 0;
24        pub const mask: u32 = 0x01 << offset;
25        pub mod R {}
26        pub mod W {}
27        pub mod RW {
28            #[doc = "TCM write fast mode: Write RAM accesses are expected to be finished in 1-cycle."]
29            pub const TCM_WWAIT_EN_0: u32 = 0;
30            #[doc = "TCM write wait mode: Write RAM accesses are expected to be finished in 2-cycles."]
31            pub const TCM_WWAIT_EN_1: u32 = 0x01;
32        }
33    }
34    #[doc = "TCM Read Wait Mode Enable"]
35    pub mod TCM_RWAIT_EN {
36        pub const offset: u32 = 1;
37        pub const mask: u32 = 0x01 << offset;
38        pub mod R {}
39        pub mod W {}
40        pub mod RW {
41            #[doc = "TCM read fast mode: Read RAM accesses are expected to be finished in 1-cycle."]
42            pub const TCM_RWAIT_EN_0: u32 = 0;
43            #[doc = "TCM read wait mode: Read RAM accesses are expected to be finished in 2-cycles."]
44            pub const TCM_RWAIT_EN_1: u32 = 0x01;
45        }
46    }
47    #[doc = "Force RAM Clock Always On"]
48    pub mod FORCE_CLK_ON {
49        pub const offset: u32 = 2;
50        pub const mask: u32 = 0x01 << offset;
51        pub mod R {}
52        pub mod W {}
53        pub mod RW {}
54    }
55}
56#[doc = "OCRAM Magic Address Register"]
57pub mod OCRAM_MAGIC_ADDR {
58    #[doc = "OCRAM Write Read Select"]
59    pub mod OCRAM_WR_RD_SEL {
60        pub const offset: u32 = 0;
61        pub const mask: u32 = 0x01 << offset;
62        pub mod R {}
63        pub mod W {}
64        pub mod RW {
65            #[doc = "When OCRAM read access hits magic address, it will generate interrupt."]
66            pub const OCRAM_WR_RD_SEL_0: u32 = 0;
67            #[doc = "When OCRAM write access hits magic address, it will generate interrupt."]
68            pub const OCRAM_WR_RD_SEL_1: u32 = 0x01;
69        }
70    }
71    #[doc = "OCRAM Magic Address"]
72    pub mod OCRAM_MAGIC_ADDR {
73        pub const offset: u32 = 1;
74        pub const mask: u32 = 0x3fff << offset;
75        pub mod R {}
76        pub mod W {}
77        pub mod RW {}
78    }
79}
80#[doc = "DTCM Magic Address Register"]
81pub mod DTCM_MAGIC_ADDR {
82    #[doc = "DTCM Write Read Select"]
83    pub mod DTCM_WR_RD_SEL {
84        pub const offset: u32 = 0;
85        pub const mask: u32 = 0x01 << offset;
86        pub mod R {}
87        pub mod W {}
88        pub mod RW {
89            #[doc = "When DTCM read access hits magic address, it will generate interrupt."]
90            pub const DTCM_WR_RD_SEL_0: u32 = 0;
91            #[doc = "When DTCM write access hits magic address, it will generate interrupt."]
92            pub const DTCM_WR_RD_SEL_1: u32 = 0x01;
93        }
94    }
95    #[doc = "DTCM Magic Address"]
96    pub mod DTCM_MAGIC_ADDR {
97        pub const offset: u32 = 1;
98        pub const mask: u32 = 0x3fff << offset;
99        pub mod R {}
100        pub mod W {}
101        pub mod RW {}
102    }
103}
104#[doc = "ITCM Magic Address Register"]
105pub mod ITCM_MAGIC_ADDR {
106    #[doc = "ITCM Write Read Select"]
107    pub mod ITCM_WR_RD_SEL {
108        pub const offset: u32 = 0;
109        pub const mask: u32 = 0x01 << offset;
110        pub mod R {}
111        pub mod W {}
112        pub mod RW {
113            #[doc = "When ITCM read access hits magic address, it will generate interrupt."]
114            pub const ITCM_WR_RD_SEL_0: u32 = 0;
115            #[doc = "When ITCM write access hits magic address, it will generate interrupt."]
116            pub const ITCM_WR_RD_SEL_1: u32 = 0x01;
117        }
118    }
119    #[doc = "ITCM Magic Address"]
120    pub mod ITCM_MAGIC_ADDR {
121        pub const offset: u32 = 1;
122        pub const mask: u32 = 0x3fff << offset;
123        pub mod R {}
124        pub mod W {}
125        pub mod RW {}
126    }
127}
128#[doc = "Interrupt Status Register"]
129pub mod INT_STATUS {
130    #[doc = "ITCM Magic Address Match Status"]
131    pub mod ITCM_MAM_STATUS {
132        pub const offset: u32 = 0;
133        pub const mask: u32 = 0x01 << offset;
134        pub mod R {}
135        pub mod W {}
136        pub mod RW {
137            #[doc = "ITCM did not access magic address."]
138            pub const ITCM_MAM_STATUS_0: u32 = 0;
139            #[doc = "ITCM accessed magic address."]
140            pub const ITCM_MAM_STATUS_1: u32 = 0x01;
141        }
142    }
143    #[doc = "DTCM Magic Address Match Status"]
144    pub mod DTCM_MAM_STATUS {
145        pub const offset: u32 = 1;
146        pub const mask: u32 = 0x01 << offset;
147        pub mod R {}
148        pub mod W {}
149        pub mod RW {
150            #[doc = "DTCM did not access magic address."]
151            pub const DTCM_MAM_STATUS_0: u32 = 0;
152            #[doc = "DTCM accessed magic address."]
153            pub const DTCM_MAM_STATUS_1: u32 = 0x01;
154        }
155    }
156    #[doc = "OCRAM Magic Address Match Status"]
157    pub mod OCRAM_MAM_STATUS {
158        pub const offset: u32 = 2;
159        pub const mask: u32 = 0x01 << offset;
160        pub mod R {}
161        pub mod W {}
162        pub mod RW {
163            #[doc = "OCRAM did not access magic address."]
164            pub const OCRAM_MAM_STATUS_0: u32 = 0;
165            #[doc = "OCRAM accessed magic address."]
166            pub const OCRAM_MAM_STATUS_1: u32 = 0x01;
167        }
168    }
169    #[doc = "ITCM Access Error Status"]
170    pub mod ITCM_ERR_STATUS {
171        pub const offset: u32 = 3;
172        pub const mask: u32 = 0x01 << offset;
173        pub mod R {}
174        pub mod W {}
175        pub mod RW {
176            #[doc = "ITCM access error does not happen"]
177            pub const ITCM_ERR_STATUS_0: u32 = 0;
178            #[doc = "ITCM access error happens."]
179            pub const ITCM_ERR_STATUS_1: u32 = 0x01;
180        }
181    }
182    #[doc = "DTCM Access Error Status"]
183    pub mod DTCM_ERR_STATUS {
184        pub const offset: u32 = 4;
185        pub const mask: u32 = 0x01 << offset;
186        pub mod R {}
187        pub mod W {}
188        pub mod RW {
189            #[doc = "DTCM access error does not happen"]
190            pub const DTCM_ERR_STATUS_0: u32 = 0;
191            #[doc = "DTCM access error happens."]
192            pub const DTCM_ERR_STATUS_1: u32 = 0x01;
193        }
194    }
195    #[doc = "OCRAM Access Error Status"]
196    pub mod OCRAM_ERR_STATUS {
197        pub const offset: u32 = 5;
198        pub const mask: u32 = 0x01 << offset;
199        pub mod R {}
200        pub mod W {}
201        pub mod RW {
202            #[doc = "OCRAM access error does not happen"]
203            pub const OCRAM_ERR_STATUS_0: u32 = 0;
204            #[doc = "OCRAM access error happens."]
205            pub const OCRAM_ERR_STATUS_1: u32 = 0x01;
206        }
207    }
208}
209#[doc = "Interrupt Status Enable Register"]
210pub mod INT_STAT_EN {
211    #[doc = "ITCM Magic Address Match Status Enable"]
212    pub mod ITCM_MAM_STAT_EN {
213        pub const offset: u32 = 0;
214        pub const mask: u32 = 0x01 << offset;
215        pub mod R {}
216        pub mod W {}
217        pub mod RW {
218            #[doc = "Masked"]
219            pub const ITCM_MAM_STAT_EN_0: u32 = 0;
220            #[doc = "Enabled"]
221            pub const ITCM_MAM_STAT_EN_1: u32 = 0x01;
222        }
223    }
224    #[doc = "DTCM Magic Address Match Status Enable"]
225    pub mod DTCM_MAM_STAT_EN {
226        pub const offset: u32 = 1;
227        pub const mask: u32 = 0x01 << offset;
228        pub mod R {}
229        pub mod W {}
230        pub mod RW {
231            #[doc = "Masked"]
232            pub const DTCM_MAM_STAT_EN_0: u32 = 0;
233            #[doc = "Enabled"]
234            pub const DTCM_MAM_STAT_EN_1: u32 = 0x01;
235        }
236    }
237    #[doc = "OCRAM Magic Address Match Status Enable"]
238    pub mod OCRAM_MAM_STAT_EN {
239        pub const offset: u32 = 2;
240        pub const mask: u32 = 0x01 << offset;
241        pub mod R {}
242        pub mod W {}
243        pub mod RW {
244            #[doc = "Masked"]
245            pub const OCRAM_MAM_STAT_EN_0: u32 = 0;
246            #[doc = "Enabled"]
247            pub const OCRAM_MAM_STAT_EN_1: u32 = 0x01;
248        }
249    }
250    #[doc = "ITCM Access Error Status Enable"]
251    pub mod ITCM_ERR_STAT_EN {
252        pub const offset: u32 = 3;
253        pub const mask: u32 = 0x01 << offset;
254        pub mod R {}
255        pub mod W {}
256        pub mod RW {
257            #[doc = "Masked"]
258            pub const ITCM_ERR_STAT_EN_0: u32 = 0;
259            #[doc = "Enabled"]
260            pub const ITCM_ERR_STAT_EN_1: u32 = 0x01;
261        }
262    }
263    #[doc = "DTCM Access Error Status Enable"]
264    pub mod DTCM_ERR_STAT_EN {
265        pub const offset: u32 = 4;
266        pub const mask: u32 = 0x01 << offset;
267        pub mod R {}
268        pub mod W {}
269        pub mod RW {
270            #[doc = "Masked"]
271            pub const DTCM_ERR_STAT_EN_0: u32 = 0;
272            #[doc = "Enabled"]
273            pub const DTCM_ERR_STAT_EN_1: u32 = 0x01;
274        }
275    }
276    #[doc = "OCRAM Access Error Status Enable"]
277    pub mod OCRAM_ERR_STAT_EN {
278        pub const offset: u32 = 5;
279        pub const mask: u32 = 0x01 << offset;
280        pub mod R {}
281        pub mod W {}
282        pub mod RW {
283            #[doc = "Masked"]
284            pub const OCRAM_ERR_STAT_EN_0: u32 = 0;
285            #[doc = "Enabled"]
286            pub const OCRAM_ERR_STAT_EN_1: u32 = 0x01;
287        }
288    }
289}
290#[doc = "Interrupt Enable Register"]
291pub mod INT_SIG_EN {
292    #[doc = "ITCM Magic Address Match Interrupt Enable"]
293    pub mod ITCM_MAM_SIG_EN {
294        pub const offset: u32 = 0;
295        pub const mask: u32 = 0x01 << offset;
296        pub mod R {}
297        pub mod W {}
298        pub mod RW {
299            #[doc = "Masked"]
300            pub const ITCM_MAM_SIG_EN_0: u32 = 0;
301            #[doc = "Enabled"]
302            pub const ITCM_MAM_SIG_EN_1: u32 = 0x01;
303        }
304    }
305    #[doc = "DTCM Magic Address Match Interrupt Enable"]
306    pub mod DTCM_MAM_SIG_EN {
307        pub const offset: u32 = 1;
308        pub const mask: u32 = 0x01 << offset;
309        pub mod R {}
310        pub mod W {}
311        pub mod RW {
312            #[doc = "Masked"]
313            pub const DTCM_MAM_SIG_EN_0: u32 = 0;
314            #[doc = "Enabled"]
315            pub const DTCM_MAM_SIG_EN_1: u32 = 0x01;
316        }
317    }
318    #[doc = "OCRAM Magic Address Match Interrupt Enable"]
319    pub mod OCRAM_MAM_SIG_EN {
320        pub const offset: u32 = 2;
321        pub const mask: u32 = 0x01 << offset;
322        pub mod R {}
323        pub mod W {}
324        pub mod RW {
325            #[doc = "Masked"]
326            pub const OCRAM_MAM_SIG_EN_0: u32 = 0;
327            #[doc = "Enabled"]
328            pub const OCRAM_MAM_SIG_EN_1: u32 = 0x01;
329        }
330    }
331    #[doc = "ITCM Access Error Interrupt Enable"]
332    pub mod ITCM_ERR_SIG_EN {
333        pub const offset: u32 = 3;
334        pub const mask: u32 = 0x01 << offset;
335        pub mod R {}
336        pub mod W {}
337        pub mod RW {
338            #[doc = "Masked"]
339            pub const ITCM_ERR_SIG_EN_0: u32 = 0;
340            #[doc = "Enabled"]
341            pub const ITCM_ERR_SIG_EN_1: u32 = 0x01;
342        }
343    }
344    #[doc = "DTCM Access Error Interrupt Enable"]
345    pub mod DTCM_ERR_SIG_EN {
346        pub const offset: u32 = 4;
347        pub const mask: u32 = 0x01 << offset;
348        pub mod R {}
349        pub mod W {}
350        pub mod RW {
351            #[doc = "Masked"]
352            pub const DTCM_ERR_SIG_EN_0: u32 = 0;
353            #[doc = "Enabled"]
354            pub const DTCM_ERR_SIG_EN_1: u32 = 0x01;
355        }
356    }
357    #[doc = "OCRAM Access Error Interrupt Enable"]
358    pub mod OCRAM_ERR_SIG_EN {
359        pub const offset: u32 = 5;
360        pub const mask: u32 = 0x01 << offset;
361        pub mod R {}
362        pub mod W {}
363        pub mod RW {
364            #[doc = "Masked"]
365            pub const OCRAM_ERR_SIG_EN_0: u32 = 0;
366            #[doc = "Enabled"]
367            pub const OCRAM_ERR_SIG_EN_1: u32 = 0x01;
368        }
369    }
370}