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
#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
    con: CON,
    tar: TAR,
    sar: SAR,
    _reserved3: [u8; 0x04],
    data_cmd: DATA_CMD,
    ss_scl_hcnt: SS_SCL_HCNT,
    ss_scl_lcnt: SS_SCL_LCNT,
    fs_scl_hcnt: FS_SCL_HCNT,
    fs_scl_lcnt: FS_SCL_LCNT,
    hs_scl_hcnt: HS_SCL_HCNT,
    hs_scl_lcnt: HS_SCL_LCNT,
    intr_stat: INTR_STAT,
    intr_mask: INTR_MASK,
    raw_intr_stat: RAW_INTR_STAT,
    rx_tl: RX_TL,
    tx_tl: TX_TL,
    clr_intr: CLR_INTR,
    clr_rx_under: CLR_RX_UNDER,
    clr_rx_over: CLR_RX_OVER,
    clr_tx_over: CLR_TX_OVER,
    clr_rd_req: CLR_RD_REQ,
    clr_tx_abrt: CLR_TX_ABRT,
    clr_rx_done: CLR_RX_DONE,
    clr_activity: CLR_ACTIVITY,
    clr_stop_det: CLR_STOP_DET,
    clr_start_det: CLR_START_DET,
    clr_gen_call: CLR_GEN_CALL,
    enable: ENABLE,
    status: STATUS,
    txflr: TXFLR,
    rxflr: RXFLR,
    sda_hold: SDA_HOLD,
    tx_abrt_source: TX_ABRT_SOURCE,
    _reserved32: [u8; 0x18],
    enable_status: ENABLE_STATUS,
    _reserved33: [u8; 0x08],
    clr_restart_det: CLR_RESTART_DET,
    _reserved34: [u8; 0x48],
    comp_param_1: COMP_PARAM_1,
    comp_version: COMP_VERSION,
    comp_type: COMP_TYPE,
}
impl RegisterBlock {
    #[doc = "0x00 - DesignWare I2C CON"]
    #[inline(always)]
    pub const fn con(&self) -> &CON {
        &self.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) -> &DATA_CMD {
        &self.data_cmd
    }
    #[doc = "0x14 - DesignWare I2C SS SCL HCNT"]
    #[inline(always)]
    pub const fn ss_scl_hcnt(&self) -> &SS_SCL_HCNT {
        &self.ss_scl_hcnt
    }
    #[doc = "0x18 - DesignWare I2C SS SCL LCNT"]
    #[inline(always)]
    pub const fn ss_scl_lcnt(&self) -> &SS_SCL_LCNT {
        &self.ss_scl_lcnt
    }
    #[doc = "0x1c - DesignWare I2C FS SCL HCNT"]
    #[inline(always)]
    pub const fn fs_scl_hcnt(&self) -> &FS_SCL_HCNT {
        &self.fs_scl_hcnt
    }
    #[doc = "0x20 - DesignWare I2C FS SCL LCNT"]
    #[inline(always)]
    pub const fn fs_scl_lcnt(&self) -> &FS_SCL_LCNT {
        &self.fs_scl_lcnt
    }
    #[doc = "0x24 - DesignWare I2C HS SCL HCNT"]
    #[inline(always)]
    pub const fn hs_scl_hcnt(&self) -> &HS_SCL_HCNT {
        &self.hs_scl_hcnt
    }
    #[doc = "0x28 - DesignWare I2C HS SCL LCNT"]
    #[inline(always)]
    pub const fn hs_scl_lcnt(&self) -> &HS_SCL_LCNT {
        &self.hs_scl_lcnt
    }
    #[doc = "0x2c - DesignWare I2C Interrupt Status"]
    #[inline(always)]
    pub const fn intr_stat(&self) -> &INTR_STAT {
        &self.intr_stat
    }
    #[doc = "0x30 - DesignWare I2C Interrupt Mask"]
    #[inline(always)]
    pub const fn intr_mask(&self) -> &INTR_MASK {
        &self.intr_mask
    }
    #[doc = "0x34 - DesignWare I2C Raw Interrupt Status"]
    #[inline(always)]
    pub const fn raw_intr_stat(&self) -> &RAW_INTR_STAT {
        &self.raw_intr_stat
    }
    #[doc = "0x38 - DesignWare I2C RX TL"]
    #[inline(always)]
    pub const fn rx_tl(&self) -> &RX_TL {
        &self.rx_tl
    }
    #[doc = "0x3c - DesignWare I2C TX TL"]
    #[inline(always)]
    pub const fn tx_tl(&self) -> &TX_TL {
        &self.tx_tl
    }
    #[doc = "0x40 - DesignWare I2C Clear Interrrupt"]
    #[inline(always)]
    pub const fn clr_intr(&self) -> &CLR_INTR {
        &self.clr_intr
    }
    #[doc = "0x44 - DesignWare I2C Clear RX Underrun"]
    #[inline(always)]
    pub const fn clr_rx_under(&self) -> &CLR_RX_UNDER {
        &self.clr_rx_under
    }
    #[doc = "0x48 - DesignWare I2C Clear RX Overrun"]
    #[inline(always)]
    pub const fn clr_rx_over(&self) -> &CLR_RX_OVER {
        &self.clr_rx_over
    }
    #[doc = "0x4c - DesignWare I2C Clear TX Overrun"]
    #[inline(always)]
    pub const fn clr_tx_over(&self) -> &CLR_TX_OVER {
        &self.clr_tx_over
    }
    #[doc = "0x50 - DesignWare I2C Clear Read Request"]
    #[inline(always)]
    pub const fn clr_rd_req(&self) -> &CLR_RD_REQ {
        &self.clr_rd_req
    }
    #[doc = "0x54 - DesignWare I2C Clear TX Abort"]
    #[inline(always)]
    pub const fn clr_tx_abrt(&self) -> &CLR_TX_ABRT {
        &self.clr_tx_abrt
    }
    #[doc = "0x58 - DesignWare I2C Clear RX Done"]
    #[inline(always)]
    pub const fn clr_rx_done(&self) -> &CLR_RX_DONE {
        &self.clr_rx_done
    }
    #[doc = "0x5c - DesignWare I2C Clear Activity"]
    #[inline(always)]
    pub const fn clr_activity(&self) -> &CLR_ACTIVITY {
        &self.clr_activity
    }
    #[doc = "0x60 - DesignWare I2C Clear Stop DET"]
    #[inline(always)]
    pub const fn clr_stop_det(&self) -> &CLR_STOP_DET {
        &self.clr_stop_det
    }
    #[doc = "0x64 - DesignWare I2C Clear Start DET"]
    #[inline(always)]
    pub const fn clr_start_det(&self) -> &CLR_START_DET {
        &self.clr_start_det
    }
    #[doc = "0x68 - DesignWare I2C Clear General Call"]
    #[inline(always)]
    pub const fn clr_gen_call(&self) -> &CLR_GEN_CALL {
        &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) -> &SDA_HOLD {
        &self.sda_hold
    }
    #[doc = "0x80 - DesignWare I2C TX Abort Source"]
    #[inline(always)]
    pub const fn tx_abrt_source(&self) -> &TX_ABRT_SOURCE {
        &self.tx_abrt_source
    }
    #[doc = "0x9c - DesignWare I2C Enable Status"]
    #[inline(always)]
    pub const fn enable_status(&self) -> &ENABLE_STATUS {
        &self.enable_status
    }
    #[doc = "0xa8 - DesignWare I2C Clear Restart DET"]
    #[inline(always)]
    pub const fn clr_restart_det(&self) -> &CLR_RESTART_DET {
        &self.clr_restart_det
    }
    #[doc = "0xf4 - DesignWare I2C Compatibility Parameter 1"]
    #[inline(always)]
    pub const fn comp_param_1(&self) -> &COMP_PARAM_1 {
        &self.comp_param_1
    }
    #[doc = "0xf8 - DesignWare I2C Compatibility Version"]
    #[inline(always)]
    pub const fn comp_version(&self) -> &COMP_VERSION {
        &self.comp_version
    }
    #[doc = "0xfc - DesignWare I2C Compatibility Type"]
    #[inline(always)]
    pub const fn comp_type(&self) -> &COMP_TYPE {
        &self.comp_type
    }
}
#[doc = "con (rw) register accessor: DesignWare I2C CON\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`con::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`con::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@con`]
module"]
pub type CON = crate::Reg<con::CON_SPEC>;
#[doc = "DesignWare I2C CON"]
pub mod con;
#[doc = "tar (rw) register accessor: DesignWare I2C TAR\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tar::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`tar::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tar`]
module"]
pub type TAR = crate::Reg<tar::TAR_SPEC>;
#[doc = "DesignWare I2C TAR"]
pub mod tar;
#[doc = "sar (rw) register accessor: DesignWare I2C SAR\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`sar::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`sar::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@sar`]
module"]
pub type SAR = crate::Reg<sar::SAR_SPEC>;
#[doc = "DesignWare I2C SAR"]
pub mod sar;
#[doc = "data_cmd (rw) register accessor: DesignWare I2C Data Command\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data_cmd::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data_cmd::W`]. You can also [`modify`](crate::generic::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"]
pub type DATA_CMD = crate::Reg<data_cmd::DATA_CMD_SPEC>;
#[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::generic::Reg::read) this register and get [`ss_scl_hcnt::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ss_scl_hcnt::W`]. You can also [`modify`](crate::generic::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"]
pub type SS_SCL_HCNT = crate::Reg<ss_scl_hcnt::SS_SCL_HCNT_SPEC>;
#[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::generic::Reg::read) this register and get [`ss_scl_lcnt::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ss_scl_lcnt::W`]. You can also [`modify`](crate::generic::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"]
pub type SS_SCL_LCNT = crate::Reg<ss_scl_lcnt::SS_SCL_LCNT_SPEC>;
#[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::generic::Reg::read) this register and get [`fs_scl_hcnt::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`fs_scl_hcnt::W`]. You can also [`modify`](crate::generic::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"]
pub type FS_SCL_HCNT = crate::Reg<fs_scl_hcnt::FS_SCL_HCNT_SPEC>;
#[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::generic::Reg::read) this register and get [`fs_scl_lcnt::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`fs_scl_lcnt::W`]. You can also [`modify`](crate::generic::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"]
pub type FS_SCL_LCNT = crate::Reg<fs_scl_lcnt::FS_SCL_LCNT_SPEC>;
#[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::generic::Reg::read) this register and get [`hs_scl_hcnt::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`hs_scl_hcnt::W`]. You can also [`modify`](crate::generic::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"]
pub type HS_SCL_HCNT = crate::Reg<hs_scl_hcnt::HS_SCL_HCNT_SPEC>;
#[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::generic::Reg::read) this register and get [`hs_scl_lcnt::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`hs_scl_lcnt::W`]. You can also [`modify`](crate::generic::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"]
pub type HS_SCL_LCNT = crate::Reg<hs_scl_lcnt::HS_SCL_LCNT_SPEC>;
#[doc = "DesignWare I2C HS SCL LCNT"]
pub mod hs_scl_lcnt;
#[doc = "intr_stat (rw) register accessor: DesignWare I2C Interrupt Status\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`intr_stat::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`intr_stat::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@intr_stat`]
module"]
pub type INTR_STAT = crate::Reg<intr_stat::INTR_STAT_SPEC>;
#[doc = "DesignWare I2C Interrupt Status"]
pub mod intr_stat;
#[doc = "intr_mask (rw) register accessor: DesignWare I2C Interrupt Mask\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`intr_mask::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`intr_mask::W`]. You can also [`modify`](crate::generic::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"]
pub type INTR_MASK = crate::Reg<intr_mask::INTR_MASK_SPEC>;
#[doc = "DesignWare I2C Interrupt Mask"]
pub mod intr_mask;
#[doc = "raw_intr_stat (rw) register accessor: DesignWare I2C Raw Interrupt Status\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`raw_intr_stat::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`raw_intr_stat::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@raw_intr_stat`]
module"]
pub type RAW_INTR_STAT = crate::Reg<raw_intr_stat::RAW_INTR_STAT_SPEC>;
#[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::generic::Reg::read) this register and get [`rx_tl::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`rx_tl::W`]. You can also [`modify`](crate::generic::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"]
pub type RX_TL = crate::Reg<rx_tl::RX_TL_SPEC>;
#[doc = "DesignWare I2C RX TL"]
pub mod rx_tl;
#[doc = "tx_tl (rw) register accessor: DesignWare I2C TX TL\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tx_tl::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`tx_tl::W`]. You can also [`modify`](crate::generic::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"]
pub type TX_TL = crate::Reg<tx_tl::TX_TL_SPEC>;
#[doc = "DesignWare I2C TX TL"]
pub mod tx_tl;
#[doc = "clr_intr (rw) register accessor: DesignWare I2C Clear Interrrupt\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`clr_intr::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`clr_intr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clr_intr`]
module"]
pub type CLR_INTR = crate::Reg<clr_intr::CLR_INTR_SPEC>;
#[doc = "DesignWare I2C Clear Interrrupt"]
pub mod clr_intr;
#[doc = "clr_rx_under (rw) register accessor: DesignWare I2C Clear RX Underrun\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`clr_rx_under::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`clr_rx_under::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clr_rx_under`]
module"]
pub type CLR_RX_UNDER = crate::Reg<clr_rx_under::CLR_RX_UNDER_SPEC>;
#[doc = "DesignWare I2C Clear RX Underrun"]
pub mod clr_rx_under;
#[doc = "clr_rx_over (rw) register accessor: DesignWare I2C Clear RX Overrun\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`clr_rx_over::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`clr_rx_over::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clr_rx_over`]
module"]
pub type CLR_RX_OVER = crate::Reg<clr_rx_over::CLR_RX_OVER_SPEC>;
#[doc = "DesignWare I2C Clear RX Overrun"]
pub mod clr_rx_over;
#[doc = "clr_tx_over (rw) register accessor: DesignWare I2C Clear TX Overrun\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`clr_tx_over::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`clr_tx_over::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clr_tx_over`]
module"]
pub type CLR_TX_OVER = crate::Reg<clr_tx_over::CLR_TX_OVER_SPEC>;
#[doc = "DesignWare I2C Clear TX Overrun"]
pub mod clr_tx_over;
#[doc = "clr_rd_req (rw) register accessor: DesignWare I2C Clear Read Request\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`clr_rd_req::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`clr_rd_req::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clr_rd_req`]
module"]
pub type CLR_RD_REQ = crate::Reg<clr_rd_req::CLR_RD_REQ_SPEC>;
#[doc = "DesignWare I2C Clear Read Request"]
pub mod clr_rd_req;
#[doc = "clr_tx_abrt (rw) register accessor: DesignWare I2C Clear TX Abort\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`clr_tx_abrt::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`clr_tx_abrt::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clr_tx_abrt`]
module"]
pub type CLR_TX_ABRT = crate::Reg<clr_tx_abrt::CLR_TX_ABRT_SPEC>;
#[doc = "DesignWare I2C Clear TX Abort"]
pub mod clr_tx_abrt;
#[doc = "clr_rx_done (rw) register accessor: DesignWare I2C Clear RX Done\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`clr_rx_done::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`clr_rx_done::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clr_rx_done`]
module"]
pub type CLR_RX_DONE = crate::Reg<clr_rx_done::CLR_RX_DONE_SPEC>;
#[doc = "DesignWare I2C Clear RX Done"]
pub mod clr_rx_done;
#[doc = "clr_activity (rw) register accessor: DesignWare I2C Clear Activity\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`clr_activity::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`clr_activity::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clr_activity`]
module"]
pub type CLR_ACTIVITY = crate::Reg<clr_activity::CLR_ACTIVITY_SPEC>;
#[doc = "DesignWare I2C Clear Activity"]
pub mod clr_activity;
#[doc = "clr_stop_det (rw) register accessor: DesignWare I2C Clear Stop DET\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`clr_stop_det::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`clr_stop_det::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clr_stop_det`]
module"]
pub type CLR_STOP_DET = crate::Reg<clr_stop_det::CLR_STOP_DET_SPEC>;
#[doc = "DesignWare I2C Clear Stop DET"]
pub mod clr_stop_det;
#[doc = "clr_start_det (rw) register accessor: DesignWare I2C Clear Start DET\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`clr_start_det::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`clr_start_det::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clr_start_det`]
module"]
pub type CLR_START_DET = crate::Reg<clr_start_det::CLR_START_DET_SPEC>;
#[doc = "DesignWare I2C Clear Start DET"]
pub mod clr_start_det;
#[doc = "clr_gen_call (rw) register accessor: DesignWare I2C Clear General Call\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`clr_gen_call::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`clr_gen_call::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clr_gen_call`]
module"]
pub type CLR_GEN_CALL = crate::Reg<clr_gen_call::CLR_GEN_CALL_SPEC>;
#[doc = "DesignWare I2C Clear General Call"]
pub mod clr_gen_call;
#[doc = "enable (rw) register accessor: DesignWare I2C Enable\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`enable::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`enable::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@enable`]
module"]
pub type ENABLE = crate::Reg<enable::ENABLE_SPEC>;
#[doc = "DesignWare I2C Enable"]
pub mod enable;
#[doc = "status (rw) register accessor: DesignWare I2C Status\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`status::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`status::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@status`]
module"]
pub type STATUS = crate::Reg<status::STATUS_SPEC>;
#[doc = "DesignWare I2C Status"]
pub mod status;
#[doc = "txflr (rw) register accessor: DesignWare I2C TX Failure\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`txflr::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`txflr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@txflr`]
module"]
pub type TXFLR = crate::Reg<txflr::TXFLR_SPEC>;
#[doc = "DesignWare I2C TX Failure"]
pub mod txflr;
#[doc = "rxflr (rw) register accessor: DesignWare I2C RX Failure\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`rxflr::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`rxflr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rxflr`]
module"]
pub type RXFLR = crate::Reg<rxflr::RXFLR_SPEC>;
#[doc = "DesignWare I2C RX Failure"]
pub mod rxflr;
#[doc = "sda_hold (rw) register accessor: DesignWare I2C SDA Hold\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`sda_hold::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`sda_hold::W`]. You can also [`modify`](crate::generic::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"]
pub type SDA_HOLD = crate::Reg<sda_hold::SDA_HOLD_SPEC>;
#[doc = "DesignWare I2C SDA Hold"]
pub mod sda_hold;
#[doc = "tx_abrt_source (rw) register accessor: DesignWare I2C TX Abort Source\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tx_abrt_source::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`tx_abrt_source::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@tx_abrt_source`]
module"]
pub type TX_ABRT_SOURCE = crate::Reg<tx_abrt_source::TX_ABRT_SOURCE_SPEC>;
#[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::generic::Reg::read) this register and get [`enable_status::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`enable_status::W`]. You can also [`modify`](crate::generic::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"]
pub type ENABLE_STATUS = crate::Reg<enable_status::ENABLE_STATUS_SPEC>;
#[doc = "DesignWare I2C Enable Status"]
pub mod enable_status;
#[doc = "clr_restart_det (rw) register accessor: DesignWare I2C Clear Restart DET\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`clr_restart_det::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`clr_restart_det::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clr_restart_det`]
module"]
pub type CLR_RESTART_DET = crate::Reg<clr_restart_det::CLR_RESTART_DET_SPEC>;
#[doc = "DesignWare I2C Clear Restart DET"]
pub mod clr_restart_det;
#[doc = "comp_param_1 (rw) register accessor: DesignWare I2C Compatibility Parameter 1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`comp_param_1::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`comp_param_1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@comp_param_1`]
module"]
pub type COMP_PARAM_1 = crate::Reg<comp_param_1::COMP_PARAM_1_SPEC>;
#[doc = "DesignWare I2C Compatibility Parameter 1"]
pub mod comp_param_1;
#[doc = "comp_version (rw) register accessor: DesignWare I2C Compatibility Version\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`comp_version::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`comp_version::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@comp_version`]
module"]
pub type COMP_VERSION = crate::Reg<comp_version::COMP_VERSION_SPEC>;
#[doc = "DesignWare I2C Compatibility Version"]
pub mod comp_version;
#[doc = "comp_type (rw) register accessor: DesignWare I2C Compatibility Type\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`comp_type::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`comp_type::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@comp_type`]
module"]
pub type COMP_TYPE = crate::Reg<comp_type::COMP_TYPE_SPEC>;
#[doc = "DesignWare I2C Compatibility Type"]
pub mod comp_type;