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;