esp32c2/
i2c0.rs

1#[repr(C)]
2#[cfg_attr(feature = "impl-register-debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5    scl_low_period: SCL_LOW_PERIOD,
6    ctr: CTR,
7    sr: SR,
8    to: TO,
9    _reserved4: [u8; 0x04],
10    fifo_st: FIFO_ST,
11    fifo_conf: FIFO_CONF,
12    data: DATA,
13    int_raw: INT_RAW,
14    int_clr: INT_CLR,
15    int_ena: INT_ENA,
16    int_st: INT_ST,
17    sda_hold: SDA_HOLD,
18    sda_sample: SDA_SAMPLE,
19    scl_high_period: SCL_HIGH_PERIOD,
20    _reserved14: [u8; 0x04],
21    scl_start_hold: SCL_START_HOLD,
22    scl_rstart_setup: SCL_RSTART_SETUP,
23    scl_stop_hold: SCL_STOP_HOLD,
24    scl_stop_setup: SCL_STOP_SETUP,
25    filter_cfg: FILTER_CFG,
26    clk_conf: CLK_CONF,
27    comd: [COMD; 8],
28    scl_st_time_out: SCL_ST_TIME_OUT,
29    scl_main_st_time_out: SCL_MAIN_ST_TIME_OUT,
30    scl_sp_conf: SCL_SP_CONF,
31    _reserved24: [u8; 0x74],
32    date: DATE,
33    _reserved25: [u8; 0x04],
34    txfifo_start_addr: TXFIFO_START_ADDR,
35    _reserved26: [u8; 0x7c],
36    rxfifo_start_addr: RXFIFO_START_ADDR,
37}
38impl RegisterBlock {
39    #[doc = "0x00 - Configures the low level width of the SCL Clock"]
40    #[inline(always)]
41    pub const fn scl_low_period(&self) -> &SCL_LOW_PERIOD {
42        &self.scl_low_period
43    }
44    #[doc = "0x04 - Transmission setting"]
45    #[inline(always)]
46    pub const fn ctr(&self) -> &CTR {
47        &self.ctr
48    }
49    #[doc = "0x08 - Describe I2C work status."]
50    #[inline(always)]
51    pub const fn sr(&self) -> &SR {
52        &self.sr
53    }
54    #[doc = "0x0c - Setting time out control for receiving data."]
55    #[inline(always)]
56    pub const fn to(&self) -> &TO {
57        &self.to
58    }
59    #[doc = "0x14 - FIFO status register."]
60    #[inline(always)]
61    pub const fn fifo_st(&self) -> &FIFO_ST {
62        &self.fifo_st
63    }
64    #[doc = "0x18 - FIFO configuration register."]
65    #[inline(always)]
66    pub const fn fifo_conf(&self) -> &FIFO_CONF {
67        &self.fifo_conf
68    }
69    #[doc = "0x1c - Rx FIFO read data."]
70    #[inline(always)]
71    pub const fn data(&self) -> &DATA {
72        &self.data
73    }
74    #[doc = "0x20 - Raw interrupt status"]
75    #[inline(always)]
76    pub const fn int_raw(&self) -> &INT_RAW {
77        &self.int_raw
78    }
79    #[doc = "0x24 - Interrupt clear bits"]
80    #[inline(always)]
81    pub const fn int_clr(&self) -> &INT_CLR {
82        &self.int_clr
83    }
84    #[doc = "0x28 - Interrupt enable bits"]
85    #[inline(always)]
86    pub const fn int_ena(&self) -> &INT_ENA {
87        &self.int_ena
88    }
89    #[doc = "0x2c - Status of captured I2C communication events"]
90    #[inline(always)]
91    pub const fn int_st(&self) -> &INT_ST {
92        &self.int_st
93    }
94    #[doc = "0x30 - Configures the hold time after a negative SCL edge."]
95    #[inline(always)]
96    pub const fn sda_hold(&self) -> &SDA_HOLD {
97        &self.sda_hold
98    }
99    #[doc = "0x34 - Configures the sample time after a positive SCL edge."]
100    #[inline(always)]
101    pub const fn sda_sample(&self) -> &SDA_SAMPLE {
102        &self.sda_sample
103    }
104    #[doc = "0x38 - Configures the high level width of SCL"]
105    #[inline(always)]
106    pub const fn scl_high_period(&self) -> &SCL_HIGH_PERIOD {
107        &self.scl_high_period
108    }
109    #[doc = "0x40 - Configures the delay between the SDA and SCL negative edge for a start condition"]
110    #[inline(always)]
111    pub const fn scl_start_hold(&self) -> &SCL_START_HOLD {
112        &self.scl_start_hold
113    }
114    #[doc = "0x44 - Configures the delay between the positive edge of SCL and the negative edge of SDA"]
115    #[inline(always)]
116    pub const fn scl_rstart_setup(&self) -> &SCL_RSTART_SETUP {
117        &self.scl_rstart_setup
118    }
119    #[doc = "0x48 - Configures the delay after the SCL clock edge for a stop condition"]
120    #[inline(always)]
121    pub const fn scl_stop_hold(&self) -> &SCL_STOP_HOLD {
122        &self.scl_stop_hold
123    }
124    #[doc = "0x4c - Configures the delay between the SDA and SCL positive edge for a stop condition"]
125    #[inline(always)]
126    pub const fn scl_stop_setup(&self) -> &SCL_STOP_SETUP {
127        &self.scl_stop_setup
128    }
129    #[doc = "0x50 - SCL and SDA filter configuration register"]
130    #[inline(always)]
131    pub const fn filter_cfg(&self) -> &FILTER_CFG {
132        &self.filter_cfg
133    }
134    #[doc = "0x54 - I2C CLK configuration register"]
135    #[inline(always)]
136    pub const fn clk_conf(&self) -> &CLK_CONF {
137        &self.clk_conf
138    }
139    #[doc = "0x58..0x78 - I2C command register %s"]
140    #[inline(always)]
141    pub const fn comd(&self, n: usize) -> &COMD {
142        &self.comd[n]
143    }
144    #[doc = "Iterator for array of:"]
145    #[doc = "0x58..0x78 - I2C command register %s"]
146    #[inline(always)]
147    pub fn comd_iter(&self) -> impl Iterator<Item = &COMD> {
148        self.comd.iter()
149    }
150    #[doc = "0x78 - SCL status time out register"]
151    #[inline(always)]
152    pub const fn scl_st_time_out(&self) -> &SCL_ST_TIME_OUT {
153        &self.scl_st_time_out
154    }
155    #[doc = "0x7c - SCL main status time out register"]
156    #[inline(always)]
157    pub const fn scl_main_st_time_out(&self) -> &SCL_MAIN_ST_TIME_OUT {
158        &self.scl_main_st_time_out
159    }
160    #[doc = "0x80 - Power configuration register"]
161    #[inline(always)]
162    pub const fn scl_sp_conf(&self) -> &SCL_SP_CONF {
163        &self.scl_sp_conf
164    }
165    #[doc = "0xf8 - Version register"]
166    #[inline(always)]
167    pub const fn date(&self) -> &DATE {
168        &self.date
169    }
170    #[doc = "0x100 - I2C TXFIFO base address register"]
171    #[inline(always)]
172    pub const fn txfifo_start_addr(&self) -> &TXFIFO_START_ADDR {
173        &self.txfifo_start_addr
174    }
175    #[doc = "0x180 - I2C RXFIFO base address register"]
176    #[inline(always)]
177    pub const fn rxfifo_start_addr(&self) -> &RXFIFO_START_ADDR {
178        &self.rxfifo_start_addr
179    }
180}
181#[doc = "SCL_LOW_PERIOD (rw) register accessor: Configures the low level width of the SCL Clock\n\nYou can [`read`](crate::Reg::read) this register and get [`scl_low_period::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`scl_low_period::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@scl_low_period`] module"]
182pub type SCL_LOW_PERIOD = crate::Reg<scl_low_period::SCL_LOW_PERIOD_SPEC>;
183#[doc = "Configures the low level width of the SCL Clock"]
184pub mod scl_low_period;
185#[doc = "CTR (rw) register accessor: Transmission setting\n\nYou can [`read`](crate::Reg::read) this register and get [`ctr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ctr::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@ctr`] module"]
186pub type CTR = crate::Reg<ctr::CTR_SPEC>;
187#[doc = "Transmission setting"]
188pub mod ctr;
189#[doc = "SR (r) register accessor: Describe I2C work status.\n\nYou can [`read`](crate::Reg::read) this register and get [`sr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@sr`] module"]
190pub type SR = crate::Reg<sr::SR_SPEC>;
191#[doc = "Describe I2C work status."]
192pub mod sr;
193#[doc = "TO (rw) register accessor: Setting time out control for receiving data.\n\nYou can [`read`](crate::Reg::read) this register and get [`to::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`to::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@to`] module"]
194pub type TO = crate::Reg<to::TO_SPEC>;
195#[doc = "Setting time out control for receiving data."]
196pub mod to;
197#[doc = "FIFO_ST (r) register accessor: FIFO status register.\n\nYou can [`read`](crate::Reg::read) this register and get [`fifo_st::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@fifo_st`] module"]
198pub type FIFO_ST = crate::Reg<fifo_st::FIFO_ST_SPEC>;
199#[doc = "FIFO status register."]
200pub mod fifo_st;
201#[doc = "FIFO_CONF (rw) register accessor: FIFO configuration register.\n\nYou can [`read`](crate::Reg::read) this register and get [`fifo_conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`fifo_conf::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@fifo_conf`] module"]
202pub type FIFO_CONF = crate::Reg<fifo_conf::FIFO_CONF_SPEC>;
203#[doc = "FIFO configuration register."]
204pub mod fifo_conf;
205#[doc = "DATA (rw) register accessor: Rx FIFO read data.\n\nYou can [`read`](crate::Reg::read) this register and get [`data::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data::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`] module"]
206pub type DATA = crate::Reg<data::DATA_SPEC>;
207#[doc = "Rx FIFO read data."]
208pub mod data;
209#[doc = "INT_RAW (r) register accessor: Raw interrupt status\n\nYou can [`read`](crate::Reg::read) this register and get [`int_raw::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@int_raw`] module"]
210pub type INT_RAW = crate::Reg<int_raw::INT_RAW_SPEC>;
211#[doc = "Raw interrupt status"]
212pub mod int_raw;
213#[doc = "INT_CLR (w) register accessor: Interrupt clear bits\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::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"]
214pub type INT_CLR = crate::Reg<int_clr::INT_CLR_SPEC>;
215#[doc = "Interrupt clear bits"]
216pub mod int_clr;
217#[doc = "INT_ENA (rw) register accessor: Interrupt enable bits\n\nYou can [`read`](crate::Reg::read) this register and get [`int_ena::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`int_ena::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@int_ena`] module"]
218pub type INT_ENA = crate::Reg<int_ena::INT_ENA_SPEC>;
219#[doc = "Interrupt enable bits"]
220pub mod int_ena;
221#[doc = "INT_ST (r) register accessor: Status of captured I2C communication events\n\nYou can [`read`](crate::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"]
222pub type INT_ST = crate::Reg<int_st::INT_ST_SPEC>;
223#[doc = "Status of captured I2C communication events"]
224pub mod int_st;
225#[doc = "SDA_HOLD (rw) register accessor: Configures the hold time after a negative SCL edge.\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"]
226pub type SDA_HOLD = crate::Reg<sda_hold::SDA_HOLD_SPEC>;
227#[doc = "Configures the hold time after a negative SCL edge."]
228pub mod sda_hold;
229#[doc = "SDA_SAMPLE (rw) register accessor: Configures the sample time after a positive SCL edge.\n\nYou can [`read`](crate::Reg::read) this register and get [`sda_sample::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sda_sample::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_sample`] module"]
230pub type SDA_SAMPLE = crate::Reg<sda_sample::SDA_SAMPLE_SPEC>;
231#[doc = "Configures the sample time after a positive SCL edge."]
232pub mod sda_sample;
233#[doc = "SCL_HIGH_PERIOD (rw) register accessor: Configures the high level width of SCL\n\nYou can [`read`](crate::Reg::read) this register and get [`scl_high_period::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`scl_high_period::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@scl_high_period`] module"]
234pub type SCL_HIGH_PERIOD = crate::Reg<scl_high_period::SCL_HIGH_PERIOD_SPEC>;
235#[doc = "Configures the high level width of SCL"]
236pub mod scl_high_period;
237#[doc = "SCL_START_HOLD (rw) register accessor: Configures the delay between the SDA and SCL negative edge for a start condition\n\nYou can [`read`](crate::Reg::read) this register and get [`scl_start_hold::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`scl_start_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@scl_start_hold`] module"]
238pub type SCL_START_HOLD = crate::Reg<scl_start_hold::SCL_START_HOLD_SPEC>;
239#[doc = "Configures the delay between the SDA and SCL negative edge for a start condition"]
240pub mod scl_start_hold;
241#[doc = "SCL_RSTART_SETUP (rw) register accessor: Configures the delay between the positive edge of SCL and the negative edge of SDA\n\nYou can [`read`](crate::Reg::read) this register and get [`scl_rstart_setup::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`scl_rstart_setup::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@scl_rstart_setup`] module"]
242pub type SCL_RSTART_SETUP = crate::Reg<scl_rstart_setup::SCL_RSTART_SETUP_SPEC>;
243#[doc = "Configures the delay between the positive edge of SCL and the negative edge of SDA"]
244pub mod scl_rstart_setup;
245#[doc = "SCL_STOP_HOLD (rw) register accessor: Configures the delay after the SCL clock edge for a stop condition\n\nYou can [`read`](crate::Reg::read) this register and get [`scl_stop_hold::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`scl_stop_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@scl_stop_hold`] module"]
246pub type SCL_STOP_HOLD = crate::Reg<scl_stop_hold::SCL_STOP_HOLD_SPEC>;
247#[doc = "Configures the delay after the SCL clock edge for a stop condition"]
248pub mod scl_stop_hold;
249#[doc = "SCL_STOP_SETUP (rw) register accessor: Configures the delay between the SDA and SCL positive edge for a stop condition\n\nYou can [`read`](crate::Reg::read) this register and get [`scl_stop_setup::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`scl_stop_setup::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@scl_stop_setup`] module"]
250pub type SCL_STOP_SETUP = crate::Reg<scl_stop_setup::SCL_STOP_SETUP_SPEC>;
251#[doc = "Configures the delay between the SDA and SCL positive edge for a stop condition"]
252pub mod scl_stop_setup;
253#[doc = "FILTER_CFG (rw) register accessor: SCL and SDA filter configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`filter_cfg::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`filter_cfg::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@filter_cfg`] module"]
254pub type FILTER_CFG = crate::Reg<filter_cfg::FILTER_CFG_SPEC>;
255#[doc = "SCL and SDA filter configuration register"]
256pub mod filter_cfg;
257#[doc = "CLK_CONF (rw) register accessor: I2C CLK configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`clk_conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`clk_conf::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@clk_conf`] module"]
258pub type CLK_CONF = crate::Reg<clk_conf::CLK_CONF_SPEC>;
259#[doc = "I2C CLK configuration register"]
260pub mod clk_conf;
261#[doc = "COMD (rw) register accessor: I2C command register %s\n\nYou can [`read`](crate::Reg::read) this register and get [`comd::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`comd::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@comd`] module"]
262pub type COMD = crate::Reg<comd::COMD_SPEC>;
263#[doc = "I2C command register %s"]
264pub mod comd;
265#[doc = "SCL_ST_TIME_OUT (rw) register accessor: SCL status time out register\n\nYou can [`read`](crate::Reg::read) this register and get [`scl_st_time_out::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`scl_st_time_out::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@scl_st_time_out`] module"]
266pub type SCL_ST_TIME_OUT = crate::Reg<scl_st_time_out::SCL_ST_TIME_OUT_SPEC>;
267#[doc = "SCL status time out register"]
268pub mod scl_st_time_out;
269#[doc = "SCL_MAIN_ST_TIME_OUT (rw) register accessor: SCL main status time out register\n\nYou can [`read`](crate::Reg::read) this register and get [`scl_main_st_time_out::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`scl_main_st_time_out::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@scl_main_st_time_out`] module"]
270pub type SCL_MAIN_ST_TIME_OUT = crate::Reg<scl_main_st_time_out::SCL_MAIN_ST_TIME_OUT_SPEC>;
271#[doc = "SCL main status time out register"]
272pub mod scl_main_st_time_out;
273#[doc = "SCL_SP_CONF (rw) register accessor: Power configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`scl_sp_conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`scl_sp_conf::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@scl_sp_conf`] module"]
274pub type SCL_SP_CONF = crate::Reg<scl_sp_conf::SCL_SP_CONF_SPEC>;
275#[doc = "Power configuration register"]
276pub mod scl_sp_conf;
277#[doc = "DATE (rw) register accessor: Version register\n\nYou can [`read`](crate::Reg::read) this register and get [`date::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`date::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@date`] module"]
278pub type DATE = crate::Reg<date::DATE_SPEC>;
279#[doc = "Version register"]
280pub mod date;
281#[doc = "TXFIFO_START_ADDR (r) register accessor: I2C TXFIFO base address register\n\nYou can [`read`](crate::Reg::read) this register and get [`txfifo_start_addr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@txfifo_start_addr`] module"]
282pub type TXFIFO_START_ADDR = crate::Reg<txfifo_start_addr::TXFIFO_START_ADDR_SPEC>;
283#[doc = "I2C TXFIFO base address register"]
284pub mod txfifo_start_addr;
285#[doc = "RXFIFO_START_ADDR (r) register accessor: I2C RXFIFO base address register\n\nYou can [`read`](crate::Reg::read) this register and get [`rxfifo_start_addr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rxfifo_start_addr`] module"]
286pub type RXFIFO_START_ADDR = crate::Reg<rxfifo_start_addr::RXFIFO_START_ADDR_SPEC>;
287#[doc = "I2C RXFIFO base address register"]
288pub mod rxfifo_start_addr;