nrf5340_app_pac/
cache_s.rs1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 _reserved0: [u8; 0x0400],
5 #[doc = "0x400..0x410 - Unspecified"]
6 pub profiling0: PROFILING,
7 _reserved1: [u8; 0x10],
8 #[doc = "0x420..0x430 - Unspecified"]
9 pub profiling1: PROFILING,
10 _reserved2: [u8; 0xd0],
11 #[doc = "0x500 - Enable cache."]
12 pub enable: ENABLE,
13 #[doc = "0x504 - Invalidate the cache."]
14 pub invalidate: INVALIDATE,
15 #[doc = "0x508 - Erase the cache."]
16 pub erase: ERASE,
17 #[doc = "0x50c - Enable the profiling counters."]
18 pub profilingenable: PROFILINGENABLE,
19 #[doc = "0x510 - Clear the profiling counters."]
20 pub profilingclear: PROFILINGCLEAR,
21 #[doc = "0x514 - Cache mode. Switching from Cache to Ram mode causes the RAM to be cleared. Switching from RAM to Cache mode causes the cache to be invalidated."]
22 pub mode: MODE,
23 #[doc = "0x518 - Lock debug mode."]
24 pub debuglock: DEBUGLOCK,
25 #[doc = "0x51c - Cache erase status."]
26 pub erasestatus: ERASESTATUS,
27 #[doc = "0x520 - Lock cache updates. Prevents updating of cache content on cache misses, but will continue to lookup instruction/data fetches in content already present in the cache. Ignored in RAM mode."]
28 pub writelock: WRITELOCK,
29}
30#[doc = "Unspecified"]
31pub use profiling::PROFILING;
32#[doc = r"Cluster"]
33#[doc = "Unspecified"]
34pub mod profiling;
35#[doc = "ENABLE (rw) register accessor: an alias for `Reg<ENABLE_SPEC>`"]
36pub type ENABLE = crate::Reg<enable::ENABLE_SPEC>;
37#[doc = "Enable cache."]
38pub mod enable;
39#[doc = "INVALIDATE (w) register accessor: an alias for `Reg<INVALIDATE_SPEC>`"]
40pub type INVALIDATE = crate::Reg<invalidate::INVALIDATE_SPEC>;
41#[doc = "Invalidate the cache."]
42pub mod invalidate;
43#[doc = "ERASE (w) register accessor: an alias for `Reg<ERASE_SPEC>`"]
44pub type ERASE = crate::Reg<erase::ERASE_SPEC>;
45#[doc = "Erase the cache."]
46pub mod erase;
47#[doc = "PROFILINGENABLE (rw) register accessor: an alias for `Reg<PROFILINGENABLE_SPEC>`"]
48pub type PROFILINGENABLE = crate::Reg<profilingenable::PROFILINGENABLE_SPEC>;
49#[doc = "Enable the profiling counters."]
50pub mod profilingenable;
51#[doc = "PROFILINGCLEAR (w) register accessor: an alias for `Reg<PROFILINGCLEAR_SPEC>`"]
52pub type PROFILINGCLEAR = crate::Reg<profilingclear::PROFILINGCLEAR_SPEC>;
53#[doc = "Clear the profiling counters."]
54pub mod profilingclear;
55#[doc = "MODE (rw) register accessor: an alias for `Reg<MODE_SPEC>`"]
56pub type MODE = crate::Reg<mode::MODE_SPEC>;
57#[doc = "Cache mode. Switching from Cache to Ram mode causes the RAM to be cleared. Switching from RAM to Cache mode causes the cache to be invalidated."]
58pub mod mode;
59#[doc = "DEBUGLOCK (rw) register accessor: an alias for `Reg<DEBUGLOCK_SPEC>`"]
60pub type DEBUGLOCK = crate::Reg<debuglock::DEBUGLOCK_SPEC>;
61#[doc = "Lock debug mode."]
62pub mod debuglock;
63#[doc = "ERASESTATUS (rw) register accessor: an alias for `Reg<ERASESTATUS_SPEC>`"]
64pub type ERASESTATUS = crate::Reg<erasestatus::ERASESTATUS_SPEC>;
65#[doc = "Cache erase status."]
66pub mod erasestatus;
67#[doc = "WRITELOCK (rw) register accessor: an alias for `Reg<WRITELOCK_SPEC>`"]
68pub type WRITELOCK = crate::Reg<writelock::WRITELOCK_SPEC>;
69#[doc = "Lock cache updates. Prevents updating of cache content on cache misses, but will continue to lookup instruction/data fetches in content already present in the cache. Ignored in RAM mode."]
70pub mod writelock;