Go to the documentation of this file.
30 #ifndef _SAME54_I2S_COMPONENT_
31 #define _SAME54_I2S_COMPONENT_
43 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
63 #define I2S_CTRLA_OFFSET 0x00
64 #define I2S_CTRLA_RESETVALUE _U_(0x00)
66 #define I2S_CTRLA_SWRST_Pos 0
67 #define I2S_CTRLA_SWRST (_U_(0x1) << I2S_CTRLA_SWRST_Pos)
68 #define I2S_CTRLA_ENABLE_Pos 1
69 #define I2S_CTRLA_ENABLE (_U_(0x1) << I2S_CTRLA_ENABLE_Pos)
70 #define I2S_CTRLA_CKEN0_Pos 2
71 #define I2S_CTRLA_CKEN0 (_U_(1) << I2S_CTRLA_CKEN0_Pos)
72 #define I2S_CTRLA_CKEN1_Pos 3
73 #define I2S_CTRLA_CKEN1 (_U_(1) << I2S_CTRLA_CKEN1_Pos)
74 #define I2S_CTRLA_CKEN_Pos 2
75 #define I2S_CTRLA_CKEN_Msk (_U_(0x3) << I2S_CTRLA_CKEN_Pos)
76 #define I2S_CTRLA_CKEN(value) (I2S_CTRLA_CKEN_Msk & ((value) << I2S_CTRLA_CKEN_Pos))
77 #define I2S_CTRLA_TXEN_Pos 4
78 #define I2S_CTRLA_TXEN (_U_(0x1) << I2S_CTRLA_TXEN_Pos)
79 #define I2S_CTRLA_RXEN_Pos 5
80 #define I2S_CTRLA_RXEN (_U_(0x1) << I2S_CTRLA_RXEN_Pos)
81 #define I2S_CTRLA_MASK _U_(0x3F)
84 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
108 #define I2S_CLKCTRL_OFFSET 0x04
109 #define I2S_CLKCTRL_RESETVALUE _U_(0x00000000)
111 #define I2S_CLKCTRL_SLOTSIZE_Pos 0
112 #define I2S_CLKCTRL_SLOTSIZE_Msk (_U_(0x3) << I2S_CLKCTRL_SLOTSIZE_Pos)
113 #define I2S_CLKCTRL_SLOTSIZE(value) (I2S_CLKCTRL_SLOTSIZE_Msk & ((value) << I2S_CLKCTRL_SLOTSIZE_Pos))
114 #define I2S_CLKCTRL_SLOTSIZE_8_Val _U_(0x0)
115 #define I2S_CLKCTRL_SLOTSIZE_16_Val _U_(0x1)
116 #define I2S_CLKCTRL_SLOTSIZE_24_Val _U_(0x2)
117 #define I2S_CLKCTRL_SLOTSIZE_32_Val _U_(0x3)
118 #define I2S_CLKCTRL_SLOTSIZE_8 (I2S_CLKCTRL_SLOTSIZE_8_Val << I2S_CLKCTRL_SLOTSIZE_Pos)
119 #define I2S_CLKCTRL_SLOTSIZE_16 (I2S_CLKCTRL_SLOTSIZE_16_Val << I2S_CLKCTRL_SLOTSIZE_Pos)
120 #define I2S_CLKCTRL_SLOTSIZE_24 (I2S_CLKCTRL_SLOTSIZE_24_Val << I2S_CLKCTRL_SLOTSIZE_Pos)
121 #define I2S_CLKCTRL_SLOTSIZE_32 (I2S_CLKCTRL_SLOTSIZE_32_Val << I2S_CLKCTRL_SLOTSIZE_Pos)
122 #define I2S_CLKCTRL_NBSLOTS_Pos 2
123 #define I2S_CLKCTRL_NBSLOTS_Msk (_U_(0x7) << I2S_CLKCTRL_NBSLOTS_Pos)
124 #define I2S_CLKCTRL_NBSLOTS(value) (I2S_CLKCTRL_NBSLOTS_Msk & ((value) << I2S_CLKCTRL_NBSLOTS_Pos))
125 #define I2S_CLKCTRL_FSWIDTH_Pos 5
126 #define I2S_CLKCTRL_FSWIDTH_Msk (_U_(0x3) << I2S_CLKCTRL_FSWIDTH_Pos)
127 #define I2S_CLKCTRL_FSWIDTH(value) (I2S_CLKCTRL_FSWIDTH_Msk & ((value) << I2S_CLKCTRL_FSWIDTH_Pos))
128 #define I2S_CLKCTRL_FSWIDTH_SLOT_Val _U_(0x0)
129 #define I2S_CLKCTRL_FSWIDTH_HALF_Val _U_(0x1)
130 #define I2S_CLKCTRL_FSWIDTH_BIT_Val _U_(0x2)
131 #define I2S_CLKCTRL_FSWIDTH_BURST_Val _U_(0x3)
132 #define I2S_CLKCTRL_FSWIDTH_SLOT (I2S_CLKCTRL_FSWIDTH_SLOT_Val << I2S_CLKCTRL_FSWIDTH_Pos)
133 #define I2S_CLKCTRL_FSWIDTH_HALF (I2S_CLKCTRL_FSWIDTH_HALF_Val << I2S_CLKCTRL_FSWIDTH_Pos)
134 #define I2S_CLKCTRL_FSWIDTH_BIT (I2S_CLKCTRL_FSWIDTH_BIT_Val << I2S_CLKCTRL_FSWIDTH_Pos)
135 #define I2S_CLKCTRL_FSWIDTH_BURST (I2S_CLKCTRL_FSWIDTH_BURST_Val << I2S_CLKCTRL_FSWIDTH_Pos)
136 #define I2S_CLKCTRL_BITDELAY_Pos 7
137 #define I2S_CLKCTRL_BITDELAY (_U_(0x1) << I2S_CLKCTRL_BITDELAY_Pos)
138 #define I2S_CLKCTRL_BITDELAY_LJ_Val _U_(0x0)
139 #define I2S_CLKCTRL_BITDELAY_I2S_Val _U_(0x1)
140 #define I2S_CLKCTRL_BITDELAY_LJ (I2S_CLKCTRL_BITDELAY_LJ_Val << I2S_CLKCTRL_BITDELAY_Pos)
141 #define I2S_CLKCTRL_BITDELAY_I2S (I2S_CLKCTRL_BITDELAY_I2S_Val << I2S_CLKCTRL_BITDELAY_Pos)
142 #define I2S_CLKCTRL_FSSEL_Pos 8
143 #define I2S_CLKCTRL_FSSEL (_U_(0x1) << I2S_CLKCTRL_FSSEL_Pos)
144 #define I2S_CLKCTRL_FSSEL_SCKDIV_Val _U_(0x0)
145 #define I2S_CLKCTRL_FSSEL_FSPIN_Val _U_(0x1)
146 #define I2S_CLKCTRL_FSSEL_SCKDIV (I2S_CLKCTRL_FSSEL_SCKDIV_Val << I2S_CLKCTRL_FSSEL_Pos)
147 #define I2S_CLKCTRL_FSSEL_FSPIN (I2S_CLKCTRL_FSSEL_FSPIN_Val << I2S_CLKCTRL_FSSEL_Pos)
148 #define I2S_CLKCTRL_FSINV_Pos 9
149 #define I2S_CLKCTRL_FSINV (_U_(0x1) << I2S_CLKCTRL_FSINV_Pos)
150 #define I2S_CLKCTRL_FSOUTINV_Pos 10
151 #define I2S_CLKCTRL_FSOUTINV (_U_(0x1) << I2S_CLKCTRL_FSOUTINV_Pos)
152 #define I2S_CLKCTRL_SCKSEL_Pos 11
153 #define I2S_CLKCTRL_SCKSEL (_U_(0x1) << I2S_CLKCTRL_SCKSEL_Pos)
154 #define I2S_CLKCTRL_SCKSEL_MCKDIV_Val _U_(0x0)
155 #define I2S_CLKCTRL_SCKSEL_SCKPIN_Val _U_(0x1)
156 #define I2S_CLKCTRL_SCKSEL_MCKDIV (I2S_CLKCTRL_SCKSEL_MCKDIV_Val << I2S_CLKCTRL_SCKSEL_Pos)
157 #define I2S_CLKCTRL_SCKSEL_SCKPIN (I2S_CLKCTRL_SCKSEL_SCKPIN_Val << I2S_CLKCTRL_SCKSEL_Pos)
158 #define I2S_CLKCTRL_SCKOUTINV_Pos 12
159 #define I2S_CLKCTRL_SCKOUTINV (_U_(0x1) << I2S_CLKCTRL_SCKOUTINV_Pos)
160 #define I2S_CLKCTRL_MCKSEL_Pos 13
161 #define I2S_CLKCTRL_MCKSEL (_U_(0x1) << I2S_CLKCTRL_MCKSEL_Pos)
162 #define I2S_CLKCTRL_MCKSEL_GCLK_Val _U_(0x0)
163 #define I2S_CLKCTRL_MCKSEL_MCKPIN_Val _U_(0x1)
164 #define I2S_CLKCTRL_MCKSEL_GCLK (I2S_CLKCTRL_MCKSEL_GCLK_Val << I2S_CLKCTRL_MCKSEL_Pos)
165 #define I2S_CLKCTRL_MCKSEL_MCKPIN (I2S_CLKCTRL_MCKSEL_MCKPIN_Val << I2S_CLKCTRL_MCKSEL_Pos)
166 #define I2S_CLKCTRL_MCKEN_Pos 14
167 #define I2S_CLKCTRL_MCKEN (_U_(0x1) << I2S_CLKCTRL_MCKEN_Pos)
168 #define I2S_CLKCTRL_MCKOUTINV_Pos 15
169 #define I2S_CLKCTRL_MCKOUTINV (_U_(0x1) << I2S_CLKCTRL_MCKOUTINV_Pos)
170 #define I2S_CLKCTRL_MCKDIV_Pos 16
171 #define I2S_CLKCTRL_MCKDIV_Msk (_U_(0x3F) << I2S_CLKCTRL_MCKDIV_Pos)
172 #define I2S_CLKCTRL_MCKDIV(value) (I2S_CLKCTRL_MCKDIV_Msk & ((value) << I2S_CLKCTRL_MCKDIV_Pos))
173 #define I2S_CLKCTRL_MCKOUTDIV_Pos 24
174 #define I2S_CLKCTRL_MCKOUTDIV_Msk (_U_(0x3F) << I2S_CLKCTRL_MCKOUTDIV_Pos)
175 #define I2S_CLKCTRL_MCKOUTDIV(value) (I2S_CLKCTRL_MCKOUTDIV_Msk & ((value) << I2S_CLKCTRL_MCKOUTDIV_Pos))
176 #define I2S_CLKCTRL_MASK _U_(0x3F3FFFFF)
179 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
209 #define I2S_INTENCLR_OFFSET 0x0C
210 #define I2S_INTENCLR_RESETVALUE _U_(0x0000)
212 #define I2S_INTENCLR_RXRDY0_Pos 0
213 #define I2S_INTENCLR_RXRDY0 (_U_(1) << I2S_INTENCLR_RXRDY0_Pos)
214 #define I2S_INTENCLR_RXRDY1_Pos 1
215 #define I2S_INTENCLR_RXRDY1 (_U_(1) << I2S_INTENCLR_RXRDY1_Pos)
216 #define I2S_INTENCLR_RXRDY_Pos 0
217 #define I2S_INTENCLR_RXRDY_Msk (_U_(0x3) << I2S_INTENCLR_RXRDY_Pos)
218 #define I2S_INTENCLR_RXRDY(value) (I2S_INTENCLR_RXRDY_Msk & ((value) << I2S_INTENCLR_RXRDY_Pos))
219 #define I2S_INTENCLR_RXOR0_Pos 4
220 #define I2S_INTENCLR_RXOR0 (_U_(1) << I2S_INTENCLR_RXOR0_Pos)
221 #define I2S_INTENCLR_RXOR1_Pos 5
222 #define I2S_INTENCLR_RXOR1 (_U_(1) << I2S_INTENCLR_RXOR1_Pos)
223 #define I2S_INTENCLR_RXOR_Pos 4
224 #define I2S_INTENCLR_RXOR_Msk (_U_(0x3) << I2S_INTENCLR_RXOR_Pos)
225 #define I2S_INTENCLR_RXOR(value) (I2S_INTENCLR_RXOR_Msk & ((value) << I2S_INTENCLR_RXOR_Pos))
226 #define I2S_INTENCLR_TXRDY0_Pos 8
227 #define I2S_INTENCLR_TXRDY0 (_U_(1) << I2S_INTENCLR_TXRDY0_Pos)
228 #define I2S_INTENCLR_TXRDY1_Pos 9
229 #define I2S_INTENCLR_TXRDY1 (_U_(1) << I2S_INTENCLR_TXRDY1_Pos)
230 #define I2S_INTENCLR_TXRDY_Pos 8
231 #define I2S_INTENCLR_TXRDY_Msk (_U_(0x3) << I2S_INTENCLR_TXRDY_Pos)
232 #define I2S_INTENCLR_TXRDY(value) (I2S_INTENCLR_TXRDY_Msk & ((value) << I2S_INTENCLR_TXRDY_Pos))
233 #define I2S_INTENCLR_TXUR0_Pos 12
234 #define I2S_INTENCLR_TXUR0 (_U_(1) << I2S_INTENCLR_TXUR0_Pos)
235 #define I2S_INTENCLR_TXUR1_Pos 13
236 #define I2S_INTENCLR_TXUR1 (_U_(1) << I2S_INTENCLR_TXUR1_Pos)
237 #define I2S_INTENCLR_TXUR_Pos 12
238 #define I2S_INTENCLR_TXUR_Msk (_U_(0x3) << I2S_INTENCLR_TXUR_Pos)
239 #define I2S_INTENCLR_TXUR(value) (I2S_INTENCLR_TXUR_Msk & ((value) << I2S_INTENCLR_TXUR_Pos))
240 #define I2S_INTENCLR_MASK _U_(0x3333)
243 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
273 #define I2S_INTENSET_OFFSET 0x10
274 #define I2S_INTENSET_RESETVALUE _U_(0x0000)
276 #define I2S_INTENSET_RXRDY0_Pos 0
277 #define I2S_INTENSET_RXRDY0 (_U_(1) << I2S_INTENSET_RXRDY0_Pos)
278 #define I2S_INTENSET_RXRDY1_Pos 1
279 #define I2S_INTENSET_RXRDY1 (_U_(1) << I2S_INTENSET_RXRDY1_Pos)
280 #define I2S_INTENSET_RXRDY_Pos 0
281 #define I2S_INTENSET_RXRDY_Msk (_U_(0x3) << I2S_INTENSET_RXRDY_Pos)
282 #define I2S_INTENSET_RXRDY(value) (I2S_INTENSET_RXRDY_Msk & ((value) << I2S_INTENSET_RXRDY_Pos))
283 #define I2S_INTENSET_RXOR0_Pos 4
284 #define I2S_INTENSET_RXOR0 (_U_(1) << I2S_INTENSET_RXOR0_Pos)
285 #define I2S_INTENSET_RXOR1_Pos 5
286 #define I2S_INTENSET_RXOR1 (_U_(1) << I2S_INTENSET_RXOR1_Pos)
287 #define I2S_INTENSET_RXOR_Pos 4
288 #define I2S_INTENSET_RXOR_Msk (_U_(0x3) << I2S_INTENSET_RXOR_Pos)
289 #define I2S_INTENSET_RXOR(value) (I2S_INTENSET_RXOR_Msk & ((value) << I2S_INTENSET_RXOR_Pos))
290 #define I2S_INTENSET_TXRDY0_Pos 8
291 #define I2S_INTENSET_TXRDY0 (_U_(1) << I2S_INTENSET_TXRDY0_Pos)
292 #define I2S_INTENSET_TXRDY1_Pos 9
293 #define I2S_INTENSET_TXRDY1 (_U_(1) << I2S_INTENSET_TXRDY1_Pos)
294 #define I2S_INTENSET_TXRDY_Pos 8
295 #define I2S_INTENSET_TXRDY_Msk (_U_(0x3) << I2S_INTENSET_TXRDY_Pos)
296 #define I2S_INTENSET_TXRDY(value) (I2S_INTENSET_TXRDY_Msk & ((value) << I2S_INTENSET_TXRDY_Pos))
297 #define I2S_INTENSET_TXUR0_Pos 12
298 #define I2S_INTENSET_TXUR0 (_U_(1) << I2S_INTENSET_TXUR0_Pos)
299 #define I2S_INTENSET_TXUR1_Pos 13
300 #define I2S_INTENSET_TXUR1 (_U_(1) << I2S_INTENSET_TXUR1_Pos)
301 #define I2S_INTENSET_TXUR_Pos 12
302 #define I2S_INTENSET_TXUR_Msk (_U_(0x3) << I2S_INTENSET_TXUR_Pos)
303 #define I2S_INTENSET_TXUR(value) (I2S_INTENSET_TXUR_Msk & ((value) << I2S_INTENSET_TXUR_Pos))
304 #define I2S_INTENSET_MASK _U_(0x3333)
307 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
337 #define I2S_INTFLAG_OFFSET 0x14
338 #define I2S_INTFLAG_RESETVALUE _U_(0x0000)
340 #define I2S_INTFLAG_RXRDY0_Pos 0
341 #define I2S_INTFLAG_RXRDY0 (_U_(1) << I2S_INTFLAG_RXRDY0_Pos)
342 #define I2S_INTFLAG_RXRDY1_Pos 1
343 #define I2S_INTFLAG_RXRDY1 (_U_(1) << I2S_INTFLAG_RXRDY1_Pos)
344 #define I2S_INTFLAG_RXRDY_Pos 0
345 #define I2S_INTFLAG_RXRDY_Msk (_U_(0x3) << I2S_INTFLAG_RXRDY_Pos)
346 #define I2S_INTFLAG_RXRDY(value) (I2S_INTFLAG_RXRDY_Msk & ((value) << I2S_INTFLAG_RXRDY_Pos))
347 #define I2S_INTFLAG_RXOR0_Pos 4
348 #define I2S_INTFLAG_RXOR0 (_U_(1) << I2S_INTFLAG_RXOR0_Pos)
349 #define I2S_INTFLAG_RXOR1_Pos 5
350 #define I2S_INTFLAG_RXOR1 (_U_(1) << I2S_INTFLAG_RXOR1_Pos)
351 #define I2S_INTFLAG_RXOR_Pos 4
352 #define I2S_INTFLAG_RXOR_Msk (_U_(0x3) << I2S_INTFLAG_RXOR_Pos)
353 #define I2S_INTFLAG_RXOR(value) (I2S_INTFLAG_RXOR_Msk & ((value) << I2S_INTFLAG_RXOR_Pos))
354 #define I2S_INTFLAG_TXRDY0_Pos 8
355 #define I2S_INTFLAG_TXRDY0 (_U_(1) << I2S_INTFLAG_TXRDY0_Pos)
356 #define I2S_INTFLAG_TXRDY1_Pos 9
357 #define I2S_INTFLAG_TXRDY1 (_U_(1) << I2S_INTFLAG_TXRDY1_Pos)
358 #define I2S_INTFLAG_TXRDY_Pos 8
359 #define I2S_INTFLAG_TXRDY_Msk (_U_(0x3) << I2S_INTFLAG_TXRDY_Pos)
360 #define I2S_INTFLAG_TXRDY(value) (I2S_INTFLAG_TXRDY_Msk & ((value) << I2S_INTFLAG_TXRDY_Pos))
361 #define I2S_INTFLAG_TXUR0_Pos 12
362 #define I2S_INTFLAG_TXUR0 (_U_(1) << I2S_INTFLAG_TXUR0_Pos)
363 #define I2S_INTFLAG_TXUR1_Pos 13
364 #define I2S_INTFLAG_TXUR1 (_U_(1) << I2S_INTFLAG_TXUR1_Pos)
365 #define I2S_INTFLAG_TXUR_Pos 12
366 #define I2S_INTFLAG_TXUR_Msk (_U_(0x3) << I2S_INTFLAG_TXUR_Pos)
367 #define I2S_INTFLAG_TXUR(value) (I2S_INTFLAG_TXUR_Msk & ((value) << I2S_INTFLAG_TXUR_Pos))
368 #define I2S_INTFLAG_MASK _U_(0x3333)
371 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
394 #define I2S_SYNCBUSY_OFFSET 0x18
395 #define I2S_SYNCBUSY_RESETVALUE _U_(0x0000)
397 #define I2S_SYNCBUSY_SWRST_Pos 0
398 #define I2S_SYNCBUSY_SWRST (_U_(0x1) << I2S_SYNCBUSY_SWRST_Pos)
399 #define I2S_SYNCBUSY_ENABLE_Pos 1
400 #define I2S_SYNCBUSY_ENABLE (_U_(0x1) << I2S_SYNCBUSY_ENABLE_Pos)
401 #define I2S_SYNCBUSY_CKEN0_Pos 2
402 #define I2S_SYNCBUSY_CKEN0 (_U_(1) << I2S_SYNCBUSY_CKEN0_Pos)
403 #define I2S_SYNCBUSY_CKEN1_Pos 3
404 #define I2S_SYNCBUSY_CKEN1 (_U_(1) << I2S_SYNCBUSY_CKEN1_Pos)
405 #define I2S_SYNCBUSY_CKEN_Pos 2
406 #define I2S_SYNCBUSY_CKEN_Msk (_U_(0x3) << I2S_SYNCBUSY_CKEN_Pos)
407 #define I2S_SYNCBUSY_CKEN(value) (I2S_SYNCBUSY_CKEN_Msk & ((value) << I2S_SYNCBUSY_CKEN_Pos))
408 #define I2S_SYNCBUSY_TXEN_Pos 4
409 #define I2S_SYNCBUSY_TXEN (_U_(0x1) << I2S_SYNCBUSY_TXEN_Pos)
410 #define I2S_SYNCBUSY_RXEN_Pos 5
411 #define I2S_SYNCBUSY_RXEN (_U_(0x1) << I2S_SYNCBUSY_RXEN_Pos)
412 #define I2S_SYNCBUSY_TXDATA_Pos 8
413 #define I2S_SYNCBUSY_TXDATA (_U_(0x1) << I2S_SYNCBUSY_TXDATA_Pos)
414 #define I2S_SYNCBUSY_RXDATA_Pos 9
415 #define I2S_SYNCBUSY_RXDATA (_U_(0x1) << I2S_SYNCBUSY_RXDATA_Pos)
416 #define I2S_SYNCBUSY_MASK _U_(0x033F)
419 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
453 #define I2S_TXCTRL_OFFSET 0x20
454 #define I2S_TXCTRL_RESETVALUE _U_(0x00000000)
456 #define I2S_TXCTRL_TXDEFAULT_Pos 2
457 #define I2S_TXCTRL_TXDEFAULT_Msk (_U_(0x3) << I2S_TXCTRL_TXDEFAULT_Pos)
458 #define I2S_TXCTRL_TXDEFAULT(value) (I2S_TXCTRL_TXDEFAULT_Msk & ((value) << I2S_TXCTRL_TXDEFAULT_Pos))
459 #define I2S_TXCTRL_TXDEFAULT_ZERO_Val _U_(0x0)
460 #define I2S_TXCTRL_TXDEFAULT_ONE_Val _U_(0x1)
461 #define I2S_TXCTRL_TXDEFAULT_HIZ_Val _U_(0x3)
462 #define I2S_TXCTRL_TXDEFAULT_ZERO (I2S_TXCTRL_TXDEFAULT_ZERO_Val << I2S_TXCTRL_TXDEFAULT_Pos)
463 #define I2S_TXCTRL_TXDEFAULT_ONE (I2S_TXCTRL_TXDEFAULT_ONE_Val << I2S_TXCTRL_TXDEFAULT_Pos)
464 #define I2S_TXCTRL_TXDEFAULT_HIZ (I2S_TXCTRL_TXDEFAULT_HIZ_Val << I2S_TXCTRL_TXDEFAULT_Pos)
465 #define I2S_TXCTRL_TXSAME_Pos 4
466 #define I2S_TXCTRL_TXSAME (_U_(0x1) << I2S_TXCTRL_TXSAME_Pos)
467 #define I2S_TXCTRL_TXSAME_ZERO_Val _U_(0x0)
468 #define I2S_TXCTRL_TXSAME_SAME_Val _U_(0x1)
469 #define I2S_TXCTRL_TXSAME_ZERO (I2S_TXCTRL_TXSAME_ZERO_Val << I2S_TXCTRL_TXSAME_Pos)
470 #define I2S_TXCTRL_TXSAME_SAME (I2S_TXCTRL_TXSAME_SAME_Val << I2S_TXCTRL_TXSAME_Pos)
471 #define I2S_TXCTRL_SLOTADJ_Pos 7
472 #define I2S_TXCTRL_SLOTADJ (_U_(0x1) << I2S_TXCTRL_SLOTADJ_Pos)
473 #define I2S_TXCTRL_SLOTADJ_RIGHT_Val _U_(0x0)
474 #define I2S_TXCTRL_SLOTADJ_LEFT_Val _U_(0x1)
475 #define I2S_TXCTRL_SLOTADJ_RIGHT (I2S_TXCTRL_SLOTADJ_RIGHT_Val << I2S_TXCTRL_SLOTADJ_Pos)
476 #define I2S_TXCTRL_SLOTADJ_LEFT (I2S_TXCTRL_SLOTADJ_LEFT_Val << I2S_TXCTRL_SLOTADJ_Pos)
477 #define I2S_TXCTRL_DATASIZE_Pos 8
478 #define I2S_TXCTRL_DATASIZE_Msk (_U_(0x7) << I2S_TXCTRL_DATASIZE_Pos)
479 #define I2S_TXCTRL_DATASIZE(value) (I2S_TXCTRL_DATASIZE_Msk & ((value) << I2S_TXCTRL_DATASIZE_Pos))
480 #define I2S_TXCTRL_DATASIZE_32_Val _U_(0x0)
481 #define I2S_TXCTRL_DATASIZE_24_Val _U_(0x1)
482 #define I2S_TXCTRL_DATASIZE_20_Val _U_(0x2)
483 #define I2S_TXCTRL_DATASIZE_18_Val _U_(0x3)
484 #define I2S_TXCTRL_DATASIZE_16_Val _U_(0x4)
485 #define I2S_TXCTRL_DATASIZE_16C_Val _U_(0x5)
486 #define I2S_TXCTRL_DATASIZE_8_Val _U_(0x6)
487 #define I2S_TXCTRL_DATASIZE_8C_Val _U_(0x7)
488 #define I2S_TXCTRL_DATASIZE_32 (I2S_TXCTRL_DATASIZE_32_Val << I2S_TXCTRL_DATASIZE_Pos)
489 #define I2S_TXCTRL_DATASIZE_24 (I2S_TXCTRL_DATASIZE_24_Val << I2S_TXCTRL_DATASIZE_Pos)
490 #define I2S_TXCTRL_DATASIZE_20 (I2S_TXCTRL_DATASIZE_20_Val << I2S_TXCTRL_DATASIZE_Pos)
491 #define I2S_TXCTRL_DATASIZE_18 (I2S_TXCTRL_DATASIZE_18_Val << I2S_TXCTRL_DATASIZE_Pos)
492 #define I2S_TXCTRL_DATASIZE_16 (I2S_TXCTRL_DATASIZE_16_Val << I2S_TXCTRL_DATASIZE_Pos)
493 #define I2S_TXCTRL_DATASIZE_16C (I2S_TXCTRL_DATASIZE_16C_Val << I2S_TXCTRL_DATASIZE_Pos)
494 #define I2S_TXCTRL_DATASIZE_8 (I2S_TXCTRL_DATASIZE_8_Val << I2S_TXCTRL_DATASIZE_Pos)
495 #define I2S_TXCTRL_DATASIZE_8C (I2S_TXCTRL_DATASIZE_8C_Val << I2S_TXCTRL_DATASIZE_Pos)
496 #define I2S_TXCTRL_WORDADJ_Pos 12
497 #define I2S_TXCTRL_WORDADJ (_U_(0x1) << I2S_TXCTRL_WORDADJ_Pos)
498 #define I2S_TXCTRL_WORDADJ_RIGHT_Val _U_(0x0)
499 #define I2S_TXCTRL_WORDADJ_LEFT_Val _U_(0x1)
500 #define I2S_TXCTRL_WORDADJ_RIGHT (I2S_TXCTRL_WORDADJ_RIGHT_Val << I2S_TXCTRL_WORDADJ_Pos)
501 #define I2S_TXCTRL_WORDADJ_LEFT (I2S_TXCTRL_WORDADJ_LEFT_Val << I2S_TXCTRL_WORDADJ_Pos)
502 #define I2S_TXCTRL_EXTEND_Pos 13
503 #define I2S_TXCTRL_EXTEND_Msk (_U_(0x3) << I2S_TXCTRL_EXTEND_Pos)
504 #define I2S_TXCTRL_EXTEND(value) (I2S_TXCTRL_EXTEND_Msk & ((value) << I2S_TXCTRL_EXTEND_Pos))
505 #define I2S_TXCTRL_EXTEND_ZERO_Val _U_(0x0)
506 #define I2S_TXCTRL_EXTEND_ONE_Val _U_(0x1)
507 #define I2S_TXCTRL_EXTEND_MSBIT_Val _U_(0x2)
508 #define I2S_TXCTRL_EXTEND_LSBIT_Val _U_(0x3)
509 #define I2S_TXCTRL_EXTEND_ZERO (I2S_TXCTRL_EXTEND_ZERO_Val << I2S_TXCTRL_EXTEND_Pos)
510 #define I2S_TXCTRL_EXTEND_ONE (I2S_TXCTRL_EXTEND_ONE_Val << I2S_TXCTRL_EXTEND_Pos)
511 #define I2S_TXCTRL_EXTEND_MSBIT (I2S_TXCTRL_EXTEND_MSBIT_Val << I2S_TXCTRL_EXTEND_Pos)
512 #define I2S_TXCTRL_EXTEND_LSBIT (I2S_TXCTRL_EXTEND_LSBIT_Val << I2S_TXCTRL_EXTEND_Pos)
513 #define I2S_TXCTRL_BITREV_Pos 15
514 #define I2S_TXCTRL_BITREV (_U_(0x1) << I2S_TXCTRL_BITREV_Pos)
515 #define I2S_TXCTRL_BITREV_MSBIT_Val _U_(0x0)
516 #define I2S_TXCTRL_BITREV_LSBIT_Val _U_(0x1)
517 #define I2S_TXCTRL_BITREV_MSBIT (I2S_TXCTRL_BITREV_MSBIT_Val << I2S_TXCTRL_BITREV_Pos)
518 #define I2S_TXCTRL_BITREV_LSBIT (I2S_TXCTRL_BITREV_LSBIT_Val << I2S_TXCTRL_BITREV_Pos)
519 #define I2S_TXCTRL_SLOTDIS0_Pos 16
520 #define I2S_TXCTRL_SLOTDIS0 (_U_(1) << I2S_TXCTRL_SLOTDIS0_Pos)
521 #define I2S_TXCTRL_SLOTDIS1_Pos 17
522 #define I2S_TXCTRL_SLOTDIS1 (_U_(1) << I2S_TXCTRL_SLOTDIS1_Pos)
523 #define I2S_TXCTRL_SLOTDIS2_Pos 18
524 #define I2S_TXCTRL_SLOTDIS2 (_U_(1) << I2S_TXCTRL_SLOTDIS2_Pos)
525 #define I2S_TXCTRL_SLOTDIS3_Pos 19
526 #define I2S_TXCTRL_SLOTDIS3 (_U_(1) << I2S_TXCTRL_SLOTDIS3_Pos)
527 #define I2S_TXCTRL_SLOTDIS4_Pos 20
528 #define I2S_TXCTRL_SLOTDIS4 (_U_(1) << I2S_TXCTRL_SLOTDIS4_Pos)
529 #define I2S_TXCTRL_SLOTDIS5_Pos 21
530 #define I2S_TXCTRL_SLOTDIS5 (_U_(1) << I2S_TXCTRL_SLOTDIS5_Pos)
531 #define I2S_TXCTRL_SLOTDIS6_Pos 22
532 #define I2S_TXCTRL_SLOTDIS6 (_U_(1) << I2S_TXCTRL_SLOTDIS6_Pos)
533 #define I2S_TXCTRL_SLOTDIS7_Pos 23
534 #define I2S_TXCTRL_SLOTDIS7 (_U_(1) << I2S_TXCTRL_SLOTDIS7_Pos)
535 #define I2S_TXCTRL_SLOTDIS_Pos 16
536 #define I2S_TXCTRL_SLOTDIS_Msk (_U_(0xFF) << I2S_TXCTRL_SLOTDIS_Pos)
537 #define I2S_TXCTRL_SLOTDIS(value) (I2S_TXCTRL_SLOTDIS_Msk & ((value) << I2S_TXCTRL_SLOTDIS_Pos))
538 #define I2S_TXCTRL_MONO_Pos 24
539 #define I2S_TXCTRL_MONO (_U_(0x1) << I2S_TXCTRL_MONO_Pos)
540 #define I2S_TXCTRL_MONO_STEREO_Val _U_(0x0)
541 #define I2S_TXCTRL_MONO_MONO_Val _U_(0x1)
542 #define I2S_TXCTRL_MONO_STEREO (I2S_TXCTRL_MONO_STEREO_Val << I2S_TXCTRL_MONO_Pos)
543 #define I2S_TXCTRL_MONO_MONO (I2S_TXCTRL_MONO_MONO_Val << I2S_TXCTRL_MONO_Pos)
544 #define I2S_TXCTRL_DMA_Pos 25
545 #define I2S_TXCTRL_DMA (_U_(0x1) << I2S_TXCTRL_DMA_Pos)
546 #define I2S_TXCTRL_DMA_SINGLE_Val _U_(0x0)
547 #define I2S_TXCTRL_DMA_MULTIPLE_Val _U_(0x1)
548 #define I2S_TXCTRL_DMA_SINGLE (I2S_TXCTRL_DMA_SINGLE_Val << I2S_TXCTRL_DMA_Pos)
549 #define I2S_TXCTRL_DMA_MULTIPLE (I2S_TXCTRL_DMA_MULTIPLE_Val << I2S_TXCTRL_DMA_Pos)
550 #define I2S_TXCTRL_MASK _U_(0x03FFF79C)
553 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
588 #define I2S_RXCTRL_OFFSET 0x24
589 #define I2S_RXCTRL_RESETVALUE _U_(0x00000000)
591 #define I2S_RXCTRL_SERMODE_Pos 0
592 #define I2S_RXCTRL_SERMODE_Msk (_U_(0x3) << I2S_RXCTRL_SERMODE_Pos)
593 #define I2S_RXCTRL_SERMODE(value) (I2S_RXCTRL_SERMODE_Msk & ((value) << I2S_RXCTRL_SERMODE_Pos))
594 #define I2S_RXCTRL_SERMODE_RX_Val _U_(0x0)
595 #define I2S_RXCTRL_SERMODE_PDM2_Val _U_(0x2)
596 #define I2S_RXCTRL_SERMODE_RX (I2S_RXCTRL_SERMODE_RX_Val << I2S_RXCTRL_SERMODE_Pos)
597 #define I2S_RXCTRL_SERMODE_PDM2 (I2S_RXCTRL_SERMODE_PDM2_Val << I2S_RXCTRL_SERMODE_Pos)
598 #define I2S_RXCTRL_CLKSEL_Pos 5
599 #define I2S_RXCTRL_CLKSEL (_U_(0x1) << I2S_RXCTRL_CLKSEL_Pos)
600 #define I2S_RXCTRL_CLKSEL_CLK0_Val _U_(0x0)
601 #define I2S_RXCTRL_CLKSEL_CLK1_Val _U_(0x1)
602 #define I2S_RXCTRL_CLKSEL_CLK0 (I2S_RXCTRL_CLKSEL_CLK0_Val << I2S_RXCTRL_CLKSEL_Pos)
603 #define I2S_RXCTRL_CLKSEL_CLK1 (I2S_RXCTRL_CLKSEL_CLK1_Val << I2S_RXCTRL_CLKSEL_Pos)
604 #define I2S_RXCTRL_SLOTADJ_Pos 7
605 #define I2S_RXCTRL_SLOTADJ (_U_(0x1) << I2S_RXCTRL_SLOTADJ_Pos)
606 #define I2S_RXCTRL_SLOTADJ_RIGHT_Val _U_(0x0)
607 #define I2S_RXCTRL_SLOTADJ_LEFT_Val _U_(0x1)
608 #define I2S_RXCTRL_SLOTADJ_RIGHT (I2S_RXCTRL_SLOTADJ_RIGHT_Val << I2S_RXCTRL_SLOTADJ_Pos)
609 #define I2S_RXCTRL_SLOTADJ_LEFT (I2S_RXCTRL_SLOTADJ_LEFT_Val << I2S_RXCTRL_SLOTADJ_Pos)
610 #define I2S_RXCTRL_DATASIZE_Pos 8
611 #define I2S_RXCTRL_DATASIZE_Msk (_U_(0x7) << I2S_RXCTRL_DATASIZE_Pos)
612 #define I2S_RXCTRL_DATASIZE(value) (I2S_RXCTRL_DATASIZE_Msk & ((value) << I2S_RXCTRL_DATASIZE_Pos))
613 #define I2S_RXCTRL_DATASIZE_32_Val _U_(0x0)
614 #define I2S_RXCTRL_DATASIZE_24_Val _U_(0x1)
615 #define I2S_RXCTRL_DATASIZE_20_Val _U_(0x2)
616 #define I2S_RXCTRL_DATASIZE_18_Val _U_(0x3)
617 #define I2S_RXCTRL_DATASIZE_16_Val _U_(0x4)
618 #define I2S_RXCTRL_DATASIZE_16C_Val _U_(0x5)
619 #define I2S_RXCTRL_DATASIZE_8_Val _U_(0x6)
620 #define I2S_RXCTRL_DATASIZE_8C_Val _U_(0x7)
621 #define I2S_RXCTRL_DATASIZE_32 (I2S_RXCTRL_DATASIZE_32_Val << I2S_RXCTRL_DATASIZE_Pos)
622 #define I2S_RXCTRL_DATASIZE_24 (I2S_RXCTRL_DATASIZE_24_Val << I2S_RXCTRL_DATASIZE_Pos)
623 #define I2S_RXCTRL_DATASIZE_20 (I2S_RXCTRL_DATASIZE_20_Val << I2S_RXCTRL_DATASIZE_Pos)
624 #define I2S_RXCTRL_DATASIZE_18 (I2S_RXCTRL_DATASIZE_18_Val << I2S_RXCTRL_DATASIZE_Pos)
625 #define I2S_RXCTRL_DATASIZE_16 (I2S_RXCTRL_DATASIZE_16_Val << I2S_RXCTRL_DATASIZE_Pos)
626 #define I2S_RXCTRL_DATASIZE_16C (I2S_RXCTRL_DATASIZE_16C_Val << I2S_RXCTRL_DATASIZE_Pos)
627 #define I2S_RXCTRL_DATASIZE_8 (I2S_RXCTRL_DATASIZE_8_Val << I2S_RXCTRL_DATASIZE_Pos)
628 #define I2S_RXCTRL_DATASIZE_8C (I2S_RXCTRL_DATASIZE_8C_Val << I2S_RXCTRL_DATASIZE_Pos)
629 #define I2S_RXCTRL_WORDADJ_Pos 12
630 #define I2S_RXCTRL_WORDADJ (_U_(0x1) << I2S_RXCTRL_WORDADJ_Pos)
631 #define I2S_RXCTRL_WORDADJ_RIGHT_Val _U_(0x0)
632 #define I2S_RXCTRL_WORDADJ_LEFT_Val _U_(0x1)
633 #define I2S_RXCTRL_WORDADJ_RIGHT (I2S_RXCTRL_WORDADJ_RIGHT_Val << I2S_RXCTRL_WORDADJ_Pos)
634 #define I2S_RXCTRL_WORDADJ_LEFT (I2S_RXCTRL_WORDADJ_LEFT_Val << I2S_RXCTRL_WORDADJ_Pos)
635 #define I2S_RXCTRL_EXTEND_Pos 13
636 #define I2S_RXCTRL_EXTEND_Msk (_U_(0x3) << I2S_RXCTRL_EXTEND_Pos)
637 #define I2S_RXCTRL_EXTEND(value) (I2S_RXCTRL_EXTEND_Msk & ((value) << I2S_RXCTRL_EXTEND_Pos))
638 #define I2S_RXCTRL_EXTEND_ZERO_Val _U_(0x0)
639 #define I2S_RXCTRL_EXTEND_ONE_Val _U_(0x1)
640 #define I2S_RXCTRL_EXTEND_MSBIT_Val _U_(0x2)
641 #define I2S_RXCTRL_EXTEND_LSBIT_Val _U_(0x3)
642 #define I2S_RXCTRL_EXTEND_ZERO (I2S_RXCTRL_EXTEND_ZERO_Val << I2S_RXCTRL_EXTEND_Pos)
643 #define I2S_RXCTRL_EXTEND_ONE (I2S_RXCTRL_EXTEND_ONE_Val << I2S_RXCTRL_EXTEND_Pos)
644 #define I2S_RXCTRL_EXTEND_MSBIT (I2S_RXCTRL_EXTEND_MSBIT_Val << I2S_RXCTRL_EXTEND_Pos)
645 #define I2S_RXCTRL_EXTEND_LSBIT (I2S_RXCTRL_EXTEND_LSBIT_Val << I2S_RXCTRL_EXTEND_Pos)
646 #define I2S_RXCTRL_BITREV_Pos 15
647 #define I2S_RXCTRL_BITREV (_U_(0x1) << I2S_RXCTRL_BITREV_Pos)
648 #define I2S_RXCTRL_BITREV_MSBIT_Val _U_(0x0)
649 #define I2S_RXCTRL_BITREV_LSBIT_Val _U_(0x1)
650 #define I2S_RXCTRL_BITREV_MSBIT (I2S_RXCTRL_BITREV_MSBIT_Val << I2S_RXCTRL_BITREV_Pos)
651 #define I2S_RXCTRL_BITREV_LSBIT (I2S_RXCTRL_BITREV_LSBIT_Val << I2S_RXCTRL_BITREV_Pos)
652 #define I2S_RXCTRL_SLOTDIS0_Pos 16
653 #define I2S_RXCTRL_SLOTDIS0 (_U_(1) << I2S_RXCTRL_SLOTDIS0_Pos)
654 #define I2S_RXCTRL_SLOTDIS1_Pos 17
655 #define I2S_RXCTRL_SLOTDIS1 (_U_(1) << I2S_RXCTRL_SLOTDIS1_Pos)
656 #define I2S_RXCTRL_SLOTDIS2_Pos 18
657 #define I2S_RXCTRL_SLOTDIS2 (_U_(1) << I2S_RXCTRL_SLOTDIS2_Pos)
658 #define I2S_RXCTRL_SLOTDIS3_Pos 19
659 #define I2S_RXCTRL_SLOTDIS3 (_U_(1) << I2S_RXCTRL_SLOTDIS3_Pos)
660 #define I2S_RXCTRL_SLOTDIS4_Pos 20
661 #define I2S_RXCTRL_SLOTDIS4 (_U_(1) << I2S_RXCTRL_SLOTDIS4_Pos)
662 #define I2S_RXCTRL_SLOTDIS5_Pos 21
663 #define I2S_RXCTRL_SLOTDIS5 (_U_(1) << I2S_RXCTRL_SLOTDIS5_Pos)
664 #define I2S_RXCTRL_SLOTDIS6_Pos 22
665 #define I2S_RXCTRL_SLOTDIS6 (_U_(1) << I2S_RXCTRL_SLOTDIS6_Pos)
666 #define I2S_RXCTRL_SLOTDIS7_Pos 23
667 #define I2S_RXCTRL_SLOTDIS7 (_U_(1) << I2S_RXCTRL_SLOTDIS7_Pos)
668 #define I2S_RXCTRL_SLOTDIS_Pos 16
669 #define I2S_RXCTRL_SLOTDIS_Msk (_U_(0xFF) << I2S_RXCTRL_SLOTDIS_Pos)
670 #define I2S_RXCTRL_SLOTDIS(value) (I2S_RXCTRL_SLOTDIS_Msk & ((value) << I2S_RXCTRL_SLOTDIS_Pos))
671 #define I2S_RXCTRL_MONO_Pos 24
672 #define I2S_RXCTRL_MONO (_U_(0x1) << I2S_RXCTRL_MONO_Pos)
673 #define I2S_RXCTRL_MONO_STEREO_Val _U_(0x0)
674 #define I2S_RXCTRL_MONO_MONO_Val _U_(0x1)
675 #define I2S_RXCTRL_MONO_STEREO (I2S_RXCTRL_MONO_STEREO_Val << I2S_RXCTRL_MONO_Pos)
676 #define I2S_RXCTRL_MONO_MONO (I2S_RXCTRL_MONO_MONO_Val << I2S_RXCTRL_MONO_Pos)
677 #define I2S_RXCTRL_DMA_Pos 25
678 #define I2S_RXCTRL_DMA (_U_(0x1) << I2S_RXCTRL_DMA_Pos)
679 #define I2S_RXCTRL_DMA_SINGLE_Val _U_(0x0)
680 #define I2S_RXCTRL_DMA_MULTIPLE_Val _U_(0x1)
681 #define I2S_RXCTRL_DMA_SINGLE (I2S_RXCTRL_DMA_SINGLE_Val << I2S_RXCTRL_DMA_Pos)
682 #define I2S_RXCTRL_DMA_MULTIPLE (I2S_RXCTRL_DMA_MULTIPLE_Val << I2S_RXCTRL_DMA_Pos)
683 #define I2S_RXCTRL_RXLOOP_Pos 26
684 #define I2S_RXCTRL_RXLOOP (_U_(0x1) << I2S_RXCTRL_RXLOOP_Pos)
685 #define I2S_RXCTRL_MASK _U_(0x07FFF7A3)
688 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
697 #define I2S_TXDATA_OFFSET 0x30
698 #define I2S_TXDATA_RESETVALUE _U_(0x00000000)
700 #define I2S_TXDATA_DATA_Pos 0
701 #define I2S_TXDATA_DATA_Msk (_U_(0xFFFFFFFF) << I2S_TXDATA_DATA_Pos)
702 #define I2S_TXDATA_DATA(value) (I2S_TXDATA_DATA_Msk & ((value) << I2S_TXDATA_DATA_Pos))
703 #define I2S_TXDATA_MASK _U_(0xFFFFFFFF)
706 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
715 #define I2S_RXDATA_OFFSET 0x34
716 #define I2S_RXDATA_RESETVALUE _U_(0x00000000)
718 #define I2S_RXDATA_DATA_Pos 0
719 #define I2S_RXDATA_DATA_Msk (_U_(0xFFFFFFFF) << I2S_RXDATA_DATA_Pos)
720 #define I2S_RXDATA_DATA(value) (I2S_RXDATA_DATA_Msk & ((value) << I2S_RXDATA_DATA_Pos))
721 #define I2S_RXDATA_MASK _U_(0xFFFFFFFF)
724 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
__IO I2S_RXCTRL_Type RXCTRL
Offset: 0x24 (R/W 32) Rx Serializer Control.
__I I2S_RXDATA_Type RXDATA
Offset: 0x34 (R/ 32) Rx Data.
__IO I2S_CTRLA_Type CTRLA
Offset: 0x00 (R/W 8) Control A.
__IO I2S_TXCTRL_Type TXCTRL
Offset: 0x20 (R/W 32) Tx Serializer Control.
__IO I2S_INTENSET_Type INTENSET
Offset: 0x10 (R/W 16) Interrupt Enable Set.
__IO I2S_INTFLAG_Type INTFLAG
Offset: 0x14 (R/W 16) Interrupt Flag Status and Clear.
volatile const uint8_t RoReg8
__O I2S_TXDATA_Type TXDATA
Offset: 0x30 ( /W 32) Tx Data.
__I I2S_SYNCBUSY_Type SYNCBUSY
Offset: 0x18 (R/ 16) Synchronization Status.
__IO I2S_INTENCLR_Type INTENCLR
Offset: 0x0C (R/W 16) Interrupt Enable Clear.