d1_pac/
i2s_pcm.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    i2s_pcm_ctl: I2S_PCM_CTL,
5    i2s_pcm_fmt0: I2S_PCM_FMT0,
6    i2s_pcm_fmt1: I2S_PCM_FMT1,
7    i2s_pcm_ista: I2S_PCM_ISTA,
8    i2s_pcm_rxfifo: I2S_PCM_RXFIFO,
9    i2s_pcm_fctl: I2S_PCM_FCTL,
10    i2s_pcm_fsta: I2S_PCM_FSTA,
11    i2s_pcm_int: I2S_PCM_INT,
12    i2s_pcm_txfifo: I2S_PCM_TXFIFO,
13    i2s_pcm_clkd: I2S_PCM_CLKD,
14    i2s_pcm_txcnt: I2S_PCM_TXCNT,
15    i2s_pcm_rxcnt: I2S_PCM_RXCNT,
16    i2s_pcm_chcfg: I2S_PCM_CHCFG,
17    i2s_pcm_tx0chsel: I2S_PCM_TX0CHSEL,
18    i2s_pcm_tx1chsel: I2S_PCM_TX1CHSEL,
19    i2s_pcm_tx2chsel: I2S_PCM_TX2CHSEL,
20    i2s_pcm_tx3chsel: I2S_PCM_TX3CHSEL,
21    i2s_pcm_tx0chmap0: I2S_PCM_TX0CHMAP0,
22    i2s_pcm_tx0chmap1: I2S_PCM_TX0CHMAP1,
23    i2s_pcm_tx1chmap0: I2S_PCM_TX1CHMAP0,
24    i2s_pcm_tx1chmap1: I2S_PCM_TX1CHMAP1,
25    i2s_pcm_tx2chmap0: I2S_PCM_TX2CHMAP0,
26    i2s_pcm_tx2chmap1: I2S_PCM_TX2CHMAP1,
27    i2s_pcm_tx3chmap0: I2S_PCM_TX3CHMAP0,
28    i2s_pcm_tx3chmap1: I2S_PCM_TX3CHMAP1,
29    i2s_pcm_rxchsel: I2S_PCM_RXCHSEL,
30    i2s_pcm_rxchmap0: I2S_PCM_RXCHMAP0,
31    i2s_pcm_rxchmap1: I2S_PCM_RXCHMAP1,
32    i2s_pcm_rxchmap2: I2S_PCM_RXCHMAP2,
33    i2s_pcm_rxchmap3: I2S_PCM_RXCHMAP3,
34    _reserved30: [u8; 0x08],
35    mclkcfg: MCLKCFG,
36    fsout_cfg: FSOUT_CFG,
37    fsin_extcfg: FSIN_EXTCFG,
38    asrcen: ASRCEN,
39    asrcmancfg: ASRCMANCFG,
40    asrcratiostat: ASRCRATIOSTAT,
41    asrcfifostat: ASRCFIFOSTAT,
42    asrcmbistcfg: ASRCMBISTCFG,
43    asrcmbiststat: ASRCMBISTSTAT,
44}
45impl RegisterBlock {
46    #[doc = "0x00 - I2S/PCM Control Register"]
47    #[inline(always)]
48    pub const fn i2s_pcm_ctl(&self) -> &I2S_PCM_CTL {
49        &self.i2s_pcm_ctl
50    }
51    #[doc = "0x04 - I2S/PCM Format Register 0"]
52    #[inline(always)]
53    pub const fn i2s_pcm_fmt0(&self) -> &I2S_PCM_FMT0 {
54        &self.i2s_pcm_fmt0
55    }
56    #[doc = "0x08 - I2S/PCM Format Register 1"]
57    #[inline(always)]
58    pub const fn i2s_pcm_fmt1(&self) -> &I2S_PCM_FMT1 {
59        &self.i2s_pcm_fmt1
60    }
61    #[doc = "0x0c - I2S/PCM Interrupt Status Register"]
62    #[inline(always)]
63    pub const fn i2s_pcm_ista(&self) -> &I2S_PCM_ISTA {
64        &self.i2s_pcm_ista
65    }
66    #[doc = "0x10 - I2S/PCM RXFIFO Register"]
67    #[inline(always)]
68    pub const fn i2s_pcm_rxfifo(&self) -> &I2S_PCM_RXFIFO {
69        &self.i2s_pcm_rxfifo
70    }
71    #[doc = "0x14 - I2S/PCM FIFO Control Register"]
72    #[inline(always)]
73    pub const fn i2s_pcm_fctl(&self) -> &I2S_PCM_FCTL {
74        &self.i2s_pcm_fctl
75    }
76    #[doc = "0x18 - I2S/PCM FIFO Status Register"]
77    #[inline(always)]
78    pub const fn i2s_pcm_fsta(&self) -> &I2S_PCM_FSTA {
79        &self.i2s_pcm_fsta
80    }
81    #[doc = "0x1c - I2S/PCM DMA and Interrupt Control Register"]
82    #[inline(always)]
83    pub const fn i2s_pcm_int(&self) -> &I2S_PCM_INT {
84        &self.i2s_pcm_int
85    }
86    #[doc = "0x20 - I2S/PCM TXFIFO Register"]
87    #[inline(always)]
88    pub const fn i2s_pcm_txfifo(&self) -> &I2S_PCM_TXFIFO {
89        &self.i2s_pcm_txfifo
90    }
91    #[doc = "0x24 - I2S/PCM Clock Divide Register"]
92    #[inline(always)]
93    pub const fn i2s_pcm_clkd(&self) -> &I2S_PCM_CLKD {
94        &self.i2s_pcm_clkd
95    }
96    #[doc = "0x28 - I2S/PCM TX Sample Counter Register"]
97    #[inline(always)]
98    pub const fn i2s_pcm_txcnt(&self) -> &I2S_PCM_TXCNT {
99        &self.i2s_pcm_txcnt
100    }
101    #[doc = "0x2c - I2S/PCM RX Sample Counter Register"]
102    #[inline(always)]
103    pub const fn i2s_pcm_rxcnt(&self) -> &I2S_PCM_RXCNT {
104        &self.i2s_pcm_rxcnt
105    }
106    #[doc = "0x30 - I2S/PCM Channel Configuration Register"]
107    #[inline(always)]
108    pub const fn i2s_pcm_chcfg(&self) -> &I2S_PCM_CHCFG {
109        &self.i2s_pcm_chcfg
110    }
111    #[doc = "0x34 - I2S/PCM TX0 Channel Select Register"]
112    #[inline(always)]
113    pub const fn i2s_pcm_tx0chsel(&self) -> &I2S_PCM_TX0CHSEL {
114        &self.i2s_pcm_tx0chsel
115    }
116    #[doc = "0x38 - I2S/PCM TX1 Channel Select Register"]
117    #[inline(always)]
118    pub const fn i2s_pcm_tx1chsel(&self) -> &I2S_PCM_TX1CHSEL {
119        &self.i2s_pcm_tx1chsel
120    }
121    #[doc = "0x3c - I2S/PCM TX2 Channel Select Register"]
122    #[inline(always)]
123    pub const fn i2s_pcm_tx2chsel(&self) -> &I2S_PCM_TX2CHSEL {
124        &self.i2s_pcm_tx2chsel
125    }
126    #[doc = "0x40 - I2S/PCM TX3 Channel Select Register"]
127    #[inline(always)]
128    pub const fn i2s_pcm_tx3chsel(&self) -> &I2S_PCM_TX3CHSEL {
129        &self.i2s_pcm_tx3chsel
130    }
131    #[doc = "0x44 - I2S/PCM TX0 Channel Mapping Register0"]
132    #[inline(always)]
133    pub const fn i2s_pcm_tx0chmap0(&self) -> &I2S_PCM_TX0CHMAP0 {
134        &self.i2s_pcm_tx0chmap0
135    }
136    #[doc = "0x48 - I2S/PCM TX0 Channel Mapping Register1"]
137    #[inline(always)]
138    pub const fn i2s_pcm_tx0chmap1(&self) -> &I2S_PCM_TX0CHMAP1 {
139        &self.i2s_pcm_tx0chmap1
140    }
141    #[doc = "0x4c - I2S/PCM TX1 Channel Mapping Register0"]
142    #[inline(always)]
143    pub const fn i2s_pcm_tx1chmap0(&self) -> &I2S_PCM_TX1CHMAP0 {
144        &self.i2s_pcm_tx1chmap0
145    }
146    #[doc = "0x50 - I2S/PCM TX1 Channel Mapping Register1"]
147    #[inline(always)]
148    pub const fn i2s_pcm_tx1chmap1(&self) -> &I2S_PCM_TX1CHMAP1 {
149        &self.i2s_pcm_tx1chmap1
150    }
151    #[doc = "0x54 - I2S/PCM TX2 Channel Mapping Register0"]
152    #[inline(always)]
153    pub const fn i2s_pcm_tx2chmap0(&self) -> &I2S_PCM_TX2CHMAP0 {
154        &self.i2s_pcm_tx2chmap0
155    }
156    #[doc = "0x58 - I2S/PCM TX2 Channel Mapping Register1"]
157    #[inline(always)]
158    pub const fn i2s_pcm_tx2chmap1(&self) -> &I2S_PCM_TX2CHMAP1 {
159        &self.i2s_pcm_tx2chmap1
160    }
161    #[doc = "0x5c - I2S/PCM TX3 Channel Mapping Register0"]
162    #[inline(always)]
163    pub const fn i2s_pcm_tx3chmap0(&self) -> &I2S_PCM_TX3CHMAP0 {
164        &self.i2s_pcm_tx3chmap0
165    }
166    #[doc = "0x60 - I2S/PCM TX3 Channel Mapping Register1"]
167    #[inline(always)]
168    pub const fn i2s_pcm_tx3chmap1(&self) -> &I2S_PCM_TX3CHMAP1 {
169        &self.i2s_pcm_tx3chmap1
170    }
171    #[doc = "0x64 - I2S/PCM RX Channel Select Register"]
172    #[inline(always)]
173    pub const fn i2s_pcm_rxchsel(&self) -> &I2S_PCM_RXCHSEL {
174        &self.i2s_pcm_rxchsel
175    }
176    #[doc = "0x68 - I2S/PCM RX Channel Mapping Register0"]
177    #[inline(always)]
178    pub const fn i2s_pcm_rxchmap0(&self) -> &I2S_PCM_RXCHMAP0 {
179        &self.i2s_pcm_rxchmap0
180    }
181    #[doc = "0x6c - I2S/PCM RX Channel Mapping Register1"]
182    #[inline(always)]
183    pub const fn i2s_pcm_rxchmap1(&self) -> &I2S_PCM_RXCHMAP1 {
184        &self.i2s_pcm_rxchmap1
185    }
186    #[doc = "0x70 - I2S/PCM RX Channel Mapping Register2"]
187    #[inline(always)]
188    pub const fn i2s_pcm_rxchmap2(&self) -> &I2S_PCM_RXCHMAP2 {
189        &self.i2s_pcm_rxchmap2
190    }
191    #[doc = "0x74 - I2S/PCM RX Channel Mapping Register3"]
192    #[inline(always)]
193    pub const fn i2s_pcm_rxchmap3(&self) -> &I2S_PCM_RXCHMAP3 {
194        &self.i2s_pcm_rxchmap3
195    }
196    #[doc = "0x80 - ASRC MCLK Configuration Register"]
197    #[inline(always)]
198    pub const fn mclkcfg(&self) -> &MCLKCFG {
199        &self.mclkcfg
200    }
201    #[doc = "0x84 - ASRC Out Sample Rate Configuration Register"]
202    #[inline(always)]
203    pub const fn fsout_cfg(&self) -> &FSOUT_CFG {
204        &self.fsout_cfg
205    }
206    #[doc = "0x88 - ASRC Input Sample Pulse Extend Configuration Register"]
207    #[inline(always)]
208    pub const fn fsin_extcfg(&self) -> &FSIN_EXTCFG {
209        &self.fsin_extcfg
210    }
211    #[doc = "0x8c - ASRC Enable Register"]
212    #[inline(always)]
213    pub const fn asrcen(&self) -> &ASRCEN {
214        &self.asrcen
215    }
216    #[doc = "0x90 - ASRC Manual Ratio Configuration Register"]
217    #[inline(always)]
218    pub const fn asrcmancfg(&self) -> &ASRCMANCFG {
219        &self.asrcmancfg
220    }
221    #[doc = "0x94 - ASRC Status Register"]
222    #[inline(always)]
223    pub const fn asrcratiostat(&self) -> &ASRCRATIOSTAT {
224        &self.asrcratiostat
225    }
226    #[doc = "0x98 - ASRC FIFO Level Status Register"]
227    #[inline(always)]
228    pub const fn asrcfifostat(&self) -> &ASRCFIFOSTAT {
229        &self.asrcfifostat
230    }
231    #[doc = "0x9c - ASRC MBIST Test Configuration Register"]
232    #[inline(always)]
233    pub const fn asrcmbistcfg(&self) -> &ASRCMBISTCFG {
234        &self.asrcmbistcfg
235    }
236    #[doc = "0xa0 - ASRC MBIST Test Status Register"]
237    #[inline(always)]
238    pub const fn asrcmbiststat(&self) -> &ASRCMBISTSTAT {
239        &self.asrcmbiststat
240    }
241}
242#[doc = "i2s_pcm_ctl (rw) register accessor: I2S/PCM Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_ctl::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 [`i2s_pcm_ctl::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@i2s_pcm_ctl`] module"]
243pub type I2S_PCM_CTL = crate::Reg<i2s_pcm_ctl::I2S_PCM_CTL_SPEC>;
244#[doc = "I2S/PCM Control Register"]
245pub mod i2s_pcm_ctl;
246#[doc = "i2s_pcm_fmt0 (rw) register accessor: I2S/PCM Format Register 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_fmt0::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 [`i2s_pcm_fmt0::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@i2s_pcm_fmt0`] module"]
247pub type I2S_PCM_FMT0 = crate::Reg<i2s_pcm_fmt0::I2S_PCM_FMT0_SPEC>;
248#[doc = "I2S/PCM Format Register 0"]
249pub mod i2s_pcm_fmt0;
250#[doc = "i2s_pcm_fmt1 (rw) register accessor: I2S/PCM Format Register 1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_fmt1::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 [`i2s_pcm_fmt1::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@i2s_pcm_fmt1`] module"]
251pub type I2S_PCM_FMT1 = crate::Reg<i2s_pcm_fmt1::I2S_PCM_FMT1_SPEC>;
252#[doc = "I2S/PCM Format Register 1"]
253pub mod i2s_pcm_fmt1;
254#[doc = "i2s_pcm_ista (rw) register accessor: I2S/PCM Interrupt Status Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_ista::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 [`i2s_pcm_ista::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@i2s_pcm_ista`] module"]
255pub type I2S_PCM_ISTA = crate::Reg<i2s_pcm_ista::I2S_PCM_ISTA_SPEC>;
256#[doc = "I2S/PCM Interrupt Status Register"]
257pub mod i2s_pcm_ista;
258#[doc = "i2s_pcm_rxfifo (rw) register accessor: I2S/PCM RXFIFO Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_rxfifo::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 [`i2s_pcm_rxfifo::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@i2s_pcm_rxfifo`] module"]
259pub type I2S_PCM_RXFIFO = crate::Reg<i2s_pcm_rxfifo::I2S_PCM_RXFIFO_SPEC>;
260#[doc = "I2S/PCM RXFIFO Register"]
261pub mod i2s_pcm_rxfifo;
262#[doc = "i2s_pcm_fctl (rw) register accessor: I2S/PCM FIFO Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_fctl::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 [`i2s_pcm_fctl::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@i2s_pcm_fctl`] module"]
263pub type I2S_PCM_FCTL = crate::Reg<i2s_pcm_fctl::I2S_PCM_FCTL_SPEC>;
264#[doc = "I2S/PCM FIFO Control Register"]
265pub mod i2s_pcm_fctl;
266#[doc = "i2s_pcm_fsta (rw) register accessor: I2S/PCM FIFO Status Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_fsta::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 [`i2s_pcm_fsta::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@i2s_pcm_fsta`] module"]
267pub type I2S_PCM_FSTA = crate::Reg<i2s_pcm_fsta::I2S_PCM_FSTA_SPEC>;
268#[doc = "I2S/PCM FIFO Status Register"]
269pub mod i2s_pcm_fsta;
270#[doc = "i2s_pcm_int (rw) register accessor: I2S/PCM DMA and Interrupt Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_int::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 [`i2s_pcm_int::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@i2s_pcm_int`] module"]
271pub type I2S_PCM_INT = crate::Reg<i2s_pcm_int::I2S_PCM_INT_SPEC>;
272#[doc = "I2S/PCM DMA and Interrupt Control Register"]
273pub mod i2s_pcm_int;
274#[doc = "i2s_pcm_txfifo (rw) register accessor: I2S/PCM TXFIFO Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_txfifo::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 [`i2s_pcm_txfifo::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@i2s_pcm_txfifo`] module"]
275pub type I2S_PCM_TXFIFO = crate::Reg<i2s_pcm_txfifo::I2S_PCM_TXFIFO_SPEC>;
276#[doc = "I2S/PCM TXFIFO Register"]
277pub mod i2s_pcm_txfifo;
278#[doc = "i2s_pcm_clkd (rw) register accessor: I2S/PCM Clock Divide Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_clkd::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 [`i2s_pcm_clkd::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@i2s_pcm_clkd`] module"]
279pub type I2S_PCM_CLKD = crate::Reg<i2s_pcm_clkd::I2S_PCM_CLKD_SPEC>;
280#[doc = "I2S/PCM Clock Divide Register"]
281pub mod i2s_pcm_clkd;
282#[doc = "i2s_pcm_txcnt (rw) register accessor: I2S/PCM TX Sample Counter Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_txcnt::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 [`i2s_pcm_txcnt::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@i2s_pcm_txcnt`] module"]
283pub type I2S_PCM_TXCNT = crate::Reg<i2s_pcm_txcnt::I2S_PCM_TXCNT_SPEC>;
284#[doc = "I2S/PCM TX Sample Counter Register"]
285pub mod i2s_pcm_txcnt;
286#[doc = "i2s_pcm_rxcnt (rw) register accessor: I2S/PCM RX Sample Counter Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_rxcnt::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 [`i2s_pcm_rxcnt::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@i2s_pcm_rxcnt`] module"]
287pub type I2S_PCM_RXCNT = crate::Reg<i2s_pcm_rxcnt::I2S_PCM_RXCNT_SPEC>;
288#[doc = "I2S/PCM RX Sample Counter Register"]
289pub mod i2s_pcm_rxcnt;
290#[doc = "i2s_pcm_chcfg (rw) register accessor: I2S/PCM Channel Configuration Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_chcfg::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 [`i2s_pcm_chcfg::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@i2s_pcm_chcfg`] module"]
291pub type I2S_PCM_CHCFG = crate::Reg<i2s_pcm_chcfg::I2S_PCM_CHCFG_SPEC>;
292#[doc = "I2S/PCM Channel Configuration Register"]
293pub mod i2s_pcm_chcfg;
294#[doc = "i2s_pcm_tx0chsel (rw) register accessor: I2S/PCM TX0 Channel Select Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_tx0chsel::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 [`i2s_pcm_tx0chsel::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@i2s_pcm_tx0chsel`] module"]
295pub type I2S_PCM_TX0CHSEL = crate::Reg<i2s_pcm_tx0chsel::I2S_PCM_TX0CHSEL_SPEC>;
296#[doc = "I2S/PCM TX0 Channel Select Register"]
297pub mod i2s_pcm_tx0chsel;
298#[doc = "i2s_pcm_tx1chsel (rw) register accessor: I2S/PCM TX1 Channel Select Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_tx1chsel::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 [`i2s_pcm_tx1chsel::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@i2s_pcm_tx1chsel`] module"]
299pub type I2S_PCM_TX1CHSEL = crate::Reg<i2s_pcm_tx1chsel::I2S_PCM_TX1CHSEL_SPEC>;
300#[doc = "I2S/PCM TX1 Channel Select Register"]
301pub mod i2s_pcm_tx1chsel;
302#[doc = "i2s_pcm_tx2chsel (rw) register accessor: I2S/PCM TX2 Channel Select Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_tx2chsel::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 [`i2s_pcm_tx2chsel::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@i2s_pcm_tx2chsel`] module"]
303pub type I2S_PCM_TX2CHSEL = crate::Reg<i2s_pcm_tx2chsel::I2S_PCM_TX2CHSEL_SPEC>;
304#[doc = "I2S/PCM TX2 Channel Select Register"]
305pub mod i2s_pcm_tx2chsel;
306#[doc = "i2s_pcm_tx3chsel (rw) register accessor: I2S/PCM TX3 Channel Select Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_tx3chsel::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 [`i2s_pcm_tx3chsel::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@i2s_pcm_tx3chsel`] module"]
307pub type I2S_PCM_TX3CHSEL = crate::Reg<i2s_pcm_tx3chsel::I2S_PCM_TX3CHSEL_SPEC>;
308#[doc = "I2S/PCM TX3 Channel Select Register"]
309pub mod i2s_pcm_tx3chsel;
310#[doc = "i2s_pcm_tx0chmap0 (rw) register accessor: I2S/PCM TX0 Channel Mapping Register0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_tx0chmap0::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 [`i2s_pcm_tx0chmap0::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@i2s_pcm_tx0chmap0`] module"]
311pub type I2S_PCM_TX0CHMAP0 = crate::Reg<i2s_pcm_tx0chmap0::I2S_PCM_TX0CHMAP0_SPEC>;
312#[doc = "I2S/PCM TX0 Channel Mapping Register0"]
313pub mod i2s_pcm_tx0chmap0;
314#[doc = "i2s_pcm_tx0chmap1 (rw) register accessor: I2S/PCM TX0 Channel Mapping Register1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_tx0chmap1::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 [`i2s_pcm_tx0chmap1::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@i2s_pcm_tx0chmap1`] module"]
315pub type I2S_PCM_TX0CHMAP1 = crate::Reg<i2s_pcm_tx0chmap1::I2S_PCM_TX0CHMAP1_SPEC>;
316#[doc = "I2S/PCM TX0 Channel Mapping Register1"]
317pub mod i2s_pcm_tx0chmap1;
318#[doc = "i2s_pcm_tx1chmap0 (rw) register accessor: I2S/PCM TX1 Channel Mapping Register0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_tx1chmap0::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 [`i2s_pcm_tx1chmap0::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@i2s_pcm_tx1chmap0`] module"]
319pub type I2S_PCM_TX1CHMAP0 = crate::Reg<i2s_pcm_tx1chmap0::I2S_PCM_TX1CHMAP0_SPEC>;
320#[doc = "I2S/PCM TX1 Channel Mapping Register0"]
321pub mod i2s_pcm_tx1chmap0;
322#[doc = "i2s_pcm_tx1chmap1 (rw) register accessor: I2S/PCM TX1 Channel Mapping Register1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_tx1chmap1::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 [`i2s_pcm_tx1chmap1::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@i2s_pcm_tx1chmap1`] module"]
323pub type I2S_PCM_TX1CHMAP1 = crate::Reg<i2s_pcm_tx1chmap1::I2S_PCM_TX1CHMAP1_SPEC>;
324#[doc = "I2S/PCM TX1 Channel Mapping Register1"]
325pub mod i2s_pcm_tx1chmap1;
326#[doc = "i2s_pcm_tx2chmap0 (rw) register accessor: I2S/PCM TX2 Channel Mapping Register0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_tx2chmap0::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 [`i2s_pcm_tx2chmap0::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@i2s_pcm_tx2chmap0`] module"]
327pub type I2S_PCM_TX2CHMAP0 = crate::Reg<i2s_pcm_tx2chmap0::I2S_PCM_TX2CHMAP0_SPEC>;
328#[doc = "I2S/PCM TX2 Channel Mapping Register0"]
329pub mod i2s_pcm_tx2chmap0;
330#[doc = "i2s_pcm_tx2chmap1 (rw) register accessor: I2S/PCM TX2 Channel Mapping Register1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_tx2chmap1::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 [`i2s_pcm_tx2chmap1::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@i2s_pcm_tx2chmap1`] module"]
331pub type I2S_PCM_TX2CHMAP1 = crate::Reg<i2s_pcm_tx2chmap1::I2S_PCM_TX2CHMAP1_SPEC>;
332#[doc = "I2S/PCM TX2 Channel Mapping Register1"]
333pub mod i2s_pcm_tx2chmap1;
334#[doc = "i2s_pcm_tx3chmap0 (rw) register accessor: I2S/PCM TX3 Channel Mapping Register0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_tx3chmap0::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 [`i2s_pcm_tx3chmap0::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@i2s_pcm_tx3chmap0`] module"]
335pub type I2S_PCM_TX3CHMAP0 = crate::Reg<i2s_pcm_tx3chmap0::I2S_PCM_TX3CHMAP0_SPEC>;
336#[doc = "I2S/PCM TX3 Channel Mapping Register0"]
337pub mod i2s_pcm_tx3chmap0;
338#[doc = "i2s_pcm_tx3chmap1 (rw) register accessor: I2S/PCM TX3 Channel Mapping Register1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_tx3chmap1::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 [`i2s_pcm_tx3chmap1::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@i2s_pcm_tx3chmap1`] module"]
339pub type I2S_PCM_TX3CHMAP1 = crate::Reg<i2s_pcm_tx3chmap1::I2S_PCM_TX3CHMAP1_SPEC>;
340#[doc = "I2S/PCM TX3 Channel Mapping Register1"]
341pub mod i2s_pcm_tx3chmap1;
342#[doc = "i2s_pcm_rxchsel (rw) register accessor: I2S/PCM RX Channel Select Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_rxchsel::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 [`i2s_pcm_rxchsel::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@i2s_pcm_rxchsel`] module"]
343pub type I2S_PCM_RXCHSEL = crate::Reg<i2s_pcm_rxchsel::I2S_PCM_RXCHSEL_SPEC>;
344#[doc = "I2S/PCM RX Channel Select Register"]
345pub mod i2s_pcm_rxchsel;
346#[doc = "i2s_pcm_rxchmap0 (rw) register accessor: I2S/PCM RX Channel Mapping Register0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_rxchmap0::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 [`i2s_pcm_rxchmap0::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@i2s_pcm_rxchmap0`] module"]
347pub type I2S_PCM_RXCHMAP0 = crate::Reg<i2s_pcm_rxchmap0::I2S_PCM_RXCHMAP0_SPEC>;
348#[doc = "I2S/PCM RX Channel Mapping Register0"]
349pub mod i2s_pcm_rxchmap0;
350#[doc = "i2s_pcm_rxchmap1 (rw) register accessor: I2S/PCM RX Channel Mapping Register1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_rxchmap1::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 [`i2s_pcm_rxchmap1::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@i2s_pcm_rxchmap1`] module"]
351pub type I2S_PCM_RXCHMAP1 = crate::Reg<i2s_pcm_rxchmap1::I2S_PCM_RXCHMAP1_SPEC>;
352#[doc = "I2S/PCM RX Channel Mapping Register1"]
353pub mod i2s_pcm_rxchmap1;
354#[doc = "i2s_pcm_rxchmap2 (rw) register accessor: I2S/PCM RX Channel Mapping Register2\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_rxchmap2::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 [`i2s_pcm_rxchmap2::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@i2s_pcm_rxchmap2`] module"]
355pub type I2S_PCM_RXCHMAP2 = crate::Reg<i2s_pcm_rxchmap2::I2S_PCM_RXCHMAP2_SPEC>;
356#[doc = "I2S/PCM RX Channel Mapping Register2"]
357pub mod i2s_pcm_rxchmap2;
358#[doc = "i2s_pcm_rxchmap3 (rw) register accessor: I2S/PCM RX Channel Mapping Register3\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`i2s_pcm_rxchmap3::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 [`i2s_pcm_rxchmap3::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@i2s_pcm_rxchmap3`] module"]
359pub type I2S_PCM_RXCHMAP3 = crate::Reg<i2s_pcm_rxchmap3::I2S_PCM_RXCHMAP3_SPEC>;
360#[doc = "I2S/PCM RX Channel Mapping Register3"]
361pub mod i2s_pcm_rxchmap3;
362#[doc = "mclkcfg (rw) register accessor: ASRC MCLK Configuration Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`mclkcfg::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 [`mclkcfg::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@mclkcfg`] module"]
363pub type MCLKCFG = crate::Reg<mclkcfg::MCLKCFG_SPEC>;
364#[doc = "ASRC MCLK Configuration Register"]
365pub mod mclkcfg;
366#[doc = "fsout_cfg (rw) register accessor: ASRC Out Sample Rate Configuration Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`fsout_cfg::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 [`fsout_cfg::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@fsout_cfg`] module"]
367pub type FSOUT_CFG = crate::Reg<fsout_cfg::FSOUT_CFG_SPEC>;
368#[doc = "ASRC Out Sample Rate Configuration Register"]
369pub mod fsout_cfg;
370#[doc = "fsin_extcfg (rw) register accessor: ASRC Input Sample Pulse Extend Configuration Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`fsin_extcfg::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 [`fsin_extcfg::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@fsin_extcfg`] module"]
371pub type FSIN_EXTCFG = crate::Reg<fsin_extcfg::FSIN_EXTCFG_SPEC>;
372#[doc = "ASRC Input Sample Pulse Extend Configuration Register"]
373pub mod fsin_extcfg;
374#[doc = "asrcen (rw) register accessor: ASRC Enable Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`asrcen::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 [`asrcen::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@asrcen`] module"]
375pub type ASRCEN = crate::Reg<asrcen::ASRCEN_SPEC>;
376#[doc = "ASRC Enable Register"]
377pub mod asrcen;
378#[doc = "asrcmancfg (rw) register accessor: ASRC Manual Ratio Configuration Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`asrcmancfg::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 [`asrcmancfg::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@asrcmancfg`] module"]
379pub type ASRCMANCFG = crate::Reg<asrcmancfg::ASRCMANCFG_SPEC>;
380#[doc = "ASRC Manual Ratio Configuration Register"]
381pub mod asrcmancfg;
382#[doc = "asrcratiostat (rw) register accessor: ASRC Status Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`asrcratiostat::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 [`asrcratiostat::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@asrcratiostat`] module"]
383pub type ASRCRATIOSTAT = crate::Reg<asrcratiostat::ASRCRATIOSTAT_SPEC>;
384#[doc = "ASRC Status Register"]
385pub mod asrcratiostat;
386#[doc = "asrcfifostat (rw) register accessor: ASRC FIFO Level Status Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`asrcfifostat::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 [`asrcfifostat::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@asrcfifostat`] module"]
387pub type ASRCFIFOSTAT = crate::Reg<asrcfifostat::ASRCFIFOSTAT_SPEC>;
388#[doc = "ASRC FIFO Level Status Register"]
389pub mod asrcfifostat;
390#[doc = "asrcmbistcfg (rw) register accessor: ASRC MBIST Test Configuration Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`asrcmbistcfg::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 [`asrcmbistcfg::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@asrcmbistcfg`] module"]
391pub type ASRCMBISTCFG = crate::Reg<asrcmbistcfg::ASRCMBISTCFG_SPEC>;
392#[doc = "ASRC MBIST Test Configuration Register"]
393pub mod asrcmbistcfg;
394#[doc = "asrcmbiststat (rw) register accessor: ASRC MBIST Test Status Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`asrcmbiststat::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 [`asrcmbiststat::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@asrcmbiststat`] module"]
395pub type ASRCMBISTSTAT = crate::Reg<asrcmbiststat::ASRCMBISTSTAT_SPEC>;
396#[doc = "ASRC MBIST Test Status Register"]
397pub mod asrcmbiststat;