jh71xx-pac 0.11.1

Peripheral access crate for the JH71xx SoCs
Documentation
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
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
#[repr(C)]
#[doc = "Register block"]
pub struct RegisterBlock {
    i2c_con: I2cCon,
    tar: Tar,
    sar: Sar,
    _reserved3: [u8; 0x04],
    data_cmd: DataCmd,
    ss_scl_hcnt: SsSclHcnt,
    ss_scl_lcnt: SsSclLcnt,
    fs_scl_hcnt: FsSclHcnt,
    fs_scl_lcnt: FsSclLcnt,
    hs_scl_hcnt: HsSclHcnt,
    hs_scl_lcnt: HsSclLcnt,
    intr_stat: IntrStat,
    intr_mask: IntrMask,
    raw_intr_stat: RawIntrStat,
    rx_tl: RxTl,
    tx_tl: TxTl,
    clr_intr: ClrIntr,
    clr_rx_under: ClrRxUnder,
    clr_rx_over: ClrRxOver,
    clr_tx_over: ClrTxOver,
    clr_rd_req: ClrRdReq,
    clr_tx_abrt: ClrTxAbrt,
    clr_rx_done: ClrRxDone,
    clr_activity: ClrActivity,
    clr_stop_det: ClrStopDet,
    clr_start_det: ClrStartDet,
    clr_gen_call: ClrGenCall,
    enable: Enable,
    status: Status,
    txflr: Txflr,
    rxflr: Rxflr,
    sda_hold: SdaHold,
    tx_abrt_source: TxAbrtSource,
    _reserved32: [u8; 0x18],
    enable_status: EnableStatus,
    _reserved33: [u8; 0x08],
    clr_restart_det: ClrRestartDet,
    _reserved34: [u8; 0x48],
    comp_param_1: CompParam1,
    comp_version: CompVersion,
    comp_type: CompType,
}
impl RegisterBlock {
    #[doc = "0x00 - DesignWare I2C CON"]
    #[inline(always)]
    pub const fn i2c_con(&self) -> &I2cCon {
        &self.i2c_con
    }
    #[doc = "0x04 - DesignWare I2C TAR"]
    #[inline(always)]
    pub const fn tar(&self) -> &Tar {
        &self.tar
    }
    #[doc = "0x08 - DesignWare I2C SAR"]
    #[inline(always)]
    pub const fn sar(&self) -> &Sar {
        &self.sar
    }
    #[doc = "0x10 - DesignWare I2C Data Command"]
    #[inline(always)]
    pub const fn data_cmd(&self) -> &DataCmd {
        &self.data_cmd
    }
    #[doc = "0x14 - DesignWare I2C SS SCL HCNT"]
    #[inline(always)]
    pub const fn ss_scl_hcnt(&self) -> &SsSclHcnt {
        &self.ss_scl_hcnt
    }
    #[doc = "0x18 - DesignWare I2C SS SCL LCNT"]
    #[inline(always)]
    pub const fn ss_scl_lcnt(&self) -> &SsSclLcnt {
        &self.ss_scl_lcnt
    }
    #[doc = "0x1c - DesignWare I2C FS SCL HCNT"]
    #[inline(always)]
    pub const fn fs_scl_hcnt(&self) -> &FsSclHcnt {
        &self.fs_scl_hcnt
    }
    #[doc = "0x20 - DesignWare I2C FS SCL LCNT"]
    #[inline(always)]
    pub const fn fs_scl_lcnt(&self) -> &FsSclLcnt {
        &self.fs_scl_lcnt
    }
    #[doc = "0x24 - DesignWare I2C HS SCL HCNT"]
    #[inline(always)]
    pub const fn hs_scl_hcnt(&self) -> &HsSclHcnt {
        &self.hs_scl_hcnt
    }
    #[doc = "0x28 - DesignWare I2C HS SCL LCNT"]
    #[inline(always)]
    pub const fn hs_scl_lcnt(&self) -> &HsSclLcnt {
        &self.hs_scl_lcnt
    }
    #[doc = "0x2c - DesignWare I2C Interrupt Status"]
    #[inline(always)]
    pub const fn intr_stat(&self) -> &IntrStat {
        &self.intr_stat
    }
    #[doc = "0x30 - DesignWare I2C Interrupt Mask"]
    #[inline(always)]
    pub const fn intr_mask(&self) -> &IntrMask {
        &self.intr_mask
    }
    #[doc = "0x34 - DesignWare I2C Raw Interrupt Status"]
    #[inline(always)]
    pub const fn raw_intr_stat(&self) -> &RawIntrStat {
        &self.raw_intr_stat
    }
    #[doc = "0x38 - DesignWare I2C RX TL"]
    #[inline(always)]
    pub const fn rx_tl(&self) -> &RxTl {
        &self.rx_tl
    }
    #[doc = "0x3c - DesignWare I2C TX TL"]
    #[inline(always)]
    pub const fn tx_tl(&self) -> &TxTl {
        &self.tx_tl
    }
    #[doc = "0x40 - DesignWare I2C Clear Interrrupt"]
    #[inline(always)]
    pub const fn clr_intr(&self) -> &ClrIntr {
        &self.clr_intr
    }
    #[doc = "0x44 - DesignWare I2C Clear RX Underrun"]
    #[inline(always)]
    pub const fn clr_rx_under(&self) -> &ClrRxUnder {
        &self.clr_rx_under
    }
    #[doc = "0x48 - DesignWare I2C Clear RX Overrun"]
    #[inline(always)]
    pub const fn clr_rx_over(&self) -> &ClrRxOver {
        &self.clr_rx_over
    }
    #[doc = "0x4c - DesignWare I2C Clear TX Overrun"]
    #[inline(always)]
    pub const fn clr_tx_over(&self) -> &ClrTxOver {
        &self.clr_tx_over
    }
    #[doc = "0x50 - DesignWare I2C Clear Read Request"]
    #[inline(always)]
    pub const fn clr_rd_req(&self) -> &ClrRdReq {
        &self.clr_rd_req
    }
    #[doc = "0x54 - DesignWare I2C Clear TX Abort"]
    #[inline(always)]
    pub const fn clr_tx_abrt(&self) -> &ClrTxAbrt {
        &self.clr_tx_abrt
    }
    #[doc = "0x58 - DesignWare I2C Clear RX Done"]
    #[inline(always)]
    pub const fn clr_rx_done(&self) -> &ClrRxDone {
        &self.clr_rx_done
    }
    #[doc = "0x5c - DesignWare I2C Clear Activity"]
    #[inline(always)]
    pub const fn clr_activity(&self) -> &ClrActivity {
        &self.clr_activity
    }
    #[doc = "0x60 - DesignWare I2C Clear Stop DET"]
    #[inline(always)]
    pub const fn clr_stop_det(&self) -> &ClrStopDet {
        &self.clr_stop_det
    }
    #[doc = "0x64 - DesignWare I2C Clear Start DET"]
    #[inline(always)]
    pub const fn clr_start_det(&self) -> &ClrStartDet {
        &self.clr_start_det
    }
    #[doc = "0x68 - DesignWare I2C Clear General Call"]
    #[inline(always)]
    pub const fn clr_gen_call(&self) -> &ClrGenCall {
        &self.clr_gen_call
    }
    #[doc = "0x6c - DesignWare I2C Enable"]
    #[inline(always)]
    pub const fn enable(&self) -> &Enable {
        &self.enable
    }
    #[doc = "0x70 - DesignWare I2C Status"]
    #[inline(always)]
    pub const fn status(&self) -> &Status {
        &self.status
    }
    #[doc = "0x74 - DesignWare I2C TX Failure"]
    #[inline(always)]
    pub const fn txflr(&self) -> &Txflr {
        &self.txflr
    }
    #[doc = "0x78 - DesignWare I2C RX Failure"]
    #[inline(always)]
    pub const fn rxflr(&self) -> &Rxflr {
        &self.rxflr
    }
    #[doc = "0x7c - DesignWare I2C SDA Hold"]
    #[inline(always)]
    pub const fn sda_hold(&self) -> &SdaHold {
        &self.sda_hold
    }
    #[doc = "0x80 - DesignWare I2C TX Abort Source"]
    #[inline(always)]
    pub const fn tx_abrt_source(&self) -> &TxAbrtSource {
        &self.tx_abrt_source
    }
    #[doc = "0x9c - DesignWare I2C Enable Status"]
    #[inline(always)]
    pub const fn enable_status(&self) -> &EnableStatus {
        &self.enable_status
    }
    #[doc = "0xa8 - DesignWare I2C Clear Restart DET"]
    #[inline(always)]
    pub const fn clr_restart_det(&self) -> &ClrRestartDet {
        &self.clr_restart_det
    }
    #[doc = "0xf4 - DesignWare I2C Compatibility Parameter 1"]
    #[inline(always)]
    pub const fn comp_param_1(&self) -> &CompParam1 {
        &self.comp_param_1
    }
    #[doc = "0xf8 - DesignWare I2C Compatibility Version"]
    #[inline(always)]
    pub const fn comp_version(&self) -> &CompVersion {
        &self.comp_version
    }
    #[doc = "0xfc - DesignWare I2C Compatibility Type"]
    #[inline(always)]
    pub const fn comp_type(&self) -> &CompType {
        &self.comp_type
    }
}
#[doc = "i2c_con (rw) register accessor: DesignWare I2C CON\n\nYou can [`read`](crate::Reg::read) this register and get [`i2c_con::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`i2c_con::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@i2c_con`]
module"]
#[doc(alias = "i2c_con")]
pub type I2cCon = crate::Reg<i2c_con::I2cConSpec>;
#[doc = "DesignWare I2C CON"]
pub mod i2c_con;
#[doc = "tar (rw) register accessor: DesignWare I2C TAR\n\nYou can [`read`](crate::Reg::read) this register and get [`tar::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`tar::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tar`]
module"]
#[doc(alias = "tar")]
pub type Tar = crate::Reg<tar::TarSpec>;
#[doc = "DesignWare I2C TAR"]
pub mod tar;
#[doc = "sar (rw) register accessor: DesignWare I2C SAR\n\nYou can [`read`](crate::Reg::read) this register and get [`sar::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sar::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@sar`]
module"]
#[doc(alias = "sar")]
pub type Sar = crate::Reg<sar::SarSpec>;
#[doc = "DesignWare I2C SAR"]
pub mod sar;
#[doc = "data_cmd (rw) register accessor: DesignWare I2C Data Command\n\nYou can [`read`](crate::Reg::read) this register and get [`data_cmd::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data_cmd::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data_cmd`]
module"]
#[doc(alias = "data_cmd")]
pub type DataCmd = crate::Reg<data_cmd::DataCmdSpec>;
#[doc = "DesignWare I2C Data Command"]
pub mod data_cmd;
#[doc = "ss_scl_hcnt (rw) register accessor: DesignWare I2C SS SCL HCNT\n\nYou can [`read`](crate::Reg::read) this register and get [`ss_scl_hcnt::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ss_scl_hcnt::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ss_scl_hcnt`]
module"]
#[doc(alias = "ss_scl_hcnt")]
pub type SsSclHcnt = crate::Reg<ss_scl_hcnt::SsSclHcntSpec>;
#[doc = "DesignWare I2C SS SCL HCNT"]
pub mod ss_scl_hcnt;
#[doc = "ss_scl_lcnt (rw) register accessor: DesignWare I2C SS SCL LCNT\n\nYou can [`read`](crate::Reg::read) this register and get [`ss_scl_lcnt::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ss_scl_lcnt::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ss_scl_lcnt`]
module"]
#[doc(alias = "ss_scl_lcnt")]
pub type SsSclLcnt = crate::Reg<ss_scl_lcnt::SsSclLcntSpec>;
#[doc = "DesignWare I2C SS SCL LCNT"]
pub mod ss_scl_lcnt;
#[doc = "fs_scl_hcnt (rw) register accessor: DesignWare I2C FS SCL HCNT\n\nYou can [`read`](crate::Reg::read) this register and get [`fs_scl_hcnt::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`fs_scl_hcnt::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@fs_scl_hcnt`]
module"]
#[doc(alias = "fs_scl_hcnt")]
pub type FsSclHcnt = crate::Reg<fs_scl_hcnt::FsSclHcntSpec>;
#[doc = "DesignWare I2C FS SCL HCNT"]
pub mod fs_scl_hcnt;
#[doc = "fs_scl_lcnt (rw) register accessor: DesignWare I2C FS SCL LCNT\n\nYou can [`read`](crate::Reg::read) this register and get [`fs_scl_lcnt::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`fs_scl_lcnt::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@fs_scl_lcnt`]
module"]
#[doc(alias = "fs_scl_lcnt")]
pub type FsSclLcnt = crate::Reg<fs_scl_lcnt::FsSclLcntSpec>;
#[doc = "DesignWare I2C FS SCL LCNT"]
pub mod fs_scl_lcnt;
#[doc = "hs_scl_hcnt (rw) register accessor: DesignWare I2C HS SCL HCNT\n\nYou can [`read`](crate::Reg::read) this register and get [`hs_scl_hcnt::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`hs_scl_hcnt::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@hs_scl_hcnt`]
module"]
#[doc(alias = "hs_scl_hcnt")]
pub type HsSclHcnt = crate::Reg<hs_scl_hcnt::HsSclHcntSpec>;
#[doc = "DesignWare I2C HS SCL HCNT"]
pub mod hs_scl_hcnt;
#[doc = "hs_scl_lcnt (rw) register accessor: DesignWare I2C HS SCL LCNT\n\nYou can [`read`](crate::Reg::read) this register and get [`hs_scl_lcnt::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`hs_scl_lcnt::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@hs_scl_lcnt`]
module"]
#[doc(alias = "hs_scl_lcnt")]
pub type HsSclLcnt = crate::Reg<hs_scl_lcnt::HsSclLcntSpec>;
#[doc = "DesignWare I2C HS SCL LCNT"]
pub mod hs_scl_lcnt;
#[doc = "intr_stat (r) register accessor: DesignWare I2C Interrupt Status\n\nYou can [`read`](crate::Reg::read) this register and get [`intr_stat::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@intr_stat`]
module"]
#[doc(alias = "intr_stat")]
pub type IntrStat = crate::Reg<intr_stat::IntrStatSpec>;
#[doc = "DesignWare I2C Interrupt Status"]
pub mod intr_stat;
#[doc = "intr_mask (rw) register accessor: DesignWare I2C Interrupt Mask\n\nYou can [`read`](crate::Reg::read) this register and get [`intr_mask::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`intr_mask::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@intr_mask`]
module"]
#[doc(alias = "intr_mask")]
pub type IntrMask = crate::Reg<intr_mask::IntrMaskSpec>;
#[doc = "DesignWare I2C Interrupt Mask"]
pub mod intr_mask;
#[doc = "raw_intr_stat (r) register accessor: DesignWare I2C Raw Interrupt Status\n\nYou can [`read`](crate::Reg::read) this register and get [`raw_intr_stat::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@raw_intr_stat`]
module"]
#[doc(alias = "raw_intr_stat")]
pub type RawIntrStat = crate::Reg<raw_intr_stat::RawIntrStatSpec>;
#[doc = "DesignWare I2C Raw Interrupt Status"]
pub mod raw_intr_stat;
#[doc = "rx_tl (rw) register accessor: DesignWare I2C RX TL\n\nYou can [`read`](crate::Reg::read) this register and get [`rx_tl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rx_tl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rx_tl`]
module"]
#[doc(alias = "rx_tl")]
pub type RxTl = crate::Reg<rx_tl::RxTlSpec>;
#[doc = "DesignWare I2C RX TL"]
pub mod rx_tl;
#[doc = "tx_tl (rw) register accessor: DesignWare I2C TX TL\n\nYou can [`read`](crate::Reg::read) this register and get [`tx_tl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`tx_tl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tx_tl`]
module"]
#[doc(alias = "tx_tl")]
pub type TxTl = crate::Reg<tx_tl::TxTlSpec>;
#[doc = "DesignWare I2C TX TL"]
pub mod tx_tl;
#[doc = "clr_intr (r) register accessor: DesignWare I2C Clear Interrrupt\n\nYou can [`read`](crate::Reg::read) this register and get [`clr_intr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clr_intr`]
module"]
#[doc(alias = "clr_intr")]
pub type ClrIntr = crate::Reg<clr_intr::ClrIntrSpec>;
#[doc = "DesignWare I2C Clear Interrrupt"]
pub mod clr_intr;
#[doc = "clr_rx_under (r) register accessor: DesignWare I2C Clear RX Underrun\n\nYou can [`read`](crate::Reg::read) this register and get [`clr_rx_under::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clr_rx_under`]
module"]
#[doc(alias = "clr_rx_under")]
pub type ClrRxUnder = crate::Reg<clr_rx_under::ClrRxUnderSpec>;
#[doc = "DesignWare I2C Clear RX Underrun"]
pub mod clr_rx_under;
#[doc = "clr_rx_over (r) register accessor: DesignWare I2C Clear RX Overrun\n\nYou can [`read`](crate::Reg::read) this register and get [`clr_rx_over::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clr_rx_over`]
module"]
#[doc(alias = "clr_rx_over")]
pub type ClrRxOver = crate::Reg<clr_rx_over::ClrRxOverSpec>;
#[doc = "DesignWare I2C Clear RX Overrun"]
pub mod clr_rx_over;
#[doc = "clr_tx_over (r) register accessor: DesignWare I2C Clear TX Overrun\n\nYou can [`read`](crate::Reg::read) this register and get [`clr_tx_over::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clr_tx_over`]
module"]
#[doc(alias = "clr_tx_over")]
pub type ClrTxOver = crate::Reg<clr_tx_over::ClrTxOverSpec>;
#[doc = "DesignWare I2C Clear TX Overrun"]
pub mod clr_tx_over;
#[doc = "clr_rd_req (r) register accessor: DesignWare I2C Clear Read Request\n\nYou can [`read`](crate::Reg::read) this register and get [`clr_rd_req::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clr_rd_req`]
module"]
#[doc(alias = "clr_rd_req")]
pub type ClrRdReq = crate::Reg<clr_rd_req::ClrRdReqSpec>;
#[doc = "DesignWare I2C Clear Read Request"]
pub mod clr_rd_req;
#[doc = "clr_tx_abrt (r) register accessor: DesignWare I2C Clear TX Abort\n\nYou can [`read`](crate::Reg::read) this register and get [`clr_tx_abrt::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clr_tx_abrt`]
module"]
#[doc(alias = "clr_tx_abrt")]
pub type ClrTxAbrt = crate::Reg<clr_tx_abrt::ClrTxAbrtSpec>;
#[doc = "DesignWare I2C Clear TX Abort"]
pub mod clr_tx_abrt;
#[doc = "clr_rx_done (r) register accessor: DesignWare I2C Clear RX Done\n\nYou can [`read`](crate::Reg::read) this register and get [`clr_rx_done::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clr_rx_done`]
module"]
#[doc(alias = "clr_rx_done")]
pub type ClrRxDone = crate::Reg<clr_rx_done::ClrRxDoneSpec>;
#[doc = "DesignWare I2C Clear RX Done"]
pub mod clr_rx_done;
#[doc = "clr_activity (r) register accessor: DesignWare I2C Clear Activity\n\nYou can [`read`](crate::Reg::read) this register and get [`clr_activity::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clr_activity`]
module"]
#[doc(alias = "clr_activity")]
pub type ClrActivity = crate::Reg<clr_activity::ClrActivitySpec>;
#[doc = "DesignWare I2C Clear Activity"]
pub mod clr_activity;
#[doc = "clr_stop_det (r) register accessor: DesignWare I2C Clear Stop DET\n\nYou can [`read`](crate::Reg::read) this register and get [`clr_stop_det::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clr_stop_det`]
module"]
#[doc(alias = "clr_stop_det")]
pub type ClrStopDet = crate::Reg<clr_stop_det::ClrStopDetSpec>;
#[doc = "DesignWare I2C Clear Stop DET"]
pub mod clr_stop_det;
#[doc = "clr_start_det (r) register accessor: DesignWare I2C Clear Start DET\n\nYou can [`read`](crate::Reg::read) this register and get [`clr_start_det::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clr_start_det`]
module"]
#[doc(alias = "clr_start_det")]
pub type ClrStartDet = crate::Reg<clr_start_det::ClrStartDetSpec>;
#[doc = "DesignWare I2C Clear Start DET"]
pub mod clr_start_det;
#[doc = "clr_gen_call (r) register accessor: DesignWare I2C Clear General Call\n\nYou can [`read`](crate::Reg::read) this register and get [`clr_gen_call::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clr_gen_call`]
module"]
#[doc(alias = "clr_gen_call")]
pub type ClrGenCall = crate::Reg<clr_gen_call::ClrGenCallSpec>;
#[doc = "DesignWare I2C Clear General Call"]
pub mod clr_gen_call;
#[doc = "enable (rw) register accessor: DesignWare I2C Enable\n\nYou can [`read`](crate::Reg::read) this register and get [`enable::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`enable::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@enable`]
module"]
#[doc(alias = "enable")]
pub type Enable = crate::Reg<enable::EnableSpec>;
#[doc = "DesignWare I2C Enable"]
pub mod enable;
#[doc = "status (r) register accessor: DesignWare I2C Status\n\nYou can [`read`](crate::Reg::read) this register and get [`status::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@status`]
module"]
#[doc(alias = "status")]
pub type Status = crate::Reg<status::StatusSpec>;
#[doc = "DesignWare I2C Status"]
pub mod status;
#[doc = "txflr (r) register accessor: DesignWare I2C TX Failure\n\nYou can [`read`](crate::Reg::read) this register and get [`txflr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@txflr`]
module"]
#[doc(alias = "txflr")]
pub type Txflr = crate::Reg<txflr::TxflrSpec>;
#[doc = "DesignWare I2C TX Failure"]
pub mod txflr;
#[doc = "rxflr (r) register accessor: DesignWare I2C RX Failure\n\nYou can [`read`](crate::Reg::read) this register and get [`rxflr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rxflr`]
module"]
#[doc(alias = "rxflr")]
pub type Rxflr = crate::Reg<rxflr::RxflrSpec>;
#[doc = "DesignWare I2C RX Failure"]
pub mod rxflr;
#[doc = "sda_hold (rw) register accessor: DesignWare I2C SDA Hold\n\nYou can [`read`](crate::Reg::read) this register and get [`sda_hold::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sda_hold::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@sda_hold`]
module"]
#[doc(alias = "sda_hold")]
pub type SdaHold = crate::Reg<sda_hold::SdaHoldSpec>;
#[doc = "DesignWare I2C SDA Hold"]
pub mod sda_hold;
#[doc = "tx_abrt_source (r) register accessor: DesignWare I2C TX Abort Source\n\nYou can [`read`](crate::Reg::read) this register and get [`tx_abrt_source::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tx_abrt_source`]
module"]
#[doc(alias = "tx_abrt_source")]
pub type TxAbrtSource = crate::Reg<tx_abrt_source::TxAbrtSourceSpec>;
#[doc = "DesignWare I2C TX Abort Source"]
pub mod tx_abrt_source;
#[doc = "enable_status (rw) register accessor: DesignWare I2C Enable Status\n\nYou can [`read`](crate::Reg::read) this register and get [`enable_status::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`enable_status::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@enable_status`]
module"]
#[doc(alias = "enable_status")]
pub type EnableStatus = crate::Reg<enable_status::EnableStatusSpec>;
#[doc = "DesignWare I2C Enable Status"]
pub mod enable_status;
#[doc = "clr_restart_det (r) register accessor: DesignWare I2C Clear Restart DET\n\nYou can [`read`](crate::Reg::read) this register and get [`clr_restart_det::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clr_restart_det`]
module"]
#[doc(alias = "clr_restart_det")]
pub type ClrRestartDet = crate::Reg<clr_restart_det::ClrRestartDetSpec>;
#[doc = "DesignWare I2C Clear Restart DET"]
pub mod clr_restart_det;
#[doc = "comp_param_1 (r) register accessor: DesignWare I2C Compatibility Parameter 1\n\nYou can [`read`](crate::Reg::read) this register and get [`comp_param_1::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@comp_param_1`]
module"]
#[doc(alias = "comp_param_1")]
pub type CompParam1 = crate::Reg<comp_param_1::CompParam1Spec>;
#[doc = "DesignWare I2C Compatibility Parameter 1"]
pub mod comp_param_1;
#[doc = "comp_version (r) register accessor: DesignWare I2C Compatibility Version\n\nYou can [`read`](crate::Reg::read) this register and get [`comp_version::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@comp_version`]
module"]
#[doc(alias = "comp_version")]
pub type CompVersion = crate::Reg<comp_version::CompVersionSpec>;
#[doc = "DesignWare I2C Compatibility Version"]
pub mod comp_version;
#[doc = "comp_type (r) register accessor: DesignWare I2C Compatibility Type\n\nYou can [`read`](crate::Reg::read) this register and get [`comp_type::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@comp_type`]
module"]
#[doc(alias = "comp_type")]
pub type CompType = crate::Reg<comp_type::CompTypeSpec>;
#[doc = "DesignWare I2C Compatibility Type"]
pub mod comp_type;