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
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - Interrupt Enable Register"]
    pub ier: IER,
    #[doc = "0x04 - Interrupt Disable Register"]
    pub idr: IDR,
    #[doc = "0x08 - Interrupt Mask Register"]
    pub imr: IMR,
    #[doc = "0x0c - Interrupt Status Register"]
    pub isr: ISR,
    #[doc = "0x10 - Interrupt Clear Register"]
    pub icr: ICR,
    #[doc = "0x14 - Power and Clocks Status Register"]
    pub pclksr: PCLKSR,
    #[doc = "0x18 - Unlock Register"]
    pub unlock: UNLOCK,
    #[doc = "0x1c - Chip Specific Configuration Register"]
    pub cscr: CSCR,
    #[doc = "0x20 - Oscillator Control Register"]
    pub oscctrl0: OSCCTRL0,
    #[doc = "0x24 - PLL0 Control Register"]
    pub pll: PLL,
    #[doc = "0x28 - DFLL0 Config Register"]
    pub dfll0conf: DFLL0CONF,
    #[doc = "0x2c - DFLL Value Register"]
    pub dfll0val: DFLL0VAL,
    #[doc = "0x30 - DFLL0 Multiplier Register"]
    pub dfll0mul: DFLL0MUL,
    #[doc = "0x34 - DFLL0 Step Register"]
    pub dfll0step: DFLL0STEP,
    #[doc = "0x38 - DFLL0 Spread Spectrum Generator Control Register"]
    pub dfll0ssg: DFLL0SSG,
    #[doc = "0x3c - DFLL0 Ratio Registe"]
    pub dfll0ratio: DFLL0RATIO,
    #[doc = "0x40 - DFLL0 Synchronization Register"]
    pub dfll0sync: DFLL0SYNC,
    #[doc = "0x44 - System RC Oscillator Calibration Register"]
    pub rccr: RCCR,
    #[doc = "0x48 - 4/8/12 MHz RC Oscillator Configuration Register"]
    pub rcfastcfg: RCFASTCFG,
    #[doc = "0x4c - 4/8/12 MHz RC Oscillator Status Register"]
    pub rcfastsr: RCFASTSR,
    #[doc = "0x50 - 80 MHz RC Oscillator Register"]
    pub rc80mcr: RC80MCR,
    _reserved21: [u8; 0x10],
    #[doc = "0x64 - High Resolution Prescaler Control Register"]
    pub hrpcr: HRPCR,
    #[doc = "0x68 - Fractional Prescaler Control Register"]
    pub fpcr: FPCR,
    #[doc = "0x6c - Fractional Prescaler Multiplier Register"]
    pub fpmul: FPMUL,
    #[doc = "0x70 - Fractional Prescaler DIVIDER Register"]
    pub fpdiv: FPDIV,
    #[doc = "0x74..0xa4 - Generic Clock Control"]
    pub gcctrl: [GCCTRL; 12],
    _reserved26: [u8; 0x0334],
    #[doc = "0x3d8 - 4/8/12 MHz RC Oscillator Version Register"]
    pub rcfastversion: RCFASTVERSION,
    #[doc = "0x3dc - Generic Clock Prescaler Version Register"]
    pub gclkprescversion: GCLKPRESCVERSION,
    #[doc = "0x3e0 - PLL Version Register"]
    pub pllifaversion: PLLIFAVERSION,
    #[doc = "0x3e4 - Oscillator 0 Version Register"]
    pub oscifaversion: OSCIFAVERSION,
    #[doc = "0x3e8 - DFLL Version Register"]
    pub dfllifbversion: DFLLIFBVERSION,
    #[doc = "0x3ec - System RC Oscillator Version Register"]
    pub rcoscifaversion: RCOSCIFAVERSION,
    #[doc = "0x3f0 - Frequency Locked Oscillator Version Register"]
    pub floversion: FLOVERSION,
    #[doc = "0x3f4 - 80MHz RC Oscillator Version Register"]
    pub rc80mversion: RC80MVERSION,
    #[doc = "0x3f8 - Generic Clock Version Register"]
    pub gclkifversion: GCLKIFVERSION,
    #[doc = "0x3fc - SCIF Version Register"]
    pub version: VERSION,
}
#[doc = "CSCR (rw) register accessor: an alias for `Reg<CSCR_SPEC>`"]
pub type CSCR = crate::Reg<cscr::CSCR_SPEC>;
#[doc = "Chip Specific Configuration Register"]
pub mod cscr;
#[doc = "DFLLIFBVERSION (r) register accessor: an alias for `Reg<DFLLIFBVERSION_SPEC>`"]
pub type DFLLIFBVERSION = crate::Reg<dfllifbversion::DFLLIFBVERSION_SPEC>;
#[doc = "DFLL Version Register"]
pub mod dfllifbversion;
#[doc = "DFLL0CONF (rw) register accessor: an alias for `Reg<DFLL0CONF_SPEC>`"]
pub type DFLL0CONF = crate::Reg<dfll0conf::DFLL0CONF_SPEC>;
#[doc = "DFLL0 Config Register"]
pub mod dfll0conf;
#[doc = "DFLL0MUL (rw) register accessor: an alias for `Reg<DFLL0MUL_SPEC>`"]
pub type DFLL0MUL = crate::Reg<dfll0mul::DFLL0MUL_SPEC>;
#[doc = "DFLL0 Multiplier Register"]
pub mod dfll0mul;
#[doc = "DFLL0RATIO (r) register accessor: an alias for `Reg<DFLL0RATIO_SPEC>`"]
pub type DFLL0RATIO = crate::Reg<dfll0ratio::DFLL0RATIO_SPEC>;
#[doc = "DFLL0 Ratio Registe"]
pub mod dfll0ratio;
#[doc = "DFLL0SSG (rw) register accessor: an alias for `Reg<DFLL0SSG_SPEC>`"]
pub type DFLL0SSG = crate::Reg<dfll0ssg::DFLL0SSG_SPEC>;
#[doc = "DFLL0 Spread Spectrum Generator Control Register"]
pub mod dfll0ssg;
#[doc = "DFLL0STEP (rw) register accessor: an alias for `Reg<DFLL0STEP_SPEC>`"]
pub type DFLL0STEP = crate::Reg<dfll0step::DFLL0STEP_SPEC>;
#[doc = "DFLL0 Step Register"]
pub mod dfll0step;
#[doc = "DFLL0SYNC (w) register accessor: an alias for `Reg<DFLL0SYNC_SPEC>`"]
pub type DFLL0SYNC = crate::Reg<dfll0sync::DFLL0SYNC_SPEC>;
#[doc = "DFLL0 Synchronization Register"]
pub mod dfll0sync;
#[doc = "DFLL0VAL (rw) register accessor: an alias for `Reg<DFLL0VAL_SPEC>`"]
pub type DFLL0VAL = crate::Reg<dfll0val::DFLL0VAL_SPEC>;
#[doc = "DFLL Value Register"]
pub mod dfll0val;
#[doc = "FLOVERSION (r) register accessor: an alias for `Reg<FLOVERSION_SPEC>`"]
pub type FLOVERSION = crate::Reg<floversion::FLOVERSION_SPEC>;
#[doc = "Frequency Locked Oscillator Version Register"]
pub mod floversion;
#[doc = "FPCR (rw) register accessor: an alias for `Reg<FPCR_SPEC>`"]
pub type FPCR = crate::Reg<fpcr::FPCR_SPEC>;
#[doc = "Fractional Prescaler Control Register"]
pub mod fpcr;
#[doc = "FPDIV (rw) register accessor: an alias for `Reg<FPDIV_SPEC>`"]
pub type FPDIV = crate::Reg<fpdiv::FPDIV_SPEC>;
#[doc = "Fractional Prescaler DIVIDER Register"]
pub mod fpdiv;
#[doc = "FPMUL (rw) register accessor: an alias for `Reg<FPMUL_SPEC>`"]
pub type FPMUL = crate::Reg<fpmul::FPMUL_SPEC>;
#[doc = "Fractional Prescaler Multiplier Register"]
pub mod fpmul;
#[doc = "GCCTRL (rw) register accessor: an alias for `Reg<GCCTRL_SPEC>`"]
pub type GCCTRL = crate::Reg<gcctrl::GCCTRL_SPEC>;
#[doc = "Generic Clock Control"]
pub mod gcctrl;
#[doc = "GCLKIFVERSION (r) register accessor: an alias for `Reg<GCLKIFVERSION_SPEC>`"]
pub type GCLKIFVERSION = crate::Reg<gclkifversion::GCLKIFVERSION_SPEC>;
#[doc = "Generic Clock Version Register"]
pub mod gclkifversion;
#[doc = "GCLKPRESCVERSION (r) register accessor: an alias for `Reg<GCLKPRESCVERSION_SPEC>`"]
pub type GCLKPRESCVERSION = crate::Reg<gclkprescversion::GCLKPRESCVERSION_SPEC>;
#[doc = "Generic Clock Prescaler Version Register"]
pub mod gclkprescversion;
#[doc = "HRPCR (rw) register accessor: an alias for `Reg<HRPCR_SPEC>`"]
pub type HRPCR = crate::Reg<hrpcr::HRPCR_SPEC>;
#[doc = "High Resolution Prescaler Control Register"]
pub mod hrpcr;
#[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 = "OSCCTRL0 (rw) register accessor: an alias for `Reg<OSCCTRL0_SPEC>`"]
pub type OSCCTRL0 = crate::Reg<oscctrl0::OSCCTRL0_SPEC>;
#[doc = "Oscillator Control Register"]
pub mod oscctrl0;
#[doc = "OSCIFAVERSION (r) register accessor: an alias for `Reg<OSCIFAVERSION_SPEC>`"]
pub type OSCIFAVERSION = crate::Reg<oscifaversion::OSCIFAVERSION_SPEC>;
#[doc = "Oscillator 0 Version Register"]
pub mod oscifaversion;
#[doc = "PCLKSR (r) register accessor: an alias for `Reg<PCLKSR_SPEC>`"]
pub type PCLKSR = crate::Reg<pclksr::PCLKSR_SPEC>;
#[doc = "Power and Clocks Status Register"]
pub mod pclksr;
#[doc = "PLLIFAVERSION (r) register accessor: an alias for `Reg<PLLIFAVERSION_SPEC>`"]
pub type PLLIFAVERSION = crate::Reg<pllifaversion::PLLIFAVERSION_SPEC>;
#[doc = "PLL Version Register"]
pub mod pllifaversion;
#[doc = "PLL (rw) register accessor: an alias for `Reg<PLL_SPEC>`"]
pub type PLL = crate::Reg<pll::PLL_SPEC>;
#[doc = "PLL0 Control Register"]
pub mod pll;
#[doc = "RCCR (rw) register accessor: an alias for `Reg<RCCR_SPEC>`"]
pub type RCCR = crate::Reg<rccr::RCCR_SPEC>;
#[doc = "System RC Oscillator Calibration Register"]
pub mod rccr;
#[doc = "RCFASTCFG (rw) register accessor: an alias for `Reg<RCFASTCFG_SPEC>`"]
pub type RCFASTCFG = crate::Reg<rcfastcfg::RCFASTCFG_SPEC>;
#[doc = "4/8/12 MHz RC Oscillator Configuration Register"]
pub mod rcfastcfg;
#[doc = "RCFASTSR (rw) register accessor: an alias for `Reg<RCFASTSR_SPEC>`"]
pub type RCFASTSR = crate::Reg<rcfastsr::RCFASTSR_SPEC>;
#[doc = "4/8/12 MHz RC Oscillator Status Register"]
pub mod rcfastsr;
#[doc = "RCFASTVERSION (r) register accessor: an alias for `Reg<RCFASTVERSION_SPEC>`"]
pub type RCFASTVERSION = crate::Reg<rcfastversion::RCFASTVERSION_SPEC>;
#[doc = "4/8/12 MHz RC Oscillator Version Register"]
pub mod rcfastversion;
#[doc = "RCOSCIFAVERSION (r) register accessor: an alias for `Reg<RCOSCIFAVERSION_SPEC>`"]
pub type RCOSCIFAVERSION = crate::Reg<rcoscifaversion::RCOSCIFAVERSION_SPEC>;
#[doc = "System RC Oscillator Version Register"]
pub mod rcoscifaversion;
#[doc = "RC80MCR (rw) register accessor: an alias for `Reg<RC80MCR_SPEC>`"]
pub type RC80MCR = crate::Reg<rc80mcr::RC80MCR_SPEC>;
#[doc = "80 MHz RC Oscillator Register"]
pub mod rc80mcr;
#[doc = "RC80MVERSION (r) register accessor: an alias for `Reg<RC80MVERSION_SPEC>`"]
pub type RC80MVERSION = crate::Reg<rc80mversion::RC80MVERSION_SPEC>;
#[doc = "80MHz RC Oscillator Version Register"]
pub mod rc80mversion;
#[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 = "SCIF Version Register"]
pub mod version;