efm32gg12b110_pac/
msc.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    #[doc = "0x00 - Memory System Control Register"]
5    pub ctrl: crate::Reg<ctrl::CTRL_SPEC>,
6    #[doc = "0x04 - Read Control Register"]
7    pub readctrl: crate::Reg<readctrl::READCTRL_SPEC>,
8    #[doc = "0x08 - Write Control Register"]
9    pub writectrl: crate::Reg<writectrl::WRITECTRL_SPEC>,
10    #[doc = "0x0c - Write Command Register"]
11    pub writecmd: crate::Reg<writecmd::WRITECMD_SPEC>,
12    #[doc = "0x10 - Page Erase/Write Address Buffer"]
13    pub addrb: crate::Reg<addrb::ADDRB_SPEC>,
14    _reserved5: [u8; 0x04],
15    #[doc = "0x18 - Write Data Register"]
16    pub wdata: crate::Reg<wdata::WDATA_SPEC>,
17    #[doc = "0x1c - Status Register"]
18    pub status: crate::Reg<status::STATUS_SPEC>,
19    _reserved7: [u8; 0x10],
20    #[doc = "0x30 - Interrupt Flag Register"]
21    pub if_: crate::Reg<if_::IF_SPEC>,
22    #[doc = "0x34 - Interrupt Flag Set Register"]
23    pub ifs: crate::Reg<ifs::IFS_SPEC>,
24    #[doc = "0x38 - Interrupt Flag Clear Register"]
25    pub ifc: crate::Reg<ifc::IFC_SPEC>,
26    #[doc = "0x3c - Interrupt Enable Register"]
27    pub ien: crate::Reg<ien::IEN_SPEC>,
28    #[doc = "0x40 - Configuration Lock Register"]
29    pub lock: crate::Reg<lock::LOCK_SPEC>,
30    #[doc = "0x44 - Flash Cache Command Register"]
31    pub cachecmd: crate::Reg<cachecmd::CACHECMD_SPEC>,
32    #[doc = "0x48 - Cache Hits Performance Counter"]
33    pub cachehits: crate::Reg<cachehits::CACHEHITS_SPEC>,
34    #[doc = "0x4c - Cache Misses Performance Counter"]
35    pub cachemisses: crate::Reg<cachemisses::CACHEMISSES_SPEC>,
36    _reserved15: [u8; 0x04],
37    #[doc = "0x54 - Mass Erase Lock Register"]
38    pub masslock: crate::Reg<masslock::MASSLOCK_SPEC>,
39    _reserved16: [u8; 0x04],
40    #[doc = "0x5c - Startup Control"]
41    pub startup: crate::Reg<startup::STARTUP_SPEC>,
42    _reserved17: [u8; 0x10],
43    #[doc = "0x70 - Bank Switching Lock Register"]
44    pub bankswitchlock: crate::Reg<bankswitchlock::BANKSWITCHLOCK_SPEC>,
45    #[doc = "0x74 - Command Register"]
46    pub cmd: crate::Reg<cmd::CMD_SPEC>,
47    _reserved19: [u8; 0x18],
48    #[doc = "0x90 - Bootloader Read and Write Enable, Write Once Register"]
49    pub bootloaderctrl: crate::Reg<bootloaderctrl::BOOTLOADERCTRL_SPEC>,
50    #[doc = "0x94 - Software Unlock AAP Command Register"]
51    pub aapunlockcmd: crate::Reg<aapunlockcmd::AAPUNLOCKCMD_SPEC>,
52    #[doc = "0x98 - Cache Configuration Register 0"]
53    pub cacheconfig0: crate::Reg<cacheconfig0::CACHECONFIG0_SPEC>,
54    _reserved22: [u8; 0x64],
55    #[doc = "0x100 - RAM Control Enable Register"]
56    pub ramctrl: crate::Reg<ramctrl::RAMCTRL_SPEC>,
57    #[doc = "0x104 - RAM ECC Control Register"]
58    pub eccctrl: crate::Reg<eccctrl::ECCCTRL_SPEC>,
59    #[doc = "0x108 - RAM ECC Error Address Register"]
60    pub rameccaddr: crate::Reg<rameccaddr::RAMECCADDR_SPEC>,
61    #[doc = "0x10c - RAM1 ECC Error Address Register"]
62    pub ram1eccaddr: crate::Reg<ram1eccaddr::RAM1ECCADDR_SPEC>,
63    #[doc = "0x110 - RAM2 ECC Error Address Register"]
64    pub ram2eccaddr: crate::Reg<ram2eccaddr::RAM2ECCADDR_SPEC>,
65}
66#[doc = "CTRL register accessor: an alias for `Reg<CTRL_SPEC>`"]
67pub type CTRL = crate::Reg<ctrl::CTRL_SPEC>;
68#[doc = "Memory System Control Register"]
69pub mod ctrl;
70#[doc = "READCTRL register accessor: an alias for `Reg<READCTRL_SPEC>`"]
71pub type READCTRL = crate::Reg<readctrl::READCTRL_SPEC>;
72#[doc = "Read Control Register"]
73pub mod readctrl;
74#[doc = "WRITECTRL register accessor: an alias for `Reg<WRITECTRL_SPEC>`"]
75pub type WRITECTRL = crate::Reg<writectrl::WRITECTRL_SPEC>;
76#[doc = "Write Control Register"]
77pub mod writectrl;
78#[doc = "WRITECMD register accessor: an alias for `Reg<WRITECMD_SPEC>`"]
79pub type WRITECMD = crate::Reg<writecmd::WRITECMD_SPEC>;
80#[doc = "Write Command Register"]
81pub mod writecmd;
82#[doc = "ADDRB register accessor: an alias for `Reg<ADDRB_SPEC>`"]
83pub type ADDRB = crate::Reg<addrb::ADDRB_SPEC>;
84#[doc = "Page Erase/Write Address Buffer"]
85pub mod addrb;
86#[doc = "WDATA register accessor: an alias for `Reg<WDATA_SPEC>`"]
87pub type WDATA = crate::Reg<wdata::WDATA_SPEC>;
88#[doc = "Write Data Register"]
89pub mod wdata;
90#[doc = "STATUS register accessor: an alias for `Reg<STATUS_SPEC>`"]
91pub type STATUS = crate::Reg<status::STATUS_SPEC>;
92#[doc = "Status Register"]
93pub mod status;
94#[doc = "IF register accessor: an alias for `Reg<IF_SPEC>`"]
95pub type IF = crate::Reg<if_::IF_SPEC>;
96#[doc = "Interrupt Flag Register"]
97pub mod if_;
98#[doc = "IFS register accessor: an alias for `Reg<IFS_SPEC>`"]
99pub type IFS = crate::Reg<ifs::IFS_SPEC>;
100#[doc = "Interrupt Flag Set Register"]
101pub mod ifs;
102#[doc = "IFC register accessor: an alias for `Reg<IFC_SPEC>`"]
103pub type IFC = crate::Reg<ifc::IFC_SPEC>;
104#[doc = "Interrupt Flag Clear Register"]
105pub mod ifc;
106#[doc = "IEN register accessor: an alias for `Reg<IEN_SPEC>`"]
107pub type IEN = crate::Reg<ien::IEN_SPEC>;
108#[doc = "Interrupt Enable Register"]
109pub mod ien;
110#[doc = "LOCK register accessor: an alias for `Reg<LOCK_SPEC>`"]
111pub type LOCK = crate::Reg<lock::LOCK_SPEC>;
112#[doc = "Configuration Lock Register"]
113pub mod lock;
114#[doc = "CACHECMD register accessor: an alias for `Reg<CACHECMD_SPEC>`"]
115pub type CACHECMD = crate::Reg<cachecmd::CACHECMD_SPEC>;
116#[doc = "Flash Cache Command Register"]
117pub mod cachecmd;
118#[doc = "CACHEHITS register accessor: an alias for `Reg<CACHEHITS_SPEC>`"]
119pub type CACHEHITS = crate::Reg<cachehits::CACHEHITS_SPEC>;
120#[doc = "Cache Hits Performance Counter"]
121pub mod cachehits;
122#[doc = "CACHEMISSES register accessor: an alias for `Reg<CACHEMISSES_SPEC>`"]
123pub type CACHEMISSES = crate::Reg<cachemisses::CACHEMISSES_SPEC>;
124#[doc = "Cache Misses Performance Counter"]
125pub mod cachemisses;
126#[doc = "MASSLOCK register accessor: an alias for `Reg<MASSLOCK_SPEC>`"]
127pub type MASSLOCK = crate::Reg<masslock::MASSLOCK_SPEC>;
128#[doc = "Mass Erase Lock Register"]
129pub mod masslock;
130#[doc = "STARTUP register accessor: an alias for `Reg<STARTUP_SPEC>`"]
131pub type STARTUP = crate::Reg<startup::STARTUP_SPEC>;
132#[doc = "Startup Control"]
133pub mod startup;
134#[doc = "BANKSWITCHLOCK register accessor: an alias for `Reg<BANKSWITCHLOCK_SPEC>`"]
135pub type BANKSWITCHLOCK = crate::Reg<bankswitchlock::BANKSWITCHLOCK_SPEC>;
136#[doc = "Bank Switching Lock Register"]
137pub mod bankswitchlock;
138#[doc = "CMD register accessor: an alias for `Reg<CMD_SPEC>`"]
139pub type CMD = crate::Reg<cmd::CMD_SPEC>;
140#[doc = "Command Register"]
141pub mod cmd;
142#[doc = "BOOTLOADERCTRL register accessor: an alias for `Reg<BOOTLOADERCTRL_SPEC>`"]
143pub type BOOTLOADERCTRL = crate::Reg<bootloaderctrl::BOOTLOADERCTRL_SPEC>;
144#[doc = "Bootloader Read and Write Enable, Write Once Register"]
145pub mod bootloaderctrl;
146#[doc = "AAPUNLOCKCMD register accessor: an alias for `Reg<AAPUNLOCKCMD_SPEC>`"]
147pub type AAPUNLOCKCMD = crate::Reg<aapunlockcmd::AAPUNLOCKCMD_SPEC>;
148#[doc = "Software Unlock AAP Command Register"]
149pub mod aapunlockcmd;
150#[doc = "CACHECONFIG0 register accessor: an alias for `Reg<CACHECONFIG0_SPEC>`"]
151pub type CACHECONFIG0 = crate::Reg<cacheconfig0::CACHECONFIG0_SPEC>;
152#[doc = "Cache Configuration Register 0"]
153pub mod cacheconfig0;
154#[doc = "RAMCTRL register accessor: an alias for `Reg<RAMCTRL_SPEC>`"]
155pub type RAMCTRL = crate::Reg<ramctrl::RAMCTRL_SPEC>;
156#[doc = "RAM Control Enable Register"]
157pub mod ramctrl;
158#[doc = "ECCCTRL register accessor: an alias for `Reg<ECCCTRL_SPEC>`"]
159pub type ECCCTRL = crate::Reg<eccctrl::ECCCTRL_SPEC>;
160#[doc = "RAM ECC Control Register"]
161pub mod eccctrl;
162#[doc = "RAMECCADDR register accessor: an alias for `Reg<RAMECCADDR_SPEC>`"]
163pub type RAMECCADDR = crate::Reg<rameccaddr::RAMECCADDR_SPEC>;
164#[doc = "RAM ECC Error Address Register"]
165pub mod rameccaddr;
166#[doc = "RAM1ECCADDR register accessor: an alias for `Reg<RAM1ECCADDR_SPEC>`"]
167pub type RAM1ECCADDR = crate::Reg<ram1eccaddr::RAM1ECCADDR_SPEC>;
168#[doc = "RAM1 ECC Error Address Register"]
169pub mod ram1eccaddr;
170#[doc = "RAM2ECCADDR register accessor: an alias for `Reg<RAM2ECCADDR_SPEC>`"]
171pub type RAM2ECCADDR = crate::Reg<ram2eccaddr::RAM2ECCADDR_SPEC>;
172#[doc = "RAM2 ECC Error Address Register"]
173pub mod ram2eccaddr;