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
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - SMC Setup Register (CS_number = 0)"]
    pub setup0: SETUP0,
    #[doc = "0x04 - SMC Pulse Register (CS_number = 0)"]
    pub pulse0: PULSE0,
    #[doc = "0x08 - SMC Cycle Register (CS_number = 0)"]
    pub cycle0: CYCLE0,
    #[doc = "0x0c - SMC MODE Register (CS_number = 0)"]
    pub mode0: MODE0,
    #[doc = "0x10 - SMC Setup Register (CS_number = 1)"]
    pub setup1: SETUP1,
    #[doc = "0x14 - SMC Pulse Register (CS_number = 1)"]
    pub pulse1: PULSE1,
    #[doc = "0x18 - SMC Cycle Register (CS_number = 1)"]
    pub cycle1: CYCLE1,
    #[doc = "0x1c - SMC MODE Register (CS_number = 1)"]
    pub mode1: MODE1,
    #[doc = "0x20 - SMC Setup Register (CS_number = 2)"]
    pub setup2: SETUP2,
    #[doc = "0x24 - SMC Pulse Register (CS_number = 2)"]
    pub pulse2: PULSE2,
    #[doc = "0x28 - SMC Cycle Register (CS_number = 2)"]
    pub cycle2: CYCLE2,
    #[doc = "0x2c - SMC MODE Register (CS_number = 2)"]
    pub mode2: MODE2,
    #[doc = "0x30 - SMC Setup Register (CS_number = 3)"]
    pub setup3: SETUP3,
    #[doc = "0x34 - SMC Pulse Register (CS_number = 3)"]
    pub pulse3: PULSE3,
    #[doc = "0x38 - SMC Cycle Register (CS_number = 3)"]
    pub cycle3: CYCLE3,
    #[doc = "0x3c - SMC MODE Register (CS_number = 3)"]
    pub mode3: MODE3,
    _reserved16: [u8; 64usize],
    #[doc = "0x80 - SMC OCMS MODE Register"]
    pub ocms: OCMS,
    #[doc = "0x84 - SMC OCMS KEY1 Register"]
    pub key1: KEY1,
    #[doc = "0x88 - SMC OCMS KEY2 Register"]
    pub key2: KEY2,
    _reserved19: [u8; 88usize],
    #[doc = "0xe4 - SMC Write Protection Mode Register"]
    pub wpmr: WPMR,
    #[doc = "0xe8 - SMC Write Protection Status Register"]
    pub wpsr: WPSR,
}
#[doc = "SMC Setup Register (CS_number = 0)\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 [setup0](setup0) module"]
pub type SETUP0 = crate::Reg<u32, _SETUP0>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _SETUP0;
#[doc = "`read()` method returns [setup0::R](setup0::R) reader structure"]
impl crate::Readable for SETUP0 {}
#[doc = "`write(|w| ..)` method takes [setup0::W](setup0::W) writer structure"]
impl crate::Writable for SETUP0 {}
#[doc = "SMC Setup Register (CS_number = 0)"]
pub mod setup0;
#[doc = "SMC Pulse Register (CS_number = 0)\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 [pulse0](pulse0) module"]
pub type PULSE0 = crate::Reg<u32, _PULSE0>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _PULSE0;
#[doc = "`read()` method returns [pulse0::R](pulse0::R) reader structure"]
impl crate::Readable for PULSE0 {}
#[doc = "`write(|w| ..)` method takes [pulse0::W](pulse0::W) writer structure"]
impl crate::Writable for PULSE0 {}
#[doc = "SMC Pulse Register (CS_number = 0)"]
pub mod pulse0;
#[doc = "SMC Cycle Register (CS_number = 0)\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 [cycle0](cycle0) module"]
pub type CYCLE0 = crate::Reg<u32, _CYCLE0>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _CYCLE0;
#[doc = "`read()` method returns [cycle0::R](cycle0::R) reader structure"]
impl crate::Readable for CYCLE0 {}
#[doc = "`write(|w| ..)` method takes [cycle0::W](cycle0::W) writer structure"]
impl crate::Writable for CYCLE0 {}
#[doc = "SMC Cycle Register (CS_number = 0)"]
pub mod cycle0;
#[doc = "SMC MODE Register (CS_number = 0)\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 [mode0](mode0) module"]
pub type MODE0 = crate::Reg<u32, _MODE0>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _MODE0;
#[doc = "`read()` method returns [mode0::R](mode0::R) reader structure"]
impl crate::Readable for MODE0 {}
#[doc = "`write(|w| ..)` method takes [mode0::W](mode0::W) writer structure"]
impl crate::Writable for MODE0 {}
#[doc = "SMC MODE Register (CS_number = 0)"]
pub mod mode0;
#[doc = "SMC Setup Register (CS_number = 1)\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 [setup1](setup1) module"]
pub type SETUP1 = crate::Reg<u32, _SETUP1>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _SETUP1;
#[doc = "`read()` method returns [setup1::R](setup1::R) reader structure"]
impl crate::Readable for SETUP1 {}
#[doc = "`write(|w| ..)` method takes [setup1::W](setup1::W) writer structure"]
impl crate::Writable for SETUP1 {}
#[doc = "SMC Setup Register (CS_number = 1)"]
pub mod setup1;
#[doc = "SMC Pulse Register (CS_number = 1)\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 [pulse1](pulse1) module"]
pub type PULSE1 = crate::Reg<u32, _PULSE1>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _PULSE1;
#[doc = "`read()` method returns [pulse1::R](pulse1::R) reader structure"]
impl crate::Readable for PULSE1 {}
#[doc = "`write(|w| ..)` method takes [pulse1::W](pulse1::W) writer structure"]
impl crate::Writable for PULSE1 {}
#[doc = "SMC Pulse Register (CS_number = 1)"]
pub mod pulse1;
#[doc = "SMC Cycle Register (CS_number = 1)\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 [cycle1](cycle1) module"]
pub type CYCLE1 = crate::Reg<u32, _CYCLE1>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _CYCLE1;
#[doc = "`read()` method returns [cycle1::R](cycle1::R) reader structure"]
impl crate::Readable for CYCLE1 {}
#[doc = "`write(|w| ..)` method takes [cycle1::W](cycle1::W) writer structure"]
impl crate::Writable for CYCLE1 {}
#[doc = "SMC Cycle Register (CS_number = 1)"]
pub mod cycle1;
#[doc = "SMC MODE Register (CS_number = 1)\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 [mode1](mode1) module"]
pub type MODE1 = crate::Reg<u32, _MODE1>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _MODE1;
#[doc = "`read()` method returns [mode1::R](mode1::R) reader structure"]
impl crate::Readable for MODE1 {}
#[doc = "`write(|w| ..)` method takes [mode1::W](mode1::W) writer structure"]
impl crate::Writable for MODE1 {}
#[doc = "SMC MODE Register (CS_number = 1)"]
pub mod mode1;
#[doc = "SMC Setup Register (CS_number = 2)\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 [setup2](setup2) module"]
pub type SETUP2 = crate::Reg<u32, _SETUP2>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _SETUP2;
#[doc = "`read()` method returns [setup2::R](setup2::R) reader structure"]
impl crate::Readable for SETUP2 {}
#[doc = "`write(|w| ..)` method takes [setup2::W](setup2::W) writer structure"]
impl crate::Writable for SETUP2 {}
#[doc = "SMC Setup Register (CS_number = 2)"]
pub mod setup2;
#[doc = "SMC Pulse Register (CS_number = 2)\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 [pulse2](pulse2) module"]
pub type PULSE2 = crate::Reg<u32, _PULSE2>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _PULSE2;
#[doc = "`read()` method returns [pulse2::R](pulse2::R) reader structure"]
impl crate::Readable for PULSE2 {}
#[doc = "`write(|w| ..)` method takes [pulse2::W](pulse2::W) writer structure"]
impl crate::Writable for PULSE2 {}
#[doc = "SMC Pulse Register (CS_number = 2)"]
pub mod pulse2;
#[doc = "SMC Cycle Register (CS_number = 2)\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 [cycle2](cycle2) module"]
pub type CYCLE2 = crate::Reg<u32, _CYCLE2>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _CYCLE2;
#[doc = "`read()` method returns [cycle2::R](cycle2::R) reader structure"]
impl crate::Readable for CYCLE2 {}
#[doc = "`write(|w| ..)` method takes [cycle2::W](cycle2::W) writer structure"]
impl crate::Writable for CYCLE2 {}
#[doc = "SMC Cycle Register (CS_number = 2)"]
pub mod cycle2;
#[doc = "SMC MODE Register (CS_number = 2)\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 [mode2](mode2) module"]
pub type MODE2 = crate::Reg<u32, _MODE2>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _MODE2;
#[doc = "`read()` method returns [mode2::R](mode2::R) reader structure"]
impl crate::Readable for MODE2 {}
#[doc = "`write(|w| ..)` method takes [mode2::W](mode2::W) writer structure"]
impl crate::Writable for MODE2 {}
#[doc = "SMC MODE Register (CS_number = 2)"]
pub mod mode2;
#[doc = "SMC Setup Register (CS_number = 3)\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 [setup3](setup3) module"]
pub type SETUP3 = crate::Reg<u32, _SETUP3>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _SETUP3;
#[doc = "`read()` method returns [setup3::R](setup3::R) reader structure"]
impl crate::Readable for SETUP3 {}
#[doc = "`write(|w| ..)` method takes [setup3::W](setup3::W) writer structure"]
impl crate::Writable for SETUP3 {}
#[doc = "SMC Setup Register (CS_number = 3)"]
pub mod setup3;
#[doc = "SMC Pulse Register (CS_number = 3)\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 [pulse3](pulse3) module"]
pub type PULSE3 = crate::Reg<u32, _PULSE3>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _PULSE3;
#[doc = "`read()` method returns [pulse3::R](pulse3::R) reader structure"]
impl crate::Readable for PULSE3 {}
#[doc = "`write(|w| ..)` method takes [pulse3::W](pulse3::W) writer structure"]
impl crate::Writable for PULSE3 {}
#[doc = "SMC Pulse Register (CS_number = 3)"]
pub mod pulse3;
#[doc = "SMC Cycle Register (CS_number = 3)\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 [cycle3](cycle3) module"]
pub type CYCLE3 = crate::Reg<u32, _CYCLE3>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _CYCLE3;
#[doc = "`read()` method returns [cycle3::R](cycle3::R) reader structure"]
impl crate::Readable for CYCLE3 {}
#[doc = "`write(|w| ..)` method takes [cycle3::W](cycle3::W) writer structure"]
impl crate::Writable for CYCLE3 {}
#[doc = "SMC Cycle Register (CS_number = 3)"]
pub mod cycle3;
#[doc = "SMC MODE Register (CS_number = 3)\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 [mode3](mode3) module"]
pub type MODE3 = crate::Reg<u32, _MODE3>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _MODE3;
#[doc = "`read()` method returns [mode3::R](mode3::R) reader structure"]
impl crate::Readable for MODE3 {}
#[doc = "`write(|w| ..)` method takes [mode3::W](mode3::W) writer structure"]
impl crate::Writable for MODE3 {}
#[doc = "SMC MODE Register (CS_number = 3)"]
pub mod mode3;
#[doc = "SMC OCMS MODE 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 [ocms](ocms) module"]
pub type OCMS = crate::Reg<u32, _OCMS>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _OCMS;
#[doc = "`read()` method returns [ocms::R](ocms::R) reader structure"]
impl crate::Readable for OCMS {}
#[doc = "`write(|w| ..)` method takes [ocms::W](ocms::W) writer structure"]
impl crate::Writable for OCMS {}
#[doc = "SMC OCMS MODE Register"]
pub mod ocms;
#[doc = "SMC OCMS KEY1 Register\n\nThis register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [key1](key1) module"]
pub type KEY1 = crate::Reg<u32, _KEY1>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _KEY1;
#[doc = "`write(|w| ..)` method takes [key1::W](key1::W) writer structure"]
impl crate::Writable for KEY1 {}
#[doc = "SMC OCMS KEY1 Register"]
pub mod key1;
#[doc = "SMC OCMS KEY2 Register\n\nThis register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [key2](key2) module"]
pub type KEY2 = crate::Reg<u32, _KEY2>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _KEY2;
#[doc = "`write(|w| ..)` method takes [key2::W](key2::W) writer structure"]
impl crate::Writable for KEY2 {}
#[doc = "SMC OCMS KEY2 Register"]
pub mod key2;
#[doc = "SMC Write Protection Mode 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 [wpmr](wpmr) module"]
pub type WPMR = crate::Reg<u32, _WPMR>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _WPMR;
#[doc = "`read()` method returns [wpmr::R](wpmr::R) reader structure"]
impl crate::Readable for WPMR {}
#[doc = "`write(|w| ..)` method takes [wpmr::W](wpmr::W) writer structure"]
impl crate::Writable for WPMR {}
#[doc = "SMC Write Protection Mode Register"]
pub mod wpmr;
#[doc = "SMC Write Protection Status Register\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [wpsr](wpsr) module"]
pub type WPSR = crate::Reg<u32, _WPSR>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _WPSR;
#[doc = "`read()` method returns [wpsr::R](wpsr::R) reader structure"]
impl crate::Readable for WPSR {}
#[doc = "SMC Write Protection Status Register"]
pub mod wpsr;