esp32s2/
i2s0.rs

1#[repr(C)]
2#[cfg_attr(feature = "impl-register-debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5    _reserved0: [u8; 0x08],
6    conf: CONF,
7    int_raw: INT_RAW,
8    int_st: INT_ST,
9    int_ena: INT_ENA,
10    int_clr: INT_CLR,
11    timing: TIMING,
12    fifo_conf: FIFO_CONF,
13    rxeof_num: RXEOF_NUM,
14    conf_sigle_data: CONF_SIGLE_DATA,
15    conf_chan: CONF_CHAN,
16    out_link: OUT_LINK,
17    in_link: IN_LINK,
18    out_eof_des_addr: OUT_EOF_DES_ADDR,
19    in_eof_des_addr: IN_EOF_DES_ADDR,
20    out_eof_bfr_des_addr: OUT_EOF_BFR_DES_ADDR,
21    _reserved15: [u8; 0x04],
22    inlink_dscr: INLINK_DSCR,
23    inlink_dscr_bf0: INLINK_DSCR_BF0,
24    inlink_dscr_bf1: INLINK_DSCR_BF1,
25    outlink_dscr: OUTLINK_DSCR,
26    outlink_dscr_bf0: OUTLINK_DSCR_BF0,
27    outlink_dscr_bf1: OUTLINK_DSCR_BF1,
28    lc_conf: LC_CONF,
29    outfifo_push: OUTFIFO_PUSH,
30    infifo_pop: INFIFO_POP,
31    lc_state0: LC_STATE0,
32    lc_state1: LC_STATE1,
33    lc_hung_conf: LC_HUNG_CONF,
34    _reserved27: [u8; 0x28],
35    conf1: CONF1,
36    pd_conf: PD_CONF,
37    conf2: CONF2,
38    clkm_conf: CLKM_CONF,
39    sample_rate_conf: SAMPLE_RATE_CONF,
40    _reserved32: [u8; 0x08],
41    state: STATE,
42    _reserved33: [u8; 0x3c],
43    date: DATE,
44}
45impl RegisterBlock {
46    #[doc = "0x08 - I2S configuration register"]
47    #[inline(always)]
48    pub const fn conf(&self) -> &CONF {
49        &self.conf
50    }
51    #[doc = "0x0c - Raw interrupt status"]
52    #[inline(always)]
53    pub const fn int_raw(&self) -> &INT_RAW {
54        &self.int_raw
55    }
56    #[doc = "0x10 - Masked interrupt status"]
57    #[inline(always)]
58    pub const fn int_st(&self) -> &INT_ST {
59        &self.int_st
60    }
61    #[doc = "0x14 - Interrupt enable bits"]
62    #[inline(always)]
63    pub const fn int_ena(&self) -> &INT_ENA {
64        &self.int_ena
65    }
66    #[doc = "0x18 - Interrupt clear bits"]
67    #[inline(always)]
68    pub const fn int_clr(&self) -> &INT_CLR {
69        &self.int_clr
70    }
71    #[doc = "0x1c - I2S timing register"]
72    #[inline(always)]
73    pub const fn timing(&self) -> &TIMING {
74        &self.timing
75    }
76    #[doc = "0x20 - I2S FIFO configuration register"]
77    #[inline(always)]
78    pub const fn fifo_conf(&self) -> &FIFO_CONF {
79        &self.fifo_conf
80    }
81    #[doc = "0x24 - I2S DMA RX EOF data length"]
82    #[inline(always)]
83    pub const fn rxeof_num(&self) -> &RXEOF_NUM {
84        &self.rxeof_num
85    }
86    #[doc = "0x28 - Constant single channel data"]
87    #[inline(always)]
88    pub const fn conf_sigle_data(&self) -> &CONF_SIGLE_DATA {
89        &self.conf_sigle_data
90    }
91    #[doc = "0x2c - I2S channel configuration register"]
92    #[inline(always)]
93    pub const fn conf_chan(&self) -> &CONF_CHAN {
94        &self.conf_chan
95    }
96    #[doc = "0x30 - I2S DMA TX configuration register"]
97    #[inline(always)]
98    pub const fn out_link(&self) -> &OUT_LINK {
99        &self.out_link
100    }
101    #[doc = "0x34 - I2S DMA RX configuration register"]
102    #[inline(always)]
103    pub const fn in_link(&self) -> &IN_LINK {
104        &self.in_link
105    }
106    #[doc = "0x38 - Address of outlink descriptor that produces EOF"]
107    #[inline(always)]
108    pub const fn out_eof_des_addr(&self) -> &OUT_EOF_DES_ADDR {
109        &self.out_eof_des_addr
110    }
111    #[doc = "0x3c - Address of inlink descriptor that produces EOF"]
112    #[inline(always)]
113    pub const fn in_eof_des_addr(&self) -> &IN_EOF_DES_ADDR {
114        &self.in_eof_des_addr
115    }
116    #[doc = "0x40 - Address of buffer relative to the outlink descriptor that produces EOF"]
117    #[inline(always)]
118    pub const fn out_eof_bfr_des_addr(&self) -> &OUT_EOF_BFR_DES_ADDR {
119        &self.out_eof_bfr_des_addr
120    }
121    #[doc = "0x48 - Address of current inlink descriptor"]
122    #[inline(always)]
123    pub const fn inlink_dscr(&self) -> &INLINK_DSCR {
124        &self.inlink_dscr
125    }
126    #[doc = "0x4c - Address of next inlink descriptor"]
127    #[inline(always)]
128    pub const fn inlink_dscr_bf0(&self) -> &INLINK_DSCR_BF0 {
129        &self.inlink_dscr_bf0
130    }
131    #[doc = "0x50 - Address of next inlink data buffer"]
132    #[inline(always)]
133    pub const fn inlink_dscr_bf1(&self) -> &INLINK_DSCR_BF1 {
134        &self.inlink_dscr_bf1
135    }
136    #[doc = "0x54 - Address of current outlink descriptor"]
137    #[inline(always)]
138    pub const fn outlink_dscr(&self) -> &OUTLINK_DSCR {
139        &self.outlink_dscr
140    }
141    #[doc = "0x58 - Address of next outlink descriptor"]
142    #[inline(always)]
143    pub const fn outlink_dscr_bf0(&self) -> &OUTLINK_DSCR_BF0 {
144        &self.outlink_dscr_bf0
145    }
146    #[doc = "0x5c - Address of next outlink data buffer"]
147    #[inline(always)]
148    pub const fn outlink_dscr_bf1(&self) -> &OUTLINK_DSCR_BF1 {
149        &self.outlink_dscr_bf1
150    }
151    #[doc = "0x60 - I2S DMA configuration register"]
152    #[inline(always)]
153    pub const fn lc_conf(&self) -> &LC_CONF {
154        &self.lc_conf
155    }
156    #[doc = "0x64 - APB out FIFO mode register"]
157    #[inline(always)]
158    pub const fn outfifo_push(&self) -> &OUTFIFO_PUSH {
159        &self.outfifo_push
160    }
161    #[doc = "0x68 - APB in FIFO mode register"]
162    #[inline(always)]
163    pub const fn infifo_pop(&self) -> &INFIFO_POP {
164        &self.infifo_pop
165    }
166    #[doc = "0x6c - I2S DMA TX status"]
167    #[inline(always)]
168    pub const fn lc_state0(&self) -> &LC_STATE0 {
169        &self.lc_state0
170    }
171    #[doc = "0x70 - I2S DMA RX status"]
172    #[inline(always)]
173    pub const fn lc_state1(&self) -> &LC_STATE1 {
174        &self.lc_state1
175    }
176    #[doc = "0x74 - I2S Hung configuration register"]
177    #[inline(always)]
178    pub const fn lc_hung_conf(&self) -> &LC_HUNG_CONF {
179        &self.lc_hung_conf
180    }
181    #[doc = "0xa0 - I2S configuration register 1"]
182    #[inline(always)]
183    pub const fn conf1(&self) -> &CONF1 {
184        &self.conf1
185    }
186    #[doc = "0xa4 - I2S power-down configuration register"]
187    #[inline(always)]
188    pub const fn pd_conf(&self) -> &PD_CONF {
189        &self.pd_conf
190    }
191    #[doc = "0xa8 - I2S configuration register 2"]
192    #[inline(always)]
193    pub const fn conf2(&self) -> &CONF2 {
194        &self.conf2
195    }
196    #[doc = "0xac - I2S module clock configuration register"]
197    #[inline(always)]
198    pub const fn clkm_conf(&self) -> &CLKM_CONF {
199        &self.clkm_conf
200    }
201    #[doc = "0xb0 - I2S sample rate register"]
202    #[inline(always)]
203    pub const fn sample_rate_conf(&self) -> &SAMPLE_RATE_CONF {
204        &self.sample_rate_conf
205    }
206    #[doc = "0xbc - I2S TX status register"]
207    #[inline(always)]
208    pub const fn state(&self) -> &STATE {
209        &self.state
210    }
211    #[doc = "0xfc - Version control register"]
212    #[inline(always)]
213    pub const fn date(&self) -> &DATE {
214        &self.date
215    }
216}
217#[doc = "CONF (rw) register accessor: I2S configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`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@conf`] module"]
218pub type CONF = crate::Reg<conf::CONF_SPEC>;
219#[doc = "I2S configuration register"]
220pub mod conf;
221#[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"]
222pub type INT_RAW = crate::Reg<int_raw::INT_RAW_SPEC>;
223#[doc = "Raw interrupt status"]
224pub mod int_raw;
225#[doc = "INT_ST (r) register accessor: Masked interrupt status\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"]
226pub type INT_ST = crate::Reg<int_st::INT_ST_SPEC>;
227#[doc = "Masked interrupt status"]
228pub mod int_st;
229#[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"]
230pub type INT_ENA = crate::Reg<int_ena::INT_ENA_SPEC>;
231#[doc = "Interrupt enable bits"]
232pub mod int_ena;
233#[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"]
234pub type INT_CLR = crate::Reg<int_clr::INT_CLR_SPEC>;
235#[doc = "Interrupt clear bits"]
236pub mod int_clr;
237#[doc = "TIMING (rw) register accessor: I2S timing register\n\nYou can [`read`](crate::Reg::read) this register and get [`timing::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`timing::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@timing`] module"]
238pub type TIMING = crate::Reg<timing::TIMING_SPEC>;
239#[doc = "I2S timing register"]
240pub mod timing;
241#[doc = "FIFO_CONF (rw) register accessor: I2S 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"]
242pub type FIFO_CONF = crate::Reg<fifo_conf::FIFO_CONF_SPEC>;
243#[doc = "I2S FIFO configuration register"]
244pub mod fifo_conf;
245#[doc = "RXEOF_NUM (rw) register accessor: I2S DMA RX EOF data length\n\nYou can [`read`](crate::Reg::read) this register and get [`rxeof_num::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rxeof_num::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@rxeof_num`] module"]
246pub type RXEOF_NUM = crate::Reg<rxeof_num::RXEOF_NUM_SPEC>;
247#[doc = "I2S DMA RX EOF data length"]
248pub mod rxeof_num;
249#[doc = "CONF_SIGLE_DATA (rw) register accessor: Constant single channel data\n\nYou can [`read`](crate::Reg::read) this register and get [`conf_sigle_data::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`conf_sigle_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@conf_sigle_data`] module"]
250pub type CONF_SIGLE_DATA = crate::Reg<conf_sigle_data::CONF_SIGLE_DATA_SPEC>;
251#[doc = "Constant single channel data"]
252pub mod conf_sigle_data;
253#[doc = "CONF_CHAN (rw) register accessor: I2S channel configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`conf_chan::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`conf_chan::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@conf_chan`] module"]
254pub type CONF_CHAN = crate::Reg<conf_chan::CONF_CHAN_SPEC>;
255#[doc = "I2S channel configuration register"]
256pub mod conf_chan;
257#[doc = "OUT_LINK (rw) register accessor: I2S DMA TX configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`out_link::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`out_link::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@out_link`] module"]
258pub type OUT_LINK = crate::Reg<out_link::OUT_LINK_SPEC>;
259#[doc = "I2S DMA TX configuration register"]
260pub mod out_link;
261#[doc = "IN_LINK (rw) register accessor: I2S DMA RX configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`in_link::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`in_link::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@in_link`] module"]
262pub type IN_LINK = crate::Reg<in_link::IN_LINK_SPEC>;
263#[doc = "I2S DMA RX configuration register"]
264pub mod in_link;
265#[doc = "OUT_EOF_DES_ADDR (r) register accessor: Address of outlink descriptor that produces EOF\n\nYou can [`read`](crate::Reg::read) this register and get [`out_eof_des_addr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@out_eof_des_addr`] module"]
266pub type OUT_EOF_DES_ADDR = crate::Reg<out_eof_des_addr::OUT_EOF_DES_ADDR_SPEC>;
267#[doc = "Address of outlink descriptor that produces EOF"]
268pub mod out_eof_des_addr;
269#[doc = "IN_EOF_DES_ADDR (r) register accessor: Address of inlink descriptor that produces EOF\n\nYou can [`read`](crate::Reg::read) this register and get [`in_eof_des_addr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@in_eof_des_addr`] module"]
270pub type IN_EOF_DES_ADDR = crate::Reg<in_eof_des_addr::IN_EOF_DES_ADDR_SPEC>;
271#[doc = "Address of inlink descriptor that produces EOF"]
272pub mod in_eof_des_addr;
273#[doc = "OUT_EOF_BFR_DES_ADDR (r) register accessor: Address of buffer relative to the outlink descriptor that produces EOF\n\nYou can [`read`](crate::Reg::read) this register and get [`out_eof_bfr_des_addr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@out_eof_bfr_des_addr`] module"]
274pub type OUT_EOF_BFR_DES_ADDR = crate::Reg<out_eof_bfr_des_addr::OUT_EOF_BFR_DES_ADDR_SPEC>;
275#[doc = "Address of buffer relative to the outlink descriptor that produces EOF"]
276pub mod out_eof_bfr_des_addr;
277#[doc = "INLINK_DSCR (r) register accessor: Address of current inlink descriptor\n\nYou can [`read`](crate::Reg::read) this register and get [`inlink_dscr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@inlink_dscr`] module"]
278pub type INLINK_DSCR = crate::Reg<inlink_dscr::INLINK_DSCR_SPEC>;
279#[doc = "Address of current inlink descriptor"]
280pub mod inlink_dscr;
281#[doc = "INLINK_DSCR_BF0 (r) register accessor: Address of next inlink descriptor\n\nYou can [`read`](crate::Reg::read) this register and get [`inlink_dscr_bf0::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@inlink_dscr_bf0`] module"]
282pub type INLINK_DSCR_BF0 = crate::Reg<inlink_dscr_bf0::INLINK_DSCR_BF0_SPEC>;
283#[doc = "Address of next inlink descriptor"]
284pub mod inlink_dscr_bf0;
285#[doc = "INLINK_DSCR_BF1 (r) register accessor: Address of next inlink data buffer\n\nYou can [`read`](crate::Reg::read) this register and get [`inlink_dscr_bf1::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@inlink_dscr_bf1`] module"]
286pub type INLINK_DSCR_BF1 = crate::Reg<inlink_dscr_bf1::INLINK_DSCR_BF1_SPEC>;
287#[doc = "Address of next inlink data buffer"]
288pub mod inlink_dscr_bf1;
289#[doc = "OUTLINK_DSCR (r) register accessor: Address of current outlink descriptor\n\nYou can [`read`](crate::Reg::read) this register and get [`outlink_dscr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@outlink_dscr`] module"]
290pub type OUTLINK_DSCR = crate::Reg<outlink_dscr::OUTLINK_DSCR_SPEC>;
291#[doc = "Address of current outlink descriptor"]
292pub mod outlink_dscr;
293#[doc = "OUTLINK_DSCR_BF0 (r) register accessor: Address of next outlink descriptor\n\nYou can [`read`](crate::Reg::read) this register and get [`outlink_dscr_bf0::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@outlink_dscr_bf0`] module"]
294pub type OUTLINK_DSCR_BF0 = crate::Reg<outlink_dscr_bf0::OUTLINK_DSCR_BF0_SPEC>;
295#[doc = "Address of next outlink descriptor"]
296pub mod outlink_dscr_bf0;
297#[doc = "OUTLINK_DSCR_BF1 (r) register accessor: Address of next outlink data buffer\n\nYou can [`read`](crate::Reg::read) this register and get [`outlink_dscr_bf1::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@outlink_dscr_bf1`] module"]
298pub type OUTLINK_DSCR_BF1 = crate::Reg<outlink_dscr_bf1::OUTLINK_DSCR_BF1_SPEC>;
299#[doc = "Address of next outlink data buffer"]
300pub mod outlink_dscr_bf1;
301#[doc = "LC_CONF (rw) register accessor: I2S DMA configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`lc_conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lc_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@lc_conf`] module"]
302pub type LC_CONF = crate::Reg<lc_conf::LC_CONF_SPEC>;
303#[doc = "I2S DMA configuration register"]
304pub mod lc_conf;
305#[doc = "OUTFIFO_PUSH (rw) register accessor: APB out FIFO mode register\n\nYou can [`read`](crate::Reg::read) this register and get [`outfifo_push::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`outfifo_push::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@outfifo_push`] module"]
306pub type OUTFIFO_PUSH = crate::Reg<outfifo_push::OUTFIFO_PUSH_SPEC>;
307#[doc = "APB out FIFO mode register"]
308pub mod outfifo_push;
309#[doc = "INFIFO_POP (rw) register accessor: APB in FIFO mode register\n\nYou can [`read`](crate::Reg::read) this register and get [`infifo_pop::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`infifo_pop::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@infifo_pop`] module"]
310pub type INFIFO_POP = crate::Reg<infifo_pop::INFIFO_POP_SPEC>;
311#[doc = "APB in FIFO mode register"]
312pub mod infifo_pop;
313#[doc = "LC_STATE0 (r) register accessor: I2S DMA TX status\n\nYou can [`read`](crate::Reg::read) this register and get [`lc_state0::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@lc_state0`] module"]
314pub type LC_STATE0 = crate::Reg<lc_state0::LC_STATE0_SPEC>;
315#[doc = "I2S DMA TX status"]
316pub mod lc_state0;
317#[doc = "LC_STATE1 (r) register accessor: I2S DMA RX status\n\nYou can [`read`](crate::Reg::read) this register and get [`lc_state1::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@lc_state1`] module"]
318pub type LC_STATE1 = crate::Reg<lc_state1::LC_STATE1_SPEC>;
319#[doc = "I2S DMA RX status"]
320pub mod lc_state1;
321#[doc = "LC_HUNG_CONF (rw) register accessor: I2S Hung configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`lc_hung_conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lc_hung_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@lc_hung_conf`] module"]
322pub type LC_HUNG_CONF = crate::Reg<lc_hung_conf::LC_HUNG_CONF_SPEC>;
323#[doc = "I2S Hung configuration register"]
324pub mod lc_hung_conf;
325#[doc = "CONF1 (rw) register accessor: I2S configuration register 1\n\nYou can [`read`](crate::Reg::read) this register and get [`conf1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`conf1::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@conf1`] module"]
326pub type CONF1 = crate::Reg<conf1::CONF1_SPEC>;
327#[doc = "I2S configuration register 1"]
328pub mod conf1;
329#[doc = "PD_CONF (rw) register accessor: I2S power-down configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`pd_conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pd_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@pd_conf`] module"]
330pub type PD_CONF = crate::Reg<pd_conf::PD_CONF_SPEC>;
331#[doc = "I2S power-down configuration register"]
332pub mod pd_conf;
333#[doc = "CONF2 (rw) register accessor: I2S configuration register 2\n\nYou can [`read`](crate::Reg::read) this register and get [`conf2::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`conf2::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@conf2`] module"]
334pub type CONF2 = crate::Reg<conf2::CONF2_SPEC>;
335#[doc = "I2S configuration register 2"]
336pub mod conf2;
337#[doc = "CLKM_CONF (rw) register accessor: I2S module clock configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`clkm_conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`clkm_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@clkm_conf`] module"]
338pub type CLKM_CONF = crate::Reg<clkm_conf::CLKM_CONF_SPEC>;
339#[doc = "I2S module clock configuration register"]
340pub mod clkm_conf;
341#[doc = "SAMPLE_RATE_CONF (rw) register accessor: I2S sample rate register\n\nYou can [`read`](crate::Reg::read) this register and get [`sample_rate_conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sample_rate_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@sample_rate_conf`] module"]
342pub type SAMPLE_RATE_CONF = crate::Reg<sample_rate_conf::SAMPLE_RATE_CONF_SPEC>;
343#[doc = "I2S sample rate register"]
344pub mod sample_rate_conf;
345#[doc = "STATE (r) register accessor: I2S TX status register\n\nYou can [`read`](crate::Reg::read) this register and get [`state::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@state`] module"]
346pub type STATE = crate::Reg<state::STATE_SPEC>;
347#[doc = "I2S TX status register"]
348pub mod state;
349#[doc = "DATE (rw) register accessor: Version control 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"]
350pub type DATE = crate::Reg<date::DATE_SPEC>;
351#[doc = "Version control register"]
352pub mod date;