Skip to main content

ambiq_apollo2_pac/
cachectrl.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    #[doc = "0x00 - Flash Cache Control Register"]
5    pub cachecfg: CACHECFG,
6    #[doc = "0x04 - Flash Control Register"]
7    pub flashcfg: FLASHCFG,
8    #[doc = "0x08 - Cache Control"]
9    pub ctrl: CTRL,
10    _reserved3: [u8; 4usize],
11    #[doc = "0x10 - Flash Cache Noncachable Region 0 Start Address."]
12    pub ncr0start: NCR0START,
13    #[doc = "0x14 - Flash Cache Noncachable Region 0 End"]
14    pub ncr0end: NCR0END,
15    #[doc = "0x18 - Flash Cache Noncachable Region 1 Start"]
16    pub ncr1start: NCR1START,
17    #[doc = "0x1c - Flash Cache Noncachable Region 1 End"]
18    pub ncr1end: NCR1END,
19    _reserved7: [u8; 16usize],
20    #[doc = "0x30 - Flash Cache Mode Register. Used to trim performance/power."]
21    pub cachemode: CACHEMODE,
22    _reserved8: [u8; 12usize],
23    #[doc = "0x40 - Data Cache Total Accesses"]
24    pub dmon0: DMON0,
25    #[doc = "0x44 - Data Cache Tag Lookups"]
26    pub dmon1: DMON1,
27    #[doc = "0x48 - Data Cache Hits"]
28    pub dmon2: DMON2,
29    #[doc = "0x4c - Data Cache Line Hits"]
30    pub dmon3: DMON3,
31    #[doc = "0x50 - Instruction Cache Total Accesses"]
32    pub imon0: IMON0,
33    #[doc = "0x54 - Instruction Cache Tag Lookups"]
34    pub imon1: IMON1,
35    #[doc = "0x58 - Instruction Cache Hits"]
36    pub imon2: IMON2,
37    #[doc = "0x5c - Instruction Cache Line Hits"]
38    pub imon3: IMON3,
39}
40#[doc = "Flash Cache Control Register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [cachecfg](cachecfg) module"]
41pub type CACHECFG = crate::Reg<u32, _CACHECFG>;
42#[allow(missing_docs)]
43#[doc(hidden)]
44pub struct _CACHECFG;
45#[doc = "`read()` method returns [cachecfg::R](cachecfg::R) reader structure"]
46impl crate::Readable for CACHECFG {}
47#[doc = "`write(|w| ..)` method takes [cachecfg::W](cachecfg::W) writer structure"]
48impl crate::Writable for CACHECFG {}
49#[doc = "Flash Cache Control Register"]
50pub mod cachecfg;
51#[doc = "Flash Control Register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [flashcfg](flashcfg) module"]
52pub type FLASHCFG = crate::Reg<u32, _FLASHCFG>;
53#[allow(missing_docs)]
54#[doc(hidden)]
55pub struct _FLASHCFG;
56#[doc = "`read()` method returns [flashcfg::R](flashcfg::R) reader structure"]
57impl crate::Readable for FLASHCFG {}
58#[doc = "`write(|w| ..)` method takes [flashcfg::W](flashcfg::W) writer structure"]
59impl crate::Writable for FLASHCFG {}
60#[doc = "Flash Control Register"]
61pub mod flashcfg;
62#[doc = "Cache Control\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ctrl](ctrl) module"]
63pub type CTRL = crate::Reg<u32, _CTRL>;
64#[allow(missing_docs)]
65#[doc(hidden)]
66pub struct _CTRL;
67#[doc = "`read()` method returns [ctrl::R](ctrl::R) reader structure"]
68impl crate::Readable for CTRL {}
69#[doc = "`write(|w| ..)` method takes [ctrl::W](ctrl::W) writer structure"]
70impl crate::Writable for CTRL {}
71#[doc = "Cache Control"]
72pub mod ctrl;
73#[doc = "Flash Cache Noncachable Region 0 Start Address.\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ncr0start](ncr0start) module"]
74pub type NCR0START = crate::Reg<u32, _NCR0START>;
75#[allow(missing_docs)]
76#[doc(hidden)]
77pub struct _NCR0START;
78#[doc = "`read()` method returns [ncr0start::R](ncr0start::R) reader structure"]
79impl crate::Readable for NCR0START {}
80#[doc = "`write(|w| ..)` method takes [ncr0start::W](ncr0start::W) writer structure"]
81impl crate::Writable for NCR0START {}
82#[doc = "Flash Cache Noncachable Region 0 Start Address."]
83pub mod ncr0start;
84#[doc = "Flash Cache Noncachable Region 0 End\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ncr0end](ncr0end) module"]
85pub type NCR0END = crate::Reg<u32, _NCR0END>;
86#[allow(missing_docs)]
87#[doc(hidden)]
88pub struct _NCR0END;
89#[doc = "`read()` method returns [ncr0end::R](ncr0end::R) reader structure"]
90impl crate::Readable for NCR0END {}
91#[doc = "`write(|w| ..)` method takes [ncr0end::W](ncr0end::W) writer structure"]
92impl crate::Writable for NCR0END {}
93#[doc = "Flash Cache Noncachable Region 0 End"]
94pub mod ncr0end;
95#[doc = "Flash Cache Noncachable Region 1 Start\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ncr1start](ncr1start) module"]
96pub type NCR1START = crate::Reg<u32, _NCR1START>;
97#[allow(missing_docs)]
98#[doc(hidden)]
99pub struct _NCR1START;
100#[doc = "`read()` method returns [ncr1start::R](ncr1start::R) reader structure"]
101impl crate::Readable for NCR1START {}
102#[doc = "`write(|w| ..)` method takes [ncr1start::W](ncr1start::W) writer structure"]
103impl crate::Writable for NCR1START {}
104#[doc = "Flash Cache Noncachable Region 1 Start"]
105pub mod ncr1start;
106#[doc = "Flash Cache Noncachable Region 1 End\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ncr1end](ncr1end) module"]
107pub type NCR1END = crate::Reg<u32, _NCR1END>;
108#[allow(missing_docs)]
109#[doc(hidden)]
110pub struct _NCR1END;
111#[doc = "`read()` method returns [ncr1end::R](ncr1end::R) reader structure"]
112impl crate::Readable for NCR1END {}
113#[doc = "`write(|w| ..)` method takes [ncr1end::W](ncr1end::W) writer structure"]
114impl crate::Writable for NCR1END {}
115#[doc = "Flash Cache Noncachable Region 1 End"]
116pub mod ncr1end;
117#[doc = "Flash Cache Mode Register. Used to trim performance/power.\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [cachemode](cachemode) module"]
118pub type CACHEMODE = crate::Reg<u32, _CACHEMODE>;
119#[allow(missing_docs)]
120#[doc(hidden)]
121pub struct _CACHEMODE;
122#[doc = "`read()` method returns [cachemode::R](cachemode::R) reader structure"]
123impl crate::Readable for CACHEMODE {}
124#[doc = "`write(|w| ..)` method takes [cachemode::W](cachemode::W) writer structure"]
125impl crate::Writable for CACHEMODE {}
126#[doc = "Flash Cache Mode Register. Used to trim performance/power."]
127pub mod cachemode;
128#[doc = "Data Cache Total Accesses\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [dmon0](dmon0) module"]
129pub type DMON0 = crate::Reg<u32, _DMON0>;
130#[allow(missing_docs)]
131#[doc(hidden)]
132pub struct _DMON0;
133#[doc = "`read()` method returns [dmon0::R](dmon0::R) reader structure"]
134impl crate::Readable for DMON0 {}
135#[doc = "`write(|w| ..)` method takes [dmon0::W](dmon0::W) writer structure"]
136impl crate::Writable for DMON0 {}
137#[doc = "Data Cache Total Accesses"]
138pub mod dmon0;
139#[doc = "Data Cache Tag Lookups\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [dmon1](dmon1) module"]
140pub type DMON1 = crate::Reg<u32, _DMON1>;
141#[allow(missing_docs)]
142#[doc(hidden)]
143pub struct _DMON1;
144#[doc = "`read()` method returns [dmon1::R](dmon1::R) reader structure"]
145impl crate::Readable for DMON1 {}
146#[doc = "`write(|w| ..)` method takes [dmon1::W](dmon1::W) writer structure"]
147impl crate::Writable for DMON1 {}
148#[doc = "Data Cache Tag Lookups"]
149pub mod dmon1;
150#[doc = "Data Cache Hits\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [dmon2](dmon2) module"]
151pub type DMON2 = crate::Reg<u32, _DMON2>;
152#[allow(missing_docs)]
153#[doc(hidden)]
154pub struct _DMON2;
155#[doc = "`read()` method returns [dmon2::R](dmon2::R) reader structure"]
156impl crate::Readable for DMON2 {}
157#[doc = "`write(|w| ..)` method takes [dmon2::W](dmon2::W) writer structure"]
158impl crate::Writable for DMON2 {}
159#[doc = "Data Cache Hits"]
160pub mod dmon2;
161#[doc = "Data Cache Line Hits\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [dmon3](dmon3) module"]
162pub type DMON3 = crate::Reg<u32, _DMON3>;
163#[allow(missing_docs)]
164#[doc(hidden)]
165pub struct _DMON3;
166#[doc = "`read()` method returns [dmon3::R](dmon3::R) reader structure"]
167impl crate::Readable for DMON3 {}
168#[doc = "`write(|w| ..)` method takes [dmon3::W](dmon3::W) writer structure"]
169impl crate::Writable for DMON3 {}
170#[doc = "Data Cache Line Hits"]
171pub mod dmon3;
172#[doc = "Instruction Cache Total Accesses\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [imon0](imon0) module"]
173pub type IMON0 = crate::Reg<u32, _IMON0>;
174#[allow(missing_docs)]
175#[doc(hidden)]
176pub struct _IMON0;
177#[doc = "`read()` method returns [imon0::R](imon0::R) reader structure"]
178impl crate::Readable for IMON0 {}
179#[doc = "`write(|w| ..)` method takes [imon0::W](imon0::W) writer structure"]
180impl crate::Writable for IMON0 {}
181#[doc = "Instruction Cache Total Accesses"]
182pub mod imon0;
183#[doc = "Instruction Cache Tag Lookups\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [imon1](imon1) module"]
184pub type IMON1 = crate::Reg<u32, _IMON1>;
185#[allow(missing_docs)]
186#[doc(hidden)]
187pub struct _IMON1;
188#[doc = "`read()` method returns [imon1::R](imon1::R) reader structure"]
189impl crate::Readable for IMON1 {}
190#[doc = "`write(|w| ..)` method takes [imon1::W](imon1::W) writer structure"]
191impl crate::Writable for IMON1 {}
192#[doc = "Instruction Cache Tag Lookups"]
193pub mod imon1;
194#[doc = "Instruction Cache Hits\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [imon2](imon2) module"]
195pub type IMON2 = crate::Reg<u32, _IMON2>;
196#[allow(missing_docs)]
197#[doc(hidden)]
198pub struct _IMON2;
199#[doc = "`read()` method returns [imon2::R](imon2::R) reader structure"]
200impl crate::Readable for IMON2 {}
201#[doc = "`write(|w| ..)` method takes [imon2::W](imon2::W) writer structure"]
202impl crate::Writable for IMON2 {}
203#[doc = "Instruction Cache Hits"]
204pub mod imon2;
205#[doc = "Instruction Cache Line Hits\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [imon3](imon3) module"]
206pub type IMON3 = crate::Reg<u32, _IMON3>;
207#[allow(missing_docs)]
208#[doc(hidden)]
209pub struct _IMON3;
210#[doc = "`read()` method returns [imon3::R](imon3::R) reader structure"]
211impl crate::Readable for IMON3 {}
212#[doc = "`write(|w| ..)` method takes [imon3::W](imon3::W) writer structure"]
213impl crate::Writable for IMON3 {}
214#[doc = "Instruction Cache Line Hits"]
215pub mod imon3;