1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - Main Clock Control"]
    pub mcctrl: MCCTRL,
    #[doc = "0x04 - CPU Clock Select"]
    pub cpusel: CPUSEL,
    _reserved2: [u8; 0x04],
    #[doc = "0x0c - PBA Clock Select"]
    pub pbasel: PBASEL,
    #[doc = "0x10 - PBB Clock Select"]
    pub pbbsel: PBBSEL,
    #[doc = "0x14 - PBC Clock Select"]
    pub pbcsel: PBCSEL,
    #[doc = "0x18 - PBD Clock Select"]
    pub pbdsel: PBDSEL,
    _reserved6: [u8; 0x04],
    #[doc = "0x20 - CPU Mask"]
    pub cpumask: CPUMASK,
    #[doc = "0x24 - HSB Mask"]
    pub hsbmask: HSBMASK,
    #[doc = "0x28 - PBA Mask"]
    pub pbamask: PBAMASK,
    #[doc = "0x2c - PBB Mask"]
    pub pbbmask: PBBMASK,
    #[doc = "0x30 - PBC Mask"]
    pub pbcmask: PBCMASK,
    #[doc = "0x34 - PBD Mask"]
    pub pbdmask: PBDMASK,
    _reserved12: [u8; 0x08],
    #[doc = "0x40 - PBA Divided Clock Mask"]
    pub pbadivmask: PBADIVMASK,
    _reserved13: [u8; 0x10],
    #[doc = "0x54 - Clock Failure Detector Control"]
    pub cfdctrl: CFDCTRL,
    #[doc = "0x58 - Unlock Register"]
    pub unlock: UNLOCK,
    _reserved15: [u8; 0x64],
    #[doc = "0xc0 - Interrupt Enable Register"]
    pub ier: IER,
    #[doc = "0xc4 - Interrupt Disable Register"]
    pub idr: IDR,
    #[doc = "0xc8 - Interrupt Mask Register"]
    pub imr: IMR,
    #[doc = "0xcc - Interrupt Status Register"]
    pub isr: ISR,
    #[doc = "0xd0 - Interrupt Clear Register"]
    pub icr: ICR,
    #[doc = "0xd4 - Status Register"]
    pub sr: SR,
    _reserved21: [u8; 0x88],
    #[doc = "0x160 - Peripheral Power Control Register"]
    pub ppcr: PPCR,
    _reserved22: [u8; 0x1c],
    #[doc = "0x180 - Reset Cause Register"]
    pub rcause: RCAUSE,
    #[doc = "0x184 - Wake Cause Register"]
    pub wcause: WCAUSE,
    #[doc = "0x188 - Asynchronous Wake Enable"]
    pub awen: AWEN,
    _reserved25: [u8; 0x04],
    #[doc = "0x190 - Obsvervability"]
    pub obs: OBS,
    #[doc = "0x194 - Fast Sleep Register"]
    pub fastsleep: FASTSLEEP,
    _reserved27: [u8; 0x0260],
    #[doc = "0x3f8 - Configuration Register"]
    pub config: CONFIG,
    #[doc = "0x3fc - Version Register"]
    pub version: VERSION,
}
#[doc = "AWEN (rw) register accessor: an alias for `Reg<AWEN_SPEC>`"]
pub type AWEN = crate::Reg<awen::AWEN_SPEC>;
#[doc = "Asynchronous Wake Enable"]
pub mod awen;
#[doc = "CFDCTRL (rw) register accessor: an alias for `Reg<CFDCTRL_SPEC>`"]
pub type CFDCTRL = crate::Reg<cfdctrl::CFDCTRL_SPEC>;
#[doc = "Clock Failure Detector Control"]
pub mod cfdctrl;
#[doc = "CONFIG (r) register accessor: an alias for `Reg<CONFIG_SPEC>`"]
pub type CONFIG = crate::Reg<config::CONFIG_SPEC>;
#[doc = "Configuration Register"]
pub mod config;
#[doc = "CPUMASK (rw) register accessor: an alias for `Reg<CPUMASK_SPEC>`"]
pub type CPUMASK = crate::Reg<cpumask::CPUMASK_SPEC>;
#[doc = "CPU Mask"]
pub mod cpumask;
#[doc = "CPUSEL (rw) register accessor: an alias for `Reg<CPUSEL_SPEC>`"]
pub type CPUSEL = crate::Reg<cpusel::CPUSEL_SPEC>;
#[doc = "CPU Clock Select"]
pub mod cpusel;
#[doc = "FASTSLEEP (rw) register accessor: an alias for `Reg<FASTSLEEP_SPEC>`"]
pub type FASTSLEEP = crate::Reg<fastsleep::FASTSLEEP_SPEC>;
#[doc = "Fast Sleep Register"]
pub mod fastsleep;
#[doc = "HSBMASK (rw) register accessor: an alias for `Reg<HSBMASK_SPEC>`"]
pub type HSBMASK = crate::Reg<hsbmask::HSBMASK_SPEC>;
#[doc = "HSB Mask"]
pub mod hsbmask;
#[doc = "ICR (w) register accessor: an alias for `Reg<ICR_SPEC>`"]
pub type ICR = crate::Reg<icr::ICR_SPEC>;
#[doc = "Interrupt Clear Register"]
pub mod icr;
#[doc = "IDR (w) register accessor: an alias for `Reg<IDR_SPEC>`"]
pub type IDR = crate::Reg<idr::IDR_SPEC>;
#[doc = "Interrupt Disable Register"]
pub mod idr;
#[doc = "IER (w) register accessor: an alias for `Reg<IER_SPEC>`"]
pub type IER = crate::Reg<ier::IER_SPEC>;
#[doc = "Interrupt Enable Register"]
pub mod ier;
#[doc = "IMR (r) register accessor: an alias for `Reg<IMR_SPEC>`"]
pub type IMR = crate::Reg<imr::IMR_SPEC>;
#[doc = "Interrupt Mask Register"]
pub mod imr;
#[doc = "ISR (r) register accessor: an alias for `Reg<ISR_SPEC>`"]
pub type ISR = crate::Reg<isr::ISR_SPEC>;
#[doc = "Interrupt Status Register"]
pub mod isr;
#[doc = "MCCTRL (rw) register accessor: an alias for `Reg<MCCTRL_SPEC>`"]
pub type MCCTRL = crate::Reg<mcctrl::MCCTRL_SPEC>;
#[doc = "Main Clock Control"]
pub mod mcctrl;
#[doc = "OBS (rw) register accessor: an alias for `Reg<OBS_SPEC>`"]
pub type OBS = crate::Reg<obs::OBS_SPEC>;
#[doc = "Obsvervability"]
pub mod obs;
#[doc = "PBADIVMASK (rw) register accessor: an alias for `Reg<PBADIVMASK_SPEC>`"]
pub type PBADIVMASK = crate::Reg<pbadivmask::PBADIVMASK_SPEC>;
#[doc = "PBA Divided Clock Mask"]
pub mod pbadivmask;
#[doc = "PBAMASK (rw) register accessor: an alias for `Reg<PBAMASK_SPEC>`"]
pub type PBAMASK = crate::Reg<pbamask::PBAMASK_SPEC>;
#[doc = "PBA Mask"]
pub mod pbamask;
#[doc = "PBASEL (rw) register accessor: an alias for `Reg<PBASEL_SPEC>`"]
pub type PBASEL = crate::Reg<pbasel::PBASEL_SPEC>;
#[doc = "PBA Clock Select"]
pub mod pbasel;
#[doc = "PBBMASK (rw) register accessor: an alias for `Reg<PBBMASK_SPEC>`"]
pub type PBBMASK = crate::Reg<pbbmask::PBBMASK_SPEC>;
#[doc = "PBB Mask"]
pub mod pbbmask;
#[doc = "PBBSEL (rw) register accessor: an alias for `Reg<PBBSEL_SPEC>`"]
pub type PBBSEL = crate::Reg<pbbsel::PBBSEL_SPEC>;
#[doc = "PBB Clock Select"]
pub mod pbbsel;
#[doc = "PBCMASK (rw) register accessor: an alias for `Reg<PBCMASK_SPEC>`"]
pub type PBCMASK = crate::Reg<pbcmask::PBCMASK_SPEC>;
#[doc = "PBC Mask"]
pub mod pbcmask;
#[doc = "PBCSEL (rw) register accessor: an alias for `Reg<PBCSEL_SPEC>`"]
pub type PBCSEL = crate::Reg<pbcsel::PBCSEL_SPEC>;
#[doc = "PBC Clock Select"]
pub mod pbcsel;
#[doc = "PBDMASK (rw) register accessor: an alias for `Reg<PBDMASK_SPEC>`"]
pub type PBDMASK = crate::Reg<pbdmask::PBDMASK_SPEC>;
#[doc = "PBD Mask"]
pub mod pbdmask;
#[doc = "PBDSEL (rw) register accessor: an alias for `Reg<PBDSEL_SPEC>`"]
pub type PBDSEL = crate::Reg<pbdsel::PBDSEL_SPEC>;
#[doc = "PBD Clock Select"]
pub mod pbdsel;
#[doc = "PPCR (rw) register accessor: an alias for `Reg<PPCR_SPEC>`"]
pub type PPCR = crate::Reg<ppcr::PPCR_SPEC>;
#[doc = "Peripheral Power Control Register"]
pub mod ppcr;
#[doc = "RCAUSE (r) register accessor: an alias for `Reg<RCAUSE_SPEC>`"]
pub type RCAUSE = crate::Reg<rcause::RCAUSE_SPEC>;
#[doc = "Reset Cause Register"]
pub mod rcause;
#[doc = "SR (r) register accessor: an alias for `Reg<SR_SPEC>`"]
pub type SR = crate::Reg<sr::SR_SPEC>;
#[doc = "Status Register"]
pub mod sr;
#[doc = "UNLOCK (w) register accessor: an alias for `Reg<UNLOCK_SPEC>`"]
pub type UNLOCK = crate::Reg<unlock::UNLOCK_SPEC>;
#[doc = "Unlock Register"]
pub mod unlock;
#[doc = "VERSION (r) register accessor: an alias for `Reg<VERSION_SPEC>`"]
pub type VERSION = crate::Reg<version::VERSION_SPEC>;
#[doc = "Version Register"]
pub mod version;
#[doc = "WCAUSE (r) register accessor: an alias for `Reg<WCAUSE_SPEC>`"]
pub type WCAUSE = crate::Reg<wcause::WCAUSE_SPEC>;
#[doc = "Wake Cause Register"]
pub mod wcause;