esp32p4/
i3c_mst.rs

1#[repr(C)]
2#[cfg_attr(feature = "impl-register-debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5    device_ctrl: DEVICE_CTRL,
6    _reserved1: [u8; 0x18],
7    buffer_thld_ctrl: BUFFER_THLD_CTRL,
8    data_buffer_thld_ctrl: DATA_BUFFER_THLD_CTRL,
9    ibi_notify_ctrl: IBI_NOTIFY_CTRL,
10    ibi_sir_req_payload: IBI_SIR_REQ_PAYLOAD,
11    ibi_sir_req_reject: IBI_SIR_REQ_REJECT,
12    int_clr: INT_CLR,
13    int_raw: INT_RAW,
14    int_st: INT_ST,
15    int_st_ena: INT_ST_ENA,
16    _reserved10: [u8; 0x04],
17    reset_ctrl: RESET_CTRL,
18    buffer_status_level: BUFFER_STATUS_LEVEL,
19    data_buffer_status_level: DATA_BUFFER_STATUS_LEVEL,
20    present_state0: PRESENT_STATE0,
21    present_state1: PRESENT_STATE1,
22    device_table: DEVICE_TABLE,
23    time_out_value: TIME_OUT_VALUE,
24    scl_i3c_mst_od_time: SCL_I3C_MST_OD_TIME,
25    scl_i3c_mst_pp_time: SCL_I3C_MST_PP_TIME,
26    scl_i2c_fm_time: SCL_I2C_FM_TIME,
27    scl_i2c_fmp_time: SCL_I2C_FMP_TIME,
28    scl_ext_low_time: SCL_EXT_LOW_TIME,
29    sda_sample_time: SDA_SAMPLE_TIME,
30    sda_hold_time: SDA_HOLD_TIME,
31    scl_start_hold: SCL_START_HOLD,
32    scl_rstart_setup: SCL_RSTART_SETUP,
33    scl_stop_hold: SCL_STOP_HOLD,
34    scl_stop_setup: SCL_STOP_SETUP,
35    _reserved28: [u8; 0x04],
36    bus_free_time: BUS_FREE_TIME,
37    scl_termn_t_ext_low_time: SCL_TERMN_T_EXT_LOW_TIME,
38    _reserved30: [u8; 0x08],
39    ver_id: VER_ID,
40    ver_type: VER_TYPE,
41    _reserved32: [u8; 0x04],
42    fpga_debug_probe: FPGA_DEBUG_PROBE,
43    rnd_eco_cs: RND_ECO_CS,
44    rnd_eco_low: RND_ECO_LOW,
45    rnd_eco_high: RND_ECO_HIGH,
46}
47impl RegisterBlock {
48    #[doc = "0x00 - DEVICE_CTRL register controls the transfer properties and disposition of controllers capabilities."]
49    #[inline(always)]
50    pub const fn device_ctrl(&self) -> &DEVICE_CTRL {
51        &self.device_ctrl
52    }
53    #[doc = "0x1c - In-Band Interrupt Status Threshold Value . Every In Band Interrupt received by I3C controller generates an IBI status. This field controls the number of IBI status entries in the IBI buffer that trigger the IBI_STATUS_THLD_STAT interrupt."]
54    #[inline(always)]
55    pub const fn buffer_thld_ctrl(&self) -> &BUFFER_THLD_CTRL {
56        &self.buffer_thld_ctrl
57    }
58    #[doc = "0x20 - NA"]
59    #[inline(always)]
60    pub const fn data_buffer_thld_ctrl(&self) -> &DATA_BUFFER_THLD_CTRL {
61        &self.data_buffer_thld_ctrl
62    }
63    #[doc = "0x24 - NA"]
64    #[inline(always)]
65    pub const fn ibi_notify_ctrl(&self) -> &IBI_NOTIFY_CTRL {
66        &self.ibi_notify_ctrl
67    }
68    #[doc = "0x28 - NA"]
69    #[inline(always)]
70    pub const fn ibi_sir_req_payload(&self) -> &IBI_SIR_REQ_PAYLOAD {
71        &self.ibi_sir_req_payload
72    }
73    #[doc = "0x2c - NA"]
74    #[inline(always)]
75    pub const fn ibi_sir_req_reject(&self) -> &IBI_SIR_REQ_REJECT {
76        &self.ibi_sir_req_reject
77    }
78    #[doc = "0x30 - NA"]
79    #[inline(always)]
80    pub const fn int_clr(&self) -> &INT_CLR {
81        &self.int_clr
82    }
83    #[doc = "0x34 - NA"]
84    #[inline(always)]
85    pub const fn int_raw(&self) -> &INT_RAW {
86        &self.int_raw
87    }
88    #[doc = "0x38 - NA"]
89    #[inline(always)]
90    pub const fn int_st(&self) -> &INT_ST {
91        &self.int_st
92    }
93    #[doc = "0x3c - The Interrupt status will be updated in INTR_STATUS register if corresponding Status Enable bit set."]
94    #[inline(always)]
95    pub const fn int_st_ena(&self) -> &INT_ST_ENA {
96        &self.int_st_ena
97    }
98    #[doc = "0x44 - NA"]
99    #[inline(always)]
100    pub const fn reset_ctrl(&self) -> &RESET_CTRL {
101        &self.reset_ctrl
102    }
103    #[doc = "0x48 - BUFFER_STATUS_LEVEL reflects the status level of Buffers in the controller."]
104    #[inline(always)]
105    pub const fn buffer_status_level(&self) -> &BUFFER_STATUS_LEVEL {
106        &self.buffer_status_level
107    }
108    #[doc = "0x4c - DATA_BUFFER_STATUS_LEVEL reflects the status level of the Buffers in the controller."]
109    #[inline(always)]
110    pub const fn data_buffer_status_level(&self) -> &DATA_BUFFER_STATUS_LEVEL {
111        &self.data_buffer_status_level
112    }
113    #[doc = "0x50 - NA"]
114    #[inline(always)]
115    pub const fn present_state0(&self) -> &PRESENT_STATE0 {
116        &self.present_state0
117    }
118    #[doc = "0x54 - NA"]
119    #[inline(always)]
120    pub const fn present_state1(&self) -> &PRESENT_STATE1 {
121        &self.present_state1
122    }
123    #[doc = "0x58 - Pointer for Device Address Table"]
124    #[inline(always)]
125    pub const fn device_table(&self) -> &DEVICE_TABLE {
126        &self.device_table
127    }
128    #[doc = "0x5c - NA"]
129    #[inline(always)]
130    pub const fn time_out_value(&self) -> &TIME_OUT_VALUE {
131        &self.time_out_value
132    }
133    #[doc = "0x60 - NA"]
134    #[inline(always)]
135    pub const fn scl_i3c_mst_od_time(&self) -> &SCL_I3C_MST_OD_TIME {
136        &self.scl_i3c_mst_od_time
137    }
138    #[doc = "0x64 - NA"]
139    #[inline(always)]
140    pub const fn scl_i3c_mst_pp_time(&self) -> &SCL_I3C_MST_PP_TIME {
141        &self.scl_i3c_mst_pp_time
142    }
143    #[doc = "0x68 - NA"]
144    #[inline(always)]
145    pub const fn scl_i2c_fm_time(&self) -> &SCL_I2C_FM_TIME {
146        &self.scl_i2c_fm_time
147    }
148    #[doc = "0x6c - NA"]
149    #[inline(always)]
150    pub const fn scl_i2c_fmp_time(&self) -> &SCL_I2C_FMP_TIME {
151        &self.scl_i2c_fmp_time
152    }
153    #[doc = "0x70 - NA"]
154    #[inline(always)]
155    pub const fn scl_ext_low_time(&self) -> &SCL_EXT_LOW_TIME {
156        &self.scl_ext_low_time
157    }
158    #[doc = "0x74 - NA"]
159    #[inline(always)]
160    pub const fn sda_sample_time(&self) -> &SDA_SAMPLE_TIME {
161        &self.sda_sample_time
162    }
163    #[doc = "0x78 - NA"]
164    #[inline(always)]
165    pub const fn sda_hold_time(&self) -> &SDA_HOLD_TIME {
166        &self.sda_hold_time
167    }
168    #[doc = "0x7c - NA"]
169    #[inline(always)]
170    pub const fn scl_start_hold(&self) -> &SCL_START_HOLD {
171        &self.scl_start_hold
172    }
173    #[doc = "0x80 - NA"]
174    #[inline(always)]
175    pub const fn scl_rstart_setup(&self) -> &SCL_RSTART_SETUP {
176        &self.scl_rstart_setup
177    }
178    #[doc = "0x84 - NA"]
179    #[inline(always)]
180    pub const fn scl_stop_hold(&self) -> &SCL_STOP_HOLD {
181        &self.scl_stop_hold
182    }
183    #[doc = "0x88 - NA"]
184    #[inline(always)]
185    pub const fn scl_stop_setup(&self) -> &SCL_STOP_SETUP {
186        &self.scl_stop_setup
187    }
188    #[doc = "0x90 - NA"]
189    #[inline(always)]
190    pub const fn bus_free_time(&self) -> &BUS_FREE_TIME {
191        &self.bus_free_time
192    }
193    #[doc = "0x94 - NA"]
194    #[inline(always)]
195    pub const fn scl_termn_t_ext_low_time(&self) -> &SCL_TERMN_T_EXT_LOW_TIME {
196        &self.scl_termn_t_ext_low_time
197    }
198    #[doc = "0xa0 - NA"]
199    #[inline(always)]
200    pub const fn ver_id(&self) -> &VER_ID {
201        &self.ver_id
202    }
203    #[doc = "0xa4 - NA"]
204    #[inline(always)]
205    pub const fn ver_type(&self) -> &VER_TYPE {
206        &self.ver_type
207    }
208    #[doc = "0xac - NA"]
209    #[inline(always)]
210    pub const fn fpga_debug_probe(&self) -> &FPGA_DEBUG_PROBE {
211        &self.fpga_debug_probe
212    }
213    #[doc = "0xb0 - NA"]
214    #[inline(always)]
215    pub const fn rnd_eco_cs(&self) -> &RND_ECO_CS {
216        &self.rnd_eco_cs
217    }
218    #[doc = "0xb4 - NA"]
219    #[inline(always)]
220    pub const fn rnd_eco_low(&self) -> &RND_ECO_LOW {
221        &self.rnd_eco_low
222    }
223    #[doc = "0xb8 - NA"]
224    #[inline(always)]
225    pub const fn rnd_eco_high(&self) -> &RND_ECO_HIGH {
226        &self.rnd_eco_high
227    }
228}
229#[doc = "DEVICE_CTRL (rw) register accessor: DEVICE_CTRL register controls the transfer properties and disposition of controllers capabilities.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`device_ctrl::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 [`device_ctrl::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@device_ctrl`] module"]
230pub type DEVICE_CTRL = crate::Reg<device_ctrl::DEVICE_CTRL_SPEC>;
231#[doc = "DEVICE_CTRL register controls the transfer properties and disposition of controllers capabilities."]
232pub mod device_ctrl;
233#[doc = "BUFFER_THLD_CTRL (rw) register accessor: In-Band Interrupt Status Threshold Value . Every In Band Interrupt received by I3C controller generates an IBI status. This field controls the number of IBI status entries in the IBI buffer that trigger the IBI_STATUS_THLD_STAT interrupt.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`buffer_thld_ctrl::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 [`buffer_thld_ctrl::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@buffer_thld_ctrl`] module"]
234pub type BUFFER_THLD_CTRL = crate::Reg<buffer_thld_ctrl::BUFFER_THLD_CTRL_SPEC>;
235#[doc = "In-Band Interrupt Status Threshold Value . Every In Band Interrupt received by I3C controller generates an IBI status. This field controls the number of IBI status entries in the IBI buffer that trigger the IBI_STATUS_THLD_STAT interrupt."]
236pub mod buffer_thld_ctrl;
237#[doc = "DATA_BUFFER_THLD_CTRL (rw) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data_buffer_thld_ctrl::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_buffer_thld_ctrl::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_buffer_thld_ctrl`] module"]
238pub type DATA_BUFFER_THLD_CTRL = crate::Reg<data_buffer_thld_ctrl::DATA_BUFFER_THLD_CTRL_SPEC>;
239#[doc = "NA"]
240pub mod data_buffer_thld_ctrl;
241#[doc = "IBI_NOTIFY_CTRL (rw) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ibi_notify_ctrl::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 [`ibi_notify_ctrl::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@ibi_notify_ctrl`] module"]
242pub type IBI_NOTIFY_CTRL = crate::Reg<ibi_notify_ctrl::IBI_NOTIFY_CTRL_SPEC>;
243#[doc = "NA"]
244pub mod ibi_notify_ctrl;
245#[doc = "IBI_SIR_REQ_PAYLOAD (rw) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ibi_sir_req_payload::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 [`ibi_sir_req_payload::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@ibi_sir_req_payload`] module"]
246pub type IBI_SIR_REQ_PAYLOAD = crate::Reg<ibi_sir_req_payload::IBI_SIR_REQ_PAYLOAD_SPEC>;
247#[doc = "NA"]
248pub mod ibi_sir_req_payload;
249#[doc = "IBI_SIR_REQ_REJECT (rw) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ibi_sir_req_reject::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 [`ibi_sir_req_reject::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@ibi_sir_req_reject`] module"]
250pub type IBI_SIR_REQ_REJECT = crate::Reg<ibi_sir_req_reject::IBI_SIR_REQ_REJECT_SPEC>;
251#[doc = "NA"]
252pub mod ibi_sir_req_reject;
253#[doc = "INT_CLR (w) register accessor: NA\n\nYou can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`int_clr::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@int_clr`] module"]
254pub type INT_CLR = crate::Reg<int_clr::INT_CLR_SPEC>;
255#[doc = "NA"]
256pub mod int_clr;
257#[doc = "INT_RAW (rw) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`int_raw::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 [`int_raw::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@int_raw`] module"]
258pub type INT_RAW = crate::Reg<int_raw::INT_RAW_SPEC>;
259#[doc = "NA"]
260pub mod int_raw;
261#[doc = "INT_ST (r) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`int_st::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@int_st`] module"]
262pub type INT_ST = crate::Reg<int_st::INT_ST_SPEC>;
263#[doc = "NA"]
264pub mod int_st;
265#[doc = "INT_ST_ENA (rw) register accessor: The Interrupt status will be updated in INTR_STATUS register if corresponding Status Enable bit set.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`int_st_ena::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 [`int_st_ena::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@int_st_ena`] module"]
266pub type INT_ST_ENA = crate::Reg<int_st_ena::INT_ST_ENA_SPEC>;
267#[doc = "The Interrupt status will be updated in INTR_STATUS register if corresponding Status Enable bit set."]
268pub mod int_st_ena;
269#[doc = "RESET_CTRL (rw) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`reset_ctrl::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 [`reset_ctrl::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@reset_ctrl`] module"]
270pub type RESET_CTRL = crate::Reg<reset_ctrl::RESET_CTRL_SPEC>;
271#[doc = "NA"]
272pub mod reset_ctrl;
273#[doc = "BUFFER_STATUS_LEVEL (r) register accessor: BUFFER_STATUS_LEVEL reflects the status level of Buffers in the controller.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`buffer_status_level::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@buffer_status_level`] module"]
274pub type BUFFER_STATUS_LEVEL = crate::Reg<buffer_status_level::BUFFER_STATUS_LEVEL_SPEC>;
275#[doc = "BUFFER_STATUS_LEVEL reflects the status level of Buffers in the controller."]
276pub mod buffer_status_level;
277#[doc = "DATA_BUFFER_STATUS_LEVEL (r) register accessor: DATA_BUFFER_STATUS_LEVEL reflects the status level of the Buffers in the controller.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data_buffer_status_level::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data_buffer_status_level`] module"]
278pub type DATA_BUFFER_STATUS_LEVEL =
279    crate::Reg<data_buffer_status_level::DATA_BUFFER_STATUS_LEVEL_SPEC>;
280#[doc = "DATA_BUFFER_STATUS_LEVEL reflects the status level of the Buffers in the controller."]
281pub mod data_buffer_status_level;
282#[doc = "PRESENT_STATE0 (r) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`present_state0::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@present_state0`] module"]
283pub type PRESENT_STATE0 = crate::Reg<present_state0::PRESENT_STATE0_SPEC>;
284#[doc = "NA"]
285pub mod present_state0;
286#[doc = "PRESENT_STATE1 (r) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`present_state1::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@present_state1`] module"]
287pub type PRESENT_STATE1 = crate::Reg<present_state1::PRESENT_STATE1_SPEC>;
288#[doc = "NA"]
289pub mod present_state1;
290#[doc = "DEVICE_TABLE (rw) register accessor: Pointer for Device Address Table\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`device_table::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 [`device_table::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@device_table`] module"]
291pub type DEVICE_TABLE = crate::Reg<device_table::DEVICE_TABLE_SPEC>;
292#[doc = "Pointer for Device Address Table"]
293pub mod device_table;
294#[doc = "TIME_OUT_VALUE (rw) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`time_out_value::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 [`time_out_value::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@time_out_value`] module"]
295pub type TIME_OUT_VALUE = crate::Reg<time_out_value::TIME_OUT_VALUE_SPEC>;
296#[doc = "NA"]
297pub mod time_out_value;
298#[doc = "SCL_I3C_MST_OD_TIME (rw) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`scl_i3c_mst_od_time::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 [`scl_i3c_mst_od_time::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@scl_i3c_mst_od_time`] module"]
299pub type SCL_I3C_MST_OD_TIME = crate::Reg<scl_i3c_mst_od_time::SCL_I3C_MST_OD_TIME_SPEC>;
300#[doc = "NA"]
301pub mod scl_i3c_mst_od_time;
302#[doc = "SCL_I3C_MST_PP_TIME (rw) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`scl_i3c_mst_pp_time::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 [`scl_i3c_mst_pp_time::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@scl_i3c_mst_pp_time`] module"]
303pub type SCL_I3C_MST_PP_TIME = crate::Reg<scl_i3c_mst_pp_time::SCL_I3C_MST_PP_TIME_SPEC>;
304#[doc = "NA"]
305pub mod scl_i3c_mst_pp_time;
306#[doc = "SCL_I2C_FM_TIME (rw) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`scl_i2c_fm_time::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 [`scl_i2c_fm_time::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@scl_i2c_fm_time`] module"]
307pub type SCL_I2C_FM_TIME = crate::Reg<scl_i2c_fm_time::SCL_I2C_FM_TIME_SPEC>;
308#[doc = "NA"]
309pub mod scl_i2c_fm_time;
310#[doc = "SCL_I2C_FMP_TIME (rw) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`scl_i2c_fmp_time::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 [`scl_i2c_fmp_time::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@scl_i2c_fmp_time`] module"]
311pub type SCL_I2C_FMP_TIME = crate::Reg<scl_i2c_fmp_time::SCL_I2C_FMP_TIME_SPEC>;
312#[doc = "NA"]
313pub mod scl_i2c_fmp_time;
314#[doc = "SCL_EXT_LOW_TIME (rw) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`scl_ext_low_time::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 [`scl_ext_low_time::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@scl_ext_low_time`] module"]
315pub type SCL_EXT_LOW_TIME = crate::Reg<scl_ext_low_time::SCL_EXT_LOW_TIME_SPEC>;
316#[doc = "NA"]
317pub mod scl_ext_low_time;
318#[doc = "SDA_SAMPLE_TIME (rw) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`sda_sample_time::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_sample_time::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_sample_time`] module"]
319pub type SDA_SAMPLE_TIME = crate::Reg<sda_sample_time::SDA_SAMPLE_TIME_SPEC>;
320#[doc = "NA"]
321pub mod sda_sample_time;
322#[doc = "SDA_HOLD_TIME (rw) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`sda_hold_time::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_time::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_time`] module"]
323pub type SDA_HOLD_TIME = crate::Reg<sda_hold_time::SDA_HOLD_TIME_SPEC>;
324#[doc = "NA"]
325pub mod sda_hold_time;
326#[doc = "SCL_START_HOLD (rw) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`scl_start_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 [`scl_start_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@scl_start_hold`] module"]
327pub type SCL_START_HOLD = crate::Reg<scl_start_hold::SCL_START_HOLD_SPEC>;
328#[doc = "NA"]
329pub mod scl_start_hold;
330#[doc = "SCL_RSTART_SETUP (rw) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`scl_rstart_setup::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 [`scl_rstart_setup::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@scl_rstart_setup`] module"]
331pub type SCL_RSTART_SETUP = crate::Reg<scl_rstart_setup::SCL_RSTART_SETUP_SPEC>;
332#[doc = "NA"]
333pub mod scl_rstart_setup;
334#[doc = "SCL_STOP_HOLD (rw) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`scl_stop_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 [`scl_stop_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@scl_stop_hold`] module"]
335pub type SCL_STOP_HOLD = crate::Reg<scl_stop_hold::SCL_STOP_HOLD_SPEC>;
336#[doc = "NA"]
337pub mod scl_stop_hold;
338#[doc = "SCL_STOP_SETUP (rw) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`scl_stop_setup::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 [`scl_stop_setup::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@scl_stop_setup`] module"]
339pub type SCL_STOP_SETUP = crate::Reg<scl_stop_setup::SCL_STOP_SETUP_SPEC>;
340#[doc = "NA"]
341pub mod scl_stop_setup;
342#[doc = "BUS_FREE_TIME (rw) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`bus_free_time::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 [`bus_free_time::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@bus_free_time`] module"]
343pub type BUS_FREE_TIME = crate::Reg<bus_free_time::BUS_FREE_TIME_SPEC>;
344#[doc = "NA"]
345pub mod bus_free_time;
346#[doc = "SCL_TERMN_T_EXT_LOW_TIME (rw) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`scl_termn_t_ext_low_time::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 [`scl_termn_t_ext_low_time::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@scl_termn_t_ext_low_time`] module"]
347pub type SCL_TERMN_T_EXT_LOW_TIME =
348    crate::Reg<scl_termn_t_ext_low_time::SCL_TERMN_T_EXT_LOW_TIME_SPEC>;
349#[doc = "NA"]
350pub mod scl_termn_t_ext_low_time;
351#[doc = "VER_ID (rw) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ver_id::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 [`ver_id::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@ver_id`] module"]
352pub type VER_ID = crate::Reg<ver_id::VER_ID_SPEC>;
353#[doc = "NA"]
354pub mod ver_id;
355#[doc = "VER_TYPE (rw) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ver_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 [`ver_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@ver_type`] module"]
356pub type VER_TYPE = crate::Reg<ver_type::VER_TYPE_SPEC>;
357#[doc = "NA"]
358pub mod ver_type;
359#[doc = "FPGA_DEBUG_PROBE (rw) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`fpga_debug_probe::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 [`fpga_debug_probe::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@fpga_debug_probe`] module"]
360pub type FPGA_DEBUG_PROBE = crate::Reg<fpga_debug_probe::FPGA_DEBUG_PROBE_SPEC>;
361#[doc = "NA"]
362pub mod fpga_debug_probe;
363#[doc = "RND_ECO_CS (rw) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`rnd_eco_cs::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 [`rnd_eco_cs::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@rnd_eco_cs`] module"]
364pub type RND_ECO_CS = crate::Reg<rnd_eco_cs::RND_ECO_CS_SPEC>;
365#[doc = "NA"]
366pub mod rnd_eco_cs;
367#[doc = "RND_ECO_LOW (rw) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`rnd_eco_low::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 [`rnd_eco_low::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@rnd_eco_low`] module"]
368pub type RND_ECO_LOW = crate::Reg<rnd_eco_low::RND_ECO_LOW_SPEC>;
369#[doc = "NA"]
370pub mod rnd_eco_low;
371#[doc = "RND_ECO_HIGH (rw) register accessor: NA\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`rnd_eco_high::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 [`rnd_eco_high::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@rnd_eco_high`] module"]
372pub type RND_ECO_HIGH = crate::Reg<rnd_eco_high::RND_ECO_HIGH_SPEC>;
373#[doc = "NA"]
374pub mod rnd_eco_high;