CC35xxDriverLibrary
hw_pdm.h
Go to the documentation of this file.
1 /******************************************************************************
2 * Filename: hw_pdm.h
3 *
4 * Description: Defines and prototypes for the PDM peripheral.
5 *
6 * Copyright (c) 2023-2025, Texas Instruments Incorporated
7 * All rights reserved.
8 *
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions are met:
11 *
12 * 1) Redistributions of source code must retain the above copyright notice,
13 * this list of conditions and the following disclaimer.
14 *
15 * 2) Redistributions in binary form must reproduce the above copyright notice,
16 * this list of conditions and the following disclaimer in the documentation
17 * and/or other materials provided with the distribution.
18 *
19 * 3) Neither the name of the ORGANIZATION nor the names of its contributors may
20 * be used to endorse or promote products derived from this software without
21 * specific prior written permission.
22 *
23  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
27 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
28 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
29 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
30 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
31 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
32 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33 * POSSIBILITY OF SUCH DAMAGE.
34 *
35 ******************************************************************************/
36 #ifndef __HW_PDM_H__
37 #define __HW_PDM_H__
38 /*-------------------------------------------------------------------------------
39 
40 This section defines the register offsets of the PDM component
41 
42 --------------------------------------------------------------------------------- */
43 
44 //Description Register
45 #define PDM_O_DESC 0x00000000U
46 
47 //This register reflects the configuration of this peripheral instance
48 #define PDM_O_DESCEX 0x00000004U
49 
50 //Interrupt Mask
51 #define PDM_O_IMASK 0x00000044U
52 
53 //Raw interrupt status
54 #define PDM_O_RIS 0x00000048U
55 
56 //Masked interrupt status
57 #define PDM_O_MIS 0x0000004CU
58 
59 //Interrupt set
60 #define PDM_O_ISET 0x00000050U
61 
62 //Interrupt clear
63 #define PDM_O_ICLR 0x00000054U
64 
65 //This register can be used by the software developer to control the behavior of the peripheral relative to the 'Core Halted' input
66 #define PDM_O_EMU 0x00000060U
67 
68 //PDM control register
69 #define PDM_O_CTL 0x00000100U
70 
71 //Input clock Control Register
72 #define PDM_O_ICLKCTL 0x00000104U
73 
74 //PDM FIFO control register
75 #define PDM_O_FIFOCTL1 0x00000108U
76 
77 //*FIFO* Data Register (FIFO read)
78 #define PDM_O_FIFODATA 0x0000010CU
79 
80 //PDM Channel control register
81 #define PDM_O_CCTL 0x00000110U
82 
83 //Oversampling Control Register
84 #define PDM_O_OSR 0x00000114U
85 
86 //PDM control register
87 #define PDM_O_STA 0x00000118U
88 
89 //FIFO Control
90 #define PDM_O_FIFOCTL2 0x00000120U
91 
92 //FIFO Status Register
93 #define PDM_O_FIFOSR 0x00000124U
94 
95 //Average sample value for channel-0, 32-bit register
96 #define PDM_O_AVGVAL0 0x00000200U
97 
98 //Peak sample value for channel-0
99 #define PDM_O_PKVAL0 0x00000204U
100 
101 //Average sample power for channel-0
102 #define PDM_O_AVGPOW0 0x00000208U
103 
104 //Average sample value for channel-1, 32-bit register
105 #define PDM_O_AVGVAL1 0x0000020CU
106 
107 //Peak sample value for channel-1
108 #define PDM_O_PKVAL1 0x00000210U
109 
110 //Average sample power for channel-1
111 #define PDM_O_AVGPOW1 0x00000214U
112 
113 //Samplestamp Generator Control Register
114 #define PDM_O_STPCTL 0x00000300U
115 
116 //Captured REFCLK Counter Value, Capture Channel 0
117 #define PDM_O_STPXCAPT 0x00000304U
118 
119 //REFCLK Period Value
120 #define PDM_O_STPXPER 0x00000308U
121 
122 //Captured Sample Clock Counter Value, Capture Channel 0
123 #define PDM_O_STPSCAPT 0x0000030CU
124 
125 //Sample Clock Counter Period Value
126 #define PDM_O_STPSPER 0x00000310U
127 
128 //WS Counter Trigger Value for Input Pins
129 #define PDM_O_STPINTRG 0x00000314U
130 
131 //Sample Clock Counter Set Operation
132 #define PDM_O_STPSSET 0x00000318U
133 
134 //Sample Clock Counter Add Operation
135 #define PDM_O_STPSADD 0x0000031CU
136 
137 //REFCLK Minimum Period Value;Minimum Value of [STPXPER]
138 #define PDM_O_STPXMIN 0x00000320U
139 
140 //Current Value of sample clock count
141 #define PDM_O_STPWCNT 0x00000324U
142 
143 //Current Value of XCNT
144 #define PDM_O_STPXCNT 0x00000328U
145 
146 //Samplestamp Generator Status Register
147 #define PDM_O_STPSTAT 0x0000032CU
148 
149 //Clock configuration register
150 #define PDM_O_CLKCFG 0x00001000U
151 
152 //ADFS control register
153 #define PDM_O_ADFSCTL1 0x00001004U
154 
155 //ADFS control register 2
156 #define PDM_O_ADFSCTL2 0x00001008U
157 
158 
159 
160 /*-----------------------------------REGISTER------------------------------------
161  Register name: DESC
162  Offset name: PDM_O_DESC
163  Relative address: 0x0
164  Description: Description Register
165  This register identifies the peripheral and its exact version.
166  Default Value: 0x00000000
167 
168  Field: MINREV
169  From..to bits: 0...3
170  DefaultValue: 0x0
171  Access type: read-only
172  Description: Minor revision of the IP
173 
174  ENUMs:
175  MINIMUM: Smallest value
176  MAXIMUM: Highest possible value
177 */
178 #define PDM_DESC_MINREV_W 4U
179 #define PDM_DESC_MINREV_M 0x0000000FU
180 #define PDM_DESC_MINREV_S 0U
181 #define PDM_DESC_MINREV_MINIMUM 0x00000000U
182 #define PDM_DESC_MINREV_MAXIMUM 0x0000000FU
183 /*
184 
185  Field: MAJREV
186  From..to bits: 4...7
187  DefaultValue: 0x0
188  Access type: read-only
189  Description: Major revision of the IP
190 
191  ENUMs:
192  MINIMUM: Smallest value
193  MAXIMUM: Highest possible value
194 */
195 #define PDM_DESC_MAJREV_W 4U
196 #define PDM_DESC_MAJREV_M 0x000000F0U
197 #define PDM_DESC_MAJREV_S 4U
198 #define PDM_DESC_MAJREV_MINIMUM 0x00000000U
199 #define PDM_DESC_MAJREV_MAXIMUM 0x000000F0U
200 /*
201 
202  Field: INSTIDX
203  From..to bits: 8...11
204  DefaultValue: 0x0
205  Access type: read-only
206  Description: Instance Number within the device. This will be a parameter to the RTL for modules that can have multiple instances
207 
208  ENUMs:
209  MINIMUM: Smallest value
210  MAXIMUM: Highest possible value
211 */
212 #define PDM_DESC_INSTIDX_W 4U
213 #define PDM_DESC_INSTIDX_M 0x00000F00U
214 #define PDM_DESC_INSTIDX_S 8U
215 #define PDM_DESC_INSTIDX_MINIMUM 0x00000000U
216 #define PDM_DESC_INSTIDX_MAXIMUM 0x00000F00U
217 /*
218 
219  Field: STDIPOFF
220  From..to bits: 12...15
221  DefaultValue: 0x0
222  Access type: read-only
223  Description: Standard IP offset
224  64 Bit standard IP MMR block (beginning with aggregated IRQ registers)
225 
226  0: STDIP MMRs do not exist
227  1:15: These MMRs begin at offset 64*STDIPOFF from IP base address
228 
229  ENUMs:
230  MINIMUM: Smallest value
231  MAXIMUM: Highest possible value
232 */
233 #define PDM_DESC_STDIPOFF_W 4U
234 #define PDM_DESC_STDIPOFF_M 0x0000F000U
235 #define PDM_DESC_STDIPOFF_S 12U
236 #define PDM_DESC_STDIPOFF_MINIMUM 0x00000000U
237 #define PDM_DESC_STDIPOFF_MAXIMUM 0x0000F000U
238 /*
239 
240  Field: MODID
241  From..to bits: 16...31
242  DefaultValue: 0x0
243  Access type: read-only
244  Description: Module identification contains a unique peripheral identification number. The assignments are maintained in a central database for all of the platform modules to ensure uniqueness.
245 
246  ENUMs:
247  MINIMUM: Smallest value
248  MAXIMUM: Highest possible value
249 */
250 #define PDM_DESC_MODID_W 16U
251 #define PDM_DESC_MODID_M 0xFFFF0000U
252 #define PDM_DESC_MODID_S 16U
253 #define PDM_DESC_MODID_MINIMUM 0x00000000U
254 #define PDM_DESC_MODID_MAXIMUM 0xFFFF0000U
255 
256 
257 /*-----------------------------------REGISTER------------------------------------
258  Register name: DESCEX
259  Offset name: PDM_O_DESCEX
260  Relative address: 0x4
261  Description: This register reflects the configuration of this peripheral instance
262  Default Value: 0x00000004
263 
264  Field: NUMCHAN
265  From..to bits: 0...2
266  DefaultValue: 0x4
267  Access type: read-only
268  Description: Number of available PDM Channels.
269  Value 1 indicates two channels that can be used for stereo or dual mono microphone connections.
270 
271  ENUMs:
272  MINIMUM: Smallest value
273  MAXIMUM: Highest possible value
274 */
275 #define PDM_DESCEX_NUMCHAN_W 3U
276 #define PDM_DESCEX_NUMCHAN_M 0x00000007U
277 #define PDM_DESCEX_NUMCHAN_S 0U
278 #define PDM_DESCEX_NUMCHAN_MINIMUM 0x00000000U
279 #define PDM_DESCEX_NUMCHAN_MAXIMUM 0x00000007U
280 
281 
282 /*-----------------------------------REGISTER------------------------------------
283  Register name: IMASK
284  Offset name: PDM_O_IMASK
285  Relative address: 0x44
286  Description: Interrupt Mask. If a bit is set, then corresponding interrupt is un-masked. Un-masking the interrupt causes the raw interrupt to be visible in MIS.
287  Default Value: 0x00000000
288 
289  Field: PDMDATA
290  From..to bits: 0...0
291  DefaultValue: 0x0
292  Access type: read-write
293  Description: *PDM* data event mask
294 
295  ENUMs:
296  CLR: Interrupt disable
297  SET: Interrupt Enable
298 */
299 #define PDM_IMASK_PDMDATA 0x00000001U
300 #define PDM_IMASK_PDMDATA_M 0x00000001U
301 #define PDM_IMASK_PDMDATA_S 0U
302 #define PDM_IMASK_PDMDATA_CLR 0x00000000U
303 #define PDM_IMASK_PDMDATA_SET 0x00000001U
304 /*
305 
306  Field: OVFL
307  From..to bits: 6...6
308  DefaultValue: 0x0
309  Access type: read-write
310  Description: Data Overflow event mask.
311 
312  ENUMs:
313  CLR: Interrupt disable
314  SET: Interrrupt Enable
315 */
316 #define PDM_IMASK_OVFL 0x00000040U
317 #define PDM_IMASK_OVFL_M 0x00000040U
318 #define PDM_IMASK_OVFL_S 6U
319 #define PDM_IMASK_OVFL_CLR 0x00000000U
320 #define PDM_IMASK_OVFL_SET 0x00000040U
321 /*
322 
323  Field: UNFL
324  From..to bits: 7...7
325  DefaultValue: 0x0
326  Access type: read-write
327  Description: Data Underflow event mask.
328 
329  ENUMs:
330  CLR: Interrupt disable
331  SET: Interrrupt Enable
332 */
333 #define PDM_IMASK_UNFL 0x00000080U
334 #define PDM_IMASK_UNFL_M 0x00000080U
335 #define PDM_IMASK_UNFL_S 7U
336 #define PDM_IMASK_UNFL_CLR 0x00000000U
337 #define PDM_IMASK_UNFL_SET 0x00000080U
338 /*
339 
340  Field: STPTRIG
341  From..to bits: 8...8
342  DefaultValue: 0x0
343  Access type: read-write
344  Description: Samplestamp Trigger event mask
345 
346  ENUMs:
347  SET: Interrrupt Enable
348  CLR: Clear Interrupt Mask
349 */
350 #define PDM_IMASK_STPTRIG 0x00000100U
351 #define PDM_IMASK_STPTRIG_M 0x00000100U
352 #define PDM_IMASK_STPTRIG_S 8U
353 #define PDM_IMASK_STPTRIG_SET 0x00000100U
354 #define PDM_IMASK_STPTRIG_CLR 0x00000000U
355 /*
356 
357  Field: DMADONE
358  From..to bits: 9...9
359  DefaultValue: 0x0
360  Access type: read-write
361  Description: DMA Done event mask.
362 
363  ENUMs:
364  CLR: Interrupt disable
365  SET: Interrrupt Enable
366 */
367 #define PDM_IMASK_DMADONE 0x00000200U
368 #define PDM_IMASK_DMADONE_M 0x00000200U
369 #define PDM_IMASK_DMADONE_S 9U
370 #define PDM_IMASK_DMADONE_CLR 0x00000000U
371 #define PDM_IMASK_DMADONE_SET 0x00000200U
372 
373 
374 /*-----------------------------------REGISTER------------------------------------
375  Register name: RIS
376  Offset name: PDM_O_RIS
377  Relative address: 0x48
378  Description: Raw interrupt status. Reflects all pending interrupts, regardless of masking. The RIS register allows the user to implement a poll scheme. A flag set in this register can be cleared by writing 1 to the ICLR register bit even if the corresponding IMASK bit is not enabled.
379  Default Value: 0x00000000
380 
381  Field: PDMDATA
382  From..to bits: 0...0
383  DefaultValue: 0x0
384  Access type: read-only
385  Description: PDM DATA event
386 
387  ENUMs:
388  CLR: Interrupt disable
389  SET: Interrrupt Enable
390 */
391 #define PDM_RIS_PDMDATA 0x00000001U
392 #define PDM_RIS_PDMDATA_M 0x00000001U
393 #define PDM_RIS_PDMDATA_S 0U
394 #define PDM_RIS_PDMDATA_CLR 0x00000000U
395 #define PDM_RIS_PDMDATA_SET 0x00000001U
396 /*
397 
398  Field: OVFL
399  From..to bits: 6...6
400  DefaultValue: 0x0
401  Access type: read-only
402  Description: Data Overflow event.
403  Data has been written to the buffer before the previous values was read.
404  This flag gets set if one of the channel OVERFLOW flags gets set
405 
406  ENUMs:
407  CLR: Interrupt disable
408  SET: Interrrupt Enable
409 */
410 #define PDM_RIS_OVFL 0x00000040U
411 #define PDM_RIS_OVFL_M 0x00000040U
412 #define PDM_RIS_OVFL_S 6U
413 #define PDM_RIS_OVFL_CLR 0x00000000U
414 #define PDM_RIS_OVFL_SET 0x00000040U
415 /*
416 
417  Field: UNFL
418  From..to bits: 7...7
419  DefaultValue: 0x0
420  Access type: read-only
421  Description: Data Underflow event.
422  Data has been read from an emty FIFO.
423  This flag gets set if one of the channel UNDERFLOW flags gets set.
424 
425  ENUMs:
426  CLR: Interrupt disable
427  SET: Interrrupt Enable
428 */
429 #define PDM_RIS_UNFL 0x00000080U
430 #define PDM_RIS_UNFL_M 0x00000080U
431 #define PDM_RIS_UNFL_S 7U
432 #define PDM_RIS_UNFL_CLR 0x00000000U
433 #define PDM_RIS_UNFL_SET 0x00000080U
434 /*
435 
436  Field: STPTRIG
437  From..to bits: 8...8
438  DefaultValue: 0x0
439  Access type: read-only
440  Description: Samplestamp Trigger event
441 
442  ENUMs:
443  SET: Interrrupt Enable
444  CLR: Interrupt did not occur
445 */
446 #define PDM_RIS_STPTRIG 0x00000100U
447 #define PDM_RIS_STPTRIG_M 0x00000100U
448 #define PDM_RIS_STPTRIG_S 8U
449 #define PDM_RIS_STPTRIG_SET 0x00000100U
450 #define PDM_RIS_STPTRIG_CLR 0x00000000U
451 /*
452 
453  Field: DMADONE
454  From..to bits: 9...9
455  DefaultValue: 0x0
456  Access type: read-only
457  Description: DMA Done event.
458 
459  ENUMs:
460  CLR: Interrupt disable
461  SET: Interrrupt Enable
462 */
463 #define PDM_RIS_DMADONE 0x00000200U
464 #define PDM_RIS_DMADONE_M 0x00000200U
465 #define PDM_RIS_DMADONE_S 9U
466 #define PDM_RIS_DMADONE_CLR 0x00000000U
467 #define PDM_RIS_DMADONE_SET 0x00000200U
468 
469 
470 /*-----------------------------------REGISTER------------------------------------
471  Register name: MIS
472  Offset name: PDM_O_MIS
473  Relative address: 0x4C
474  Description: Masked interrupt status. This is an AND of the IMASK and RIS registers.
475  Default Value: 0x00000000
476 
477  Field: PDMDATA
478  From..to bits: 0...0
479  DefaultValue: 0x0
480  Access type: read-only
481  Description: Masked PDMDATA event
482 
483  ENUMs:
484  CLR: Interrupt disable
485  SET: Interrrupt Enable
486 */
487 #define PDM_MIS_PDMDATA 0x00000001U
488 #define PDM_MIS_PDMDATA_M 0x00000001U
489 #define PDM_MIS_PDMDATA_S 0U
490 #define PDM_MIS_PDMDATA_CLR 0x00000000U
491 #define PDM_MIS_PDMDATA_SET 0x00000001U
492 /*
493 
494  Field: OVFL
495  From..to bits: 6...6
496  DefaultValue: 0x0
497  Access type: read-only
498  Description: Masked Data Overflow event.
499 
500  ENUMs:
501  CLR: Interrupt disable
502  SET: Interrrupt Enable
503 */
504 #define PDM_MIS_OVFL 0x00000040U
505 #define PDM_MIS_OVFL_M 0x00000040U
506 #define PDM_MIS_OVFL_S 6U
507 #define PDM_MIS_OVFL_CLR 0x00000000U
508 #define PDM_MIS_OVFL_SET 0x00000040U
509 /*
510 
511  Field: UNFL
512  From..to bits: 7...7
513  DefaultValue: 0x0
514  Access type: read-only
515  Description: Masked Data Underflow event.
516 
517  ENUMs:
518  CLR: Interrupt disable
519  SET: Interrrupt Enable
520 */
521 #define PDM_MIS_UNFL 0x00000080U
522 #define PDM_MIS_UNFL_M 0x00000080U
523 #define PDM_MIS_UNFL_S 7U
524 #define PDM_MIS_UNFL_CLR 0x00000000U
525 #define PDM_MIS_UNFL_SET 0x00000080U
526 /*
527 
528  Field: STPTRIG
529  From..to bits: 8...8
530  DefaultValue: 0x0
531  Access type: read-only
532  Description: Masked Samplestamp Trigger event.
533 
534  ENUMs:
535  SET: Interrrupt Enable
536  CLR: Interrupt did not occur
537 */
538 #define PDM_MIS_STPTRIG 0x00000100U
539 #define PDM_MIS_STPTRIG_M 0x00000100U
540 #define PDM_MIS_STPTRIG_S 8U
541 #define PDM_MIS_STPTRIG_SET 0x00000100U
542 #define PDM_MIS_STPTRIG_CLR 0x00000000U
543 /*
544 
545  Field: DMADONE
546  From..to bits: 9...9
547  DefaultValue: 0x0
548  Access type: read-only
549  Description: Masked DMA Done event.
550 
551  ENUMs:
552  CLR: Interrupt disable
553  SET: Interrrupt Enable
554 */
555 #define PDM_MIS_DMADONE 0x00000200U
556 #define PDM_MIS_DMADONE_M 0x00000200U
557 #define PDM_MIS_DMADONE_S 9U
558 #define PDM_MIS_DMADONE_CLR 0x00000000U
559 #define PDM_MIS_DMADONE_SET 0x00000200U
560 
561 
562 /*-----------------------------------REGISTER------------------------------------
563  Register name: ISET
564  Offset name: PDM_O_ISET
565  Relative address: 0x50
566  Description: Interrupt set. Allows interrupts to be set by software (useful in diagnostics and safety checks). Writing a 1 to a bit in ISET will set the event and therefore the related RIS bit also gets set. If the interrupt is enabled through the mask, then the corresponding MIS bit is also set.
567  Default Value: 0x00000000
568 
569  Field: PDMDATA
570  From..to bits: 0...0
571  DefaultValue: 0x0
572  Access type: write-only
573  Description: Set PDMDATA event.
574 
575  ENUMs:
576  NO_EFFECT: Interrupt disable
577  SET: Interrrupt Enable
578 */
579 #define PDM_ISET_PDMDATA 0x00000001U
580 #define PDM_ISET_PDMDATA_M 0x00000001U
581 #define PDM_ISET_PDMDATA_S 0U
582 #define PDM_ISET_PDMDATA_NO_EFFECT 0x00000000U
583 #define PDM_ISET_PDMDATA_SET 0x00000001U
584 /*
585 
586  Field: OVFL
587  From..to bits: 6...6
588  DefaultValue: 0x0
589  Access type: write-only
590  Description: Set Data Overflow event.
591 
592  ENUMs:
593  NO_EFFECT: Interrupt disable
594  SET: Interrrupt Enable
595 */
596 #define PDM_ISET_OVFL 0x00000040U
597 #define PDM_ISET_OVFL_M 0x00000040U
598 #define PDM_ISET_OVFL_S 6U
599 #define PDM_ISET_OVFL_NO_EFFECT 0x00000000U
600 #define PDM_ISET_OVFL_SET 0x00000040U
601 /*
602 
603  Field: UNFL
604  From..to bits: 7...7
605  DefaultValue: 0x0
606  Access type: write-only
607  Description: Set Data Underflow event.
608 
609  ENUMs:
610  NO_EFFECT: Interrupt disable
611  SET: Interrrupt Enable
612 */
613 #define PDM_ISET_UNFL 0x00000080U
614 #define PDM_ISET_UNFL_M 0x00000080U
615 #define PDM_ISET_UNFL_S 7U
616 #define PDM_ISET_UNFL_NO_EFFECT 0x00000000U
617 #define PDM_ISET_UNFL_SET 0x00000080U
618 /*
619 
620  Field: STPTRIG
621  From..to bits: 8...8
622  DefaultValue: 0x0
623  Access type: write-only
624  Description: Set Samplestamp Trigger event.
625 
626  ENUMs:
627  SET: Interrrupt Enable
628  NO_EFFECT: Writing 0 has no effect
629 */
630 #define PDM_ISET_STPTRIG 0x00000100U
631 #define PDM_ISET_STPTRIG_M 0x00000100U
632 #define PDM_ISET_STPTRIG_S 8U
633 #define PDM_ISET_STPTRIG_SET 0x00000100U
634 #define PDM_ISET_STPTRIG_NO_EFFECT 0x00000000U
635 /*
636 
637  Field: DMADONE
638  From..to bits: 9...9
639  DefaultValue: 0x0
640  Access type: write-only
641  Description: Set DMA Done event.
642 
643  ENUMs:
644  NO_EFFECT: Interrupt disable
645  SET: Interrrupt Enable
646 */
647 #define PDM_ISET_DMADONE 0x00000200U
648 #define PDM_ISET_DMADONE_M 0x00000200U
649 #define PDM_ISET_DMADONE_S 9U
650 #define PDM_ISET_DMADONE_NO_EFFECT 0x00000000U
651 #define PDM_ISET_DMADONE_SET 0x00000200U
652 
653 
654 /*-----------------------------------REGISTER------------------------------------
655  Register name: ICLR
656  Offset name: PDM_O_ICLR
657  Relative address: 0x54
658  Description: Interrupt clear. Write a 1 to clear corresponding Interrupt.
659  Default Value: 0x00000000
660 
661  Field: PDMDATA
662  From..to bits: 0...0
663  DefaultValue: 0x0
664  Access type: write-only
665  Description: Clear PDMDATA event.
666 
667  ENUMs:
668  NO_EFFECT: Interrupt disable
669  CLR: Interrrupt Enable
670 */
671 #define PDM_ICLR_PDMDATA 0x00000001U
672 #define PDM_ICLR_PDMDATA_M 0x00000001U
673 #define PDM_ICLR_PDMDATA_S 0U
674 #define PDM_ICLR_PDMDATA_NO_EFFECT 0x00000000U
675 #define PDM_ICLR_PDMDATA_CLR 0x00000001U
676 /*
677 
678  Field: OVFL
679  From..to bits: 6...6
680  DefaultValue: 0x0
681  Access type: write-only
682  Description: Clear Data Overflow event.
683 
684 
685  ENUMs:
686  NO_EFFECT: Interrupt disable
687  CLR: Interrrupt Enable
688 */
689 #define PDM_ICLR_OVFL 0x00000040U
690 #define PDM_ICLR_OVFL_M 0x00000040U
691 #define PDM_ICLR_OVFL_S 6U
692 #define PDM_ICLR_OVFL_NO_EFFECT 0x00000000U
693 #define PDM_ICLR_OVFL_CLR 0x00000040U
694 /*
695 
696  Field: UNFL
697  From..to bits: 7...7
698  DefaultValue: 0x0
699  Access type: write-only
700  Description: Clear Data Underflow event.
701 
702 
703  ENUMs:
704  NO_EFFECT: Interrupt disable
705  CLR: Interrrupt Enable
706 */
707 #define PDM_ICLR_UNFL 0x00000080U
708 #define PDM_ICLR_UNFL_M 0x00000080U
709 #define PDM_ICLR_UNFL_S 7U
710 #define PDM_ICLR_UNFL_NO_EFFECT 0x00000000U
711 #define PDM_ICLR_UNFL_CLR 0x00000080U
712 /*
713 
714  Field: STPTRIG
715  From..to bits: 8...8
716  DefaultValue: 0x0
717  Access type: write-only
718  Description: Clear Samplestamp Trigger event.
719 
720  ENUMs:
721  CLR: Interrrupt Enable
722  NO_EFFECT: Writing 0 has no effect
723 */
724 #define PDM_ICLR_STPTRIG 0x00000100U
725 #define PDM_ICLR_STPTRIG_M 0x00000100U
726 #define PDM_ICLR_STPTRIG_S 8U
727 #define PDM_ICLR_STPTRIG_CLR 0x00000100U
728 #define PDM_ICLR_STPTRIG_NO_EFFECT 0x00000000U
729 /*
730 
731  Field: DMADONE
732  From..to bits: 9...9
733  DefaultValue: 0x0
734  Access type: write-only
735  Description: Clear DMA Done event.
736 
737  ENUMs:
738  NO_EFFECT: Interrupt disable
739  CLR: Interrrupt Enable
740 */
741 #define PDM_ICLR_DMADONE 0x00000200U
742 #define PDM_ICLR_DMADONE_M 0x00000200U
743 #define PDM_ICLR_DMADONE_S 9U
744 #define PDM_ICLR_DMADONE_NO_EFFECT 0x00000000U
745 #define PDM_ICLR_DMADONE_CLR 0x00000200U
746 
747 
748 /*-----------------------------------REGISTER------------------------------------
749  Register name: EMU
750  Offset name: PDM_O_EMU
751  Relative address: 0x60
752  Description: This register can be used by the software developer to control the behavior of the peripheral relative to the 'Core Halted' input
753  Default Value: 0x00000000
754 
755  Field: HALT
756  From..to bits: 0...0
757  DefaultValue: 0x0
758  Access type: read-write
759  Description: Free run control
760 
761  ENUMs:
762  STOP: The peripheral freezes functionality while the Core Halted input is asserted and resumes when it is deasserted.
763  RUN: The peripheral ignores the state of the Core Halted input
764 */
765 #define PDM_EMU_HALT 0x00000001U
766 #define PDM_EMU_HALT_M 0x00000001U
767 #define PDM_EMU_HALT_S 0U
768 #define PDM_EMU_HALT_STOP 0x00000001U
769 #define PDM_EMU_HALT_RUN 0x00000000U
770 
771 
772 /*-----------------------------------REGISTER------------------------------------
773  Register name: CTL
774  Offset name: PDM_O_CTL
775  Relative address: 0x100
776  Description: PDM control register
777  Default Value: 0x00000000
778 
779  Field: ENPDM
780  From..to bits: 0...0
781  DefaultValue: 0x0
782  Access type: read-write
783  Description: Enable conversion on *PDM*
784 
785  ENUMs:
786  DIS: Disable Channel
787  EN: Enable Channel
788 */
789 #define PDM_CTL_ENPDM 0x00000001U
790 #define PDM_CTL_ENPDM_M 0x00000001U
791 #define PDM_CTL_ENPDM_S 0U
792 #define PDM_CTL_ENPDM_DIS 0x00000000U
793 #define PDM_CTL_ENPDM_EN 0x00000001U
794 
795 
796 /*-----------------------------------REGISTER------------------------------------
797  Register name: ICLKCTL
798  Offset name: PDM_O_ICLKCTL
799  Relative address: 0x104
800  Description: Input clock Control Register
801  Default Value: 0x00000000
802 
803  Field: IDIV
804  From..to bits: 0...9
805  DefaultValue: 0x0
806  Access type: read-write
807  Description: Divider for ICLK
808  iclk = PLLCLK/(ICLK +1)
809 
810  ENUMs:
811  MIN: Minimum value of BDIV
812  MAX: Maximum value of BDIV
813 */
814 #define PDM_ICLKCTL_IDIV_W 10U
815 #define PDM_ICLKCTL_IDIV_M 0x000003FFU
816 #define PDM_ICLKCTL_IDIV_S 0U
817 #define PDM_ICLKCTL_IDIV_MIN 0x00000000U
818 #define PDM_ICLKCTL_IDIV_MAX 0x000003FFU
819 /*
820 
821  Field: BCLKEN
822  From..to bits: 16...16
823  DefaultValue: 0x0
824  Access type: read-write
825  Description: This bit is used to enable BCLK to Sigma-Delta Modulator on-chip.
826 
827  ENUMs:
828  DIS: BCLK is disabled
829  EN: BCLK is enabled
830 */
831 #define PDM_ICLKCTL_BCLKEN 0x00010000U
832 #define PDM_ICLKCTL_BCLKEN_M 0x00010000U
833 #define PDM_ICLKCTL_BCLKEN_S 16U
834 #define PDM_ICLKCTL_BCLKEN_DIS 0x00000000U
835 #define PDM_ICLKCTL_BCLKEN_EN 0x00010000U
836 /*
837 
838  Field: RESERED17
839  From..to bits: 17...31
840  DefaultValue: 0x0
841  Access type: read-only
842  Description: Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior.
843 
844 */
845 #define PDM_ICLKCTL_RESERED17_W 15U
846 #define PDM_ICLKCTL_RESERED17_M 0xFFFE0000U
847 #define PDM_ICLKCTL_RESERED17_S 17U
848 
849 
850 /*-----------------------------------REGISTER------------------------------------
851  Register name: FIFOCTL1
852  Offset name: PDM_O_FIFOCTL1
853  Relative address: 0x108
854  Description: PDM FIFO control register
855  Default Value: 0x00000000
856 
857  Field: ENFIFO0
858  From..to bits: 0...0
859  DefaultValue: 0x0
860  Access type: read-write
861  Description: Enable FIFO0 for DMA access through the [FIFODATA] Register
862 
863  ENUMs:
864  DIS: Disable Channel
865  EN: Enable Channel
866 */
867 #define PDM_FIFOCTL1_ENFIFO0 0x00000001U
868 #define PDM_FIFOCTL1_ENFIFO0_M 0x00000001U
869 #define PDM_FIFOCTL1_ENFIFO0_S 0U
870 #define PDM_FIFOCTL1_ENFIFO0_DIS 0x00000000U
871 #define PDM_FIFOCTL1_ENFIFO0_EN 0x00000001U
872 /*
873 
874  Field: ENFIFO1
875  From..to bits: 1...1
876  DefaultValue: 0x0
877  Access type: read-write
878  Description: Enable FIFO1 for DMA access through the [FIFODATA] Register
879 
880  ENUMs:
881  DIS: Disable Channel
882  EN: Enable Channel
883 */
884 #define PDM_FIFOCTL1_ENFIFO1 0x00000002U
885 #define PDM_FIFOCTL1_ENFIFO1_M 0x00000002U
886 #define PDM_FIFOCTL1_ENFIFO1_S 1U
887 #define PDM_FIFOCTL1_ENFIFO1_DIS 0x00000000U
888 #define PDM_FIFOCTL1_ENFIFO1_EN 0x00000002U
889 
890 
891 /*-----------------------------------REGISTER------------------------------------
892  Register name: FIFODATA
893  Offset name: PDM_O_FIFODATA
894  Relative address: 0x10C
895  Description: *FIFO* Data Register (FIFO read)
896  This register provides the Data of the FIFO based on [FIFOCTL.ENFIFO0] and [FIFOCTL.ENFIFO1]
897  This allows the DMA to just have single address to read all the FIFO content when triggered.
898  Default Value: 0x00000000
899 
900  Field: VALUE
901  From..to bits: 0...31
902  DefaultValue: 0x0
903  Access type: read-only
904  Description: FIFO Read Register
905 
906  ENUMs:
907  MINIMUM: Smallest value
908  MAXIMUM: Highest possible value
909 */
910 #define PDM_FIFODATA_VALUE_W 32U
911 #define PDM_FIFODATA_VALUE_M 0xFFFFFFFFU
912 #define PDM_FIFODATA_VALUE_S 0U
913 #define PDM_FIFODATA_VALUE_MINIMUM 0x00000000U
914 #define PDM_FIFODATA_VALUE_MAXIMUM 0xFFFFFFFFU
915 
916 
917 /*-----------------------------------REGISTER------------------------------------
918  Register name: CCTL
919  Offset name: PDM_O_CCTL
920  Relative address: 0x110
921  Description: PDM Channel control register
922  Default Value: 0x00700000
923 
924  Field: CHEN
925  From..to bits: 0...2
926  DefaultValue: 0x0
927  Access type: read-write
928  Description: Data Input Configuration
929 
930  ENUMs:
931  CH0ENABLE: Input channel 0 is enabled.
932  CH0_1ENABLE: Input channel 1 is enabled.
933  MANC: Input from Manchester Decoder, also enables Manchester Coding of bitstream.
934  CH0 is enabled by default as the operation and CH1 enable bit is discarded.
935  DISABLE: Both Channels are disabled.
936 */
937 #define PDM_CCTL_CHEN_W 3U
938 #define PDM_CCTL_CHEN_M 0x00000007U
939 #define PDM_CCTL_CHEN_S 0U
940 #define PDM_CCTL_CHEN_CH0ENABLE 0x00000001U
941 #define PDM_CCTL_CHEN_CH0_1ENABLE 0x00000002U
942 #define PDM_CCTL_CHEN_MANC 0x00000004U
943 #define PDM_CCTL_CHEN_DISABLE 0x00000000U
944 /*
945 
946  Field: DFS
947  From..to bits: 8...9
948  DefaultValue: 0x0
949  Access type: read-write
950  Description: Digital Filter Select
951 
952  ENUMs:
953  SINC1: SINC1 filter
954  SINC2: SINC2 filter
955  SINC3: SINC3 filter
956  SINC4: SINC4 filter
957 */
958 #define PDM_CCTL_DFS_W 2U
959 #define PDM_CCTL_DFS_M 0x00000300U
960 #define PDM_CCTL_DFS_S 8U
961 #define PDM_CCTL_DFS_SINC1 0x00000000U
962 #define PDM_CCTL_DFS_SINC2 0x00000100U
963 #define PDM_CCTL_DFS_SINC3 0x00000200U
964 #define PDM_CCTL_DFS_SINC4 0x00000300U
965 /*
966 
967  Field: ALIGN
968  From..to bits: 10...10
969  DefaultValue: 0x0
970  Access type: read-write
971  Description: Data alignment
972 
973  ENUMs:
974  RIGHT: Right-aligned. LSB of filter output is bit 0.
975  LEFT: Left-aligned. MSB of filter output (depending on OSR) is bit 31.
976 */
977 #define PDM_CCTL_ALIGN 0x00000400U
978 #define PDM_CCTL_ALIGN_M 0x00000400U
979 #define PDM_CCTL_ALIGN_S 10U
980 #define PDM_CCTL_ALIGN_RIGHT 0x00000000U
981 #define PDM_CCTL_ALIGN_LEFT 0x00000400U
982 /*
983 
984  Field: DATAFMT
985  From..to bits: 11...11
986  DefaultValue: 0x0
987  Access type: read-write
988  Description: Data Format
989 
990  ENUMs:
991  OFFSET: Offset binary
992  TWOSCOMP: Twos complement
993 */
994 #define PDM_CCTL_DATAFMT 0x00000800U
995 #define PDM_CCTL_DATAFMT_M 0x00000800U
996 #define PDM_CCTL_DATAFMT_S 11U
997 #define PDM_CCTL_DATAFMT_OFFSET 0x00000000U
998 #define PDM_CCTL_DATAFMT_TWOSCOMP 0x00000800U
999 /*
1000 
1001  Field: ENPKCH0
1002  From..to bits: 16...16
1003  DefaultValue: 0x0
1004  Access type: read-write
1005  Description: Enables peak value detection for channel-0
1006 
1007  ENUMs:
1008  EN: Enables peak value detection for channel-0
1009  DIS: Disables peak value detection for channel-0
1010 */
1011 #define PDM_CCTL_ENPKCH0 0x00010000U
1012 #define PDM_CCTL_ENPKCH0_M 0x00010000U
1013 #define PDM_CCTL_ENPKCH0_S 16U
1014 #define PDM_CCTL_ENPKCH0_EN 0x00010000U
1015 #define PDM_CCTL_ENPKCH0_DIS 0x00000000U
1016 /*
1017 
1018  Field: ENPKCH1
1019  From..to bits: 17...17
1020  DefaultValue: 0x0
1021  Access type: read-write
1022  Description: Enables peak value detection for channel-0
1023 
1024  ENUMs:
1025  EN: Enables peak value detection for channel-1
1026  DIS: Enables peak value detection for channel-1
1027 */
1028 #define PDM_CCTL_ENPKCH1 0x00020000U
1029 #define PDM_CCTL_ENPKCH1_M 0x00020000U
1030 #define PDM_CCTL_ENPKCH1_S 17U
1031 #define PDM_CCTL_ENPKCH1_EN 0x00020000U
1032 #define PDM_CCTL_ENPKCH1_DIS 0x00000000U
1033 /*
1034 
1035  Field: ENPOWCH0
1036  From..to bits: 18...18
1037  DefaultValue: 0x0
1038  Access type: read-write
1039  Description: Enables average power calculation for channel-0
1040 
1041  ENUMs:
1042  EN: Enables average power calculation for channel-0
1043  DIS: Disables average power calculation for channel-0
1044 */
1045 #define PDM_CCTL_ENPOWCH0 0x00040000U
1046 #define PDM_CCTL_ENPOWCH0_M 0x00040000U
1047 #define PDM_CCTL_ENPOWCH0_S 18U
1048 #define PDM_CCTL_ENPOWCH0_EN 0x00040000U
1049 #define PDM_CCTL_ENPOWCH0_DIS 0x00000000U
1050 /*
1051 
1052  Field: ENPOWCH1
1053  From..to bits: 19...19
1054  DefaultValue: 0x0
1055  Access type: read-write
1056  Description: Enables average power calculation for channel-1
1057 
1058  ENUMs:
1059  EN: Enables average power calculation for channel-1
1060  DIS: Enables average power calculation for channel-1
1061 */
1062 #define PDM_CCTL_ENPOWCH1 0x00080000U
1063 #define PDM_CCTL_ENPOWCH1_M 0x00080000U
1064 #define PDM_CCTL_ENPOWCH1_S 19U
1065 #define PDM_CCTL_ENPOWCH1_EN 0x00080000U
1066 #define PDM_CCTL_ENPOWCH1_DIS 0x00000000U
1067 /*
1068 
1069  Field: SELSCALE
1070  From..to bits: 20...22
1071  DefaultValue: 0x7
1072  Access type: read-write
1073  Description: Select scaling factor for the averaging blocks. Selscale value used internally is 1/(2^(3+VALUE))
1074  Ex: When value is 0, selscale is 1/8, and when value is 7, selscale is 1/1024
1075 
1076  ENUMs:
1077  VAL0: Scaling factor is 1/8
1078  VAL1: Scaling factor is 1/16
1079  VAL2: Scaling factor is 1/32
1080  VAL3: Scaling factor is 1/64
1081  VAL4: Scaling factor is 1/128
1082  VAL5: Scaling factor is 1/256
1083  VAL6: Scaling factor is 1/512
1084  VAL7: Scaling factor is 1/1024
1085 */
1086 #define PDM_CCTL_SELSCALE_W 3U
1087 #define PDM_CCTL_SELSCALE_M 0x00700000U
1088 #define PDM_CCTL_SELSCALE_S 20U
1089 #define PDM_CCTL_SELSCALE_VAL0 0x00000000U
1090 #define PDM_CCTL_SELSCALE_VAL1 0x00100000U
1091 #define PDM_CCTL_SELSCALE_VAL2 0x00200000U
1092 #define PDM_CCTL_SELSCALE_VAL3 0x00300000U
1093 #define PDM_CCTL_SELSCALE_VAL4 0x00400000U
1094 #define PDM_CCTL_SELSCALE_VAL5 0x00500000U
1095 #define PDM_CCTL_SELSCALE_VAL6 0x00600000U
1096 #define PDM_CCTL_SELSCALE_VAL7 0x00700000U
1097 /*
1098 
1099  Field: CH0CLKEG
1100  From..to bits: 24...24
1101  DefaultValue: 0x0
1102  Access type: read-write
1103  Description: Select the clock edge for data channel 0
1104 
1105  ENUMs:
1106  RISING: Rising edge is selected
1107  FALLING: Failing edge is selected
1108 */
1109 #define PDM_CCTL_CH0CLKEG 0x01000000U
1110 #define PDM_CCTL_CH0CLKEG_M 0x01000000U
1111 #define PDM_CCTL_CH0CLKEG_S 24U
1112 #define PDM_CCTL_CH0CLKEG_RISING 0x00000000U
1113 #define PDM_CCTL_CH0CLKEG_FALLING 0x01000000U
1114 /*
1115 
1116  Field: CH0IPSEL
1117  From..to bits: 25...26
1118  DefaultValue: 0x0
1119  Access type: read-write
1120  Description: Channel 0 Data Input Select
1121 
1122  ENUMs:
1123  DATA0: Data pin 0 selected as source for channel 0.
1124  DATA1: Data pin 1 selected as source for channel 0.
1125  SDM: SDM output selected as source for channel 0.
1126  RESERVED: Data pin 0 selected as source for channel 0.
1127 */
1128 #define PDM_CCTL_CH0IPSEL_W 2U
1129 #define PDM_CCTL_CH0IPSEL_M 0x06000000U
1130 #define PDM_CCTL_CH0IPSEL_S 25U
1131 #define PDM_CCTL_CH0IPSEL_DATA0 0x00000000U
1132 #define PDM_CCTL_CH0IPSEL_DATA1 0x02000000U
1133 #define PDM_CCTL_CH0IPSEL_SDM 0x04000000U
1134 #define PDM_CCTL_CH0IPSEL_RESERVED 0x06000000U
1135 /*
1136 
1137  Field: CH1CLKEG
1138  From..to bits: 28...28
1139  DefaultValue: 0x0
1140  Access type: read-write
1141  Description: Select the clock edge for data channel 1
1142 
1143  ENUMs:
1144  RISING: Rising edge is selected
1145  FALLING: Failing edge is selected
1146 */
1147 #define PDM_CCTL_CH1CLKEG 0x10000000U
1148 #define PDM_CCTL_CH1CLKEG_M 0x10000000U
1149 #define PDM_CCTL_CH1CLKEG_S 28U
1150 #define PDM_CCTL_CH1CLKEG_RISING 0x00000000U
1151 #define PDM_CCTL_CH1CLKEG_FALLING 0x10000000U
1152 /*
1153 
1154  Field: CH1IPSEL
1155  From..to bits: 29...30
1156  DefaultValue: 0x0
1157  Access type: read-write
1158  Description: Channel 1 Data Input Select
1159 
1160  ENUMs:
1161  DATA0: Data pin 0 selected as source for channel 1.
1162  DATA1: Data pin 1 selected as source for channel 1.
1163  SDM: SDM output selected as source for channel 1.
1164  RESERVED: Data pin 0 selected as source for channel 1.
1165 */
1166 #define PDM_CCTL_CH1IPSEL_W 2U
1167 #define PDM_CCTL_CH1IPSEL_M 0x60000000U
1168 #define PDM_CCTL_CH1IPSEL_S 29U
1169 #define PDM_CCTL_CH1IPSEL_DATA0 0x00000000U
1170 #define PDM_CCTL_CH1IPSEL_DATA1 0x20000000U
1171 #define PDM_CCTL_CH1IPSEL_SDM 0x40000000U
1172 #define PDM_CCTL_CH1IPSEL_RESERVED 0x60000000U
1173 
1174 
1175 /*-----------------------------------REGISTER------------------------------------
1176  Register name: OSR
1177  Offset name: PDM_O_OSR
1178  Relative address: 0x114
1179  Description: Oversampling Control Register
1180  Default Value: 0x0000003F
1181 
1182  Field: VALUE
1183  From..to bits: 0...7
1184  DefaultValue: 0x3F
1185  Access type: read-write
1186  Description: Oversampling rate. The oversampling rate is defined as OSRx + 1.
1187  Applicable oversampling rates are 2 to 256. Default is 64.
1188 
1189  ENUMs:
1190  MINIMUM: Smallest value
1191  MAXIMUM: Highest possible value
1192 */
1193 #define PDM_OSR_VALUE_W 8U
1194 #define PDM_OSR_VALUE_M 0x000000FFU
1195 #define PDM_OSR_VALUE_S 0U
1196 #define PDM_OSR_VALUE_MINIMUM 0x00000001U
1197 #define PDM_OSR_VALUE_MAXIMUM 0x000000FFU
1198 
1199 
1200 /*-----------------------------------REGISTER------------------------------------
1201  Register name: STA
1202  Offset name: PDM_O_STA
1203  Relative address: 0x118
1204  Description: PDM control register
1205  Default Value: 0x00000000
1206 
1207  Field: AGCRDY
1208  From..to bits: 0...0
1209  DefaultValue: 0x0
1210  Access type: read-only
1211  Description: *AGC* accelerator ready status. Software must read AGCVALx, PKVALx and AVGPOWx registers only when AGCRDY is '1'. Reading these registers while AGCRDY is 0 may provide incorrect values.
1212 
1213  ENUMs:
1214  NOT_RDY: Not ready
1215  RDY: Ready
1216 */
1217 #define PDM_STA_AGCRDY 0x00000001U
1218 #define PDM_STA_AGCRDY_M 0x00000001U
1219 #define PDM_STA_AGCRDY_S 0U
1220 #define PDM_STA_AGCRDY_NOT_RDY 0x00000000U
1221 #define PDM_STA_AGCRDY_RDY 0x00000001U
1222 /*
1223 
1224  Field: MANCLK
1225  From..to bits: 17...17
1226  DefaultValue: 0x0
1227  Access type: read-only
1228  Description: Manchester Clock status.
1229  Indicates that Manchester mode is in locked mode or not.
1230 
1231  ENUMs:
1232  UNLOCKED: Manchester clock not locked.
1233  LOCKED: Manchester clock locked.
1234 */
1235 #define PDM_STA_MANCLK 0x00020000U
1236 #define PDM_STA_MANCLK_M 0x00020000U
1237 #define PDM_STA_MANCLK_S 17U
1238 #define PDM_STA_MANCLK_UNLOCKED 0x00000000U
1239 #define PDM_STA_MANCLK_LOCKED 0x00020000U
1240 
1241 
1242 /*-----------------------------------REGISTER------------------------------------
1243  Register name: FIFOCTL2
1244  Offset name: PDM_O_FIFOCTL2
1245  Relative address: 0x120
1246  Description: FIFO Control
1247  Default Value: 0x00000000
1248 
1249  Field: TRGLVL
1250  From..to bits: 0...3
1251  DefaultValue: 0x0
1252  Access type: read-write
1253  Description: FIFO Trigger Level Select Sets the trigger points for the FIFO events.
1254  Note: FIFO depth is only 2 the level 1/4 and 3/4 default to 1/2.
1255 
1256  ENUMs:
1257  LEVEL_1: Trigger when RX FIFO contains >= 1 byte
1258  LEVEL_2: Trigger when RX FIFO contains >= 2 byte
1259  LEVEL_3: Trigger when RX FIFO contains >= 3 byte
1260  LEVEL_4: Trigger when RX FIFO contains >= 4 byte
1261  LEVEL_5: Trigger when RX FIFO contains >= 5 byte
1262  LEVEL_6: Trigger when RX FIFO contains >= 6 byte
1263  LEVEL_7: Trigger when RX FIFO contains >= 7 byte
1264  LEVEL_8: Trigger when RX FIFO contains >= 8 byte
1265  LEVEL_9: Trigger when RX FIFO contains >= 9 byte
1266  LEVEL_10: Trigger when RX FIFO contains >= 10 byte
1267  LEVEL_11: Trigger when RX FIFO contains >= 11 byte
1268  LEVEL_12: Trigger when RX FIFO contains >= 12 byte
1269 */
1270 #define PDM_FIFOCTL2_TRGLVL_W 4U
1271 #define PDM_FIFOCTL2_TRGLVL_M 0x0000000FU
1272 #define PDM_FIFOCTL2_TRGLVL_S 0U
1273 #define PDM_FIFOCTL2_TRGLVL_LEVEL_1 0x00000000U
1274 #define PDM_FIFOCTL2_TRGLVL_LEVEL_2 0x00000001U
1275 #define PDM_FIFOCTL2_TRGLVL_LEVEL_3 0x00000002U
1276 #define PDM_FIFOCTL2_TRGLVL_LEVEL_4 0x00000003U
1277 #define PDM_FIFOCTL2_TRGLVL_LEVEL_5 0x00000004U
1278 #define PDM_FIFOCTL2_TRGLVL_LEVEL_6 0x00000005U
1279 #define PDM_FIFOCTL2_TRGLVL_LEVEL_7 0x00000006U
1280 #define PDM_FIFOCTL2_TRGLVL_LEVEL_8 0x00000007U
1281 #define PDM_FIFOCTL2_TRGLVL_LEVEL_9 0x00000008U
1282 #define PDM_FIFOCTL2_TRGLVL_LEVEL_10 0x00000009U
1283 #define PDM_FIFOCTL2_TRGLVL_LEVEL_11 0x0000000AU
1284 #define PDM_FIFOCTL2_TRGLVL_LEVEL_12 0x0000000BU
1285 /*
1286 
1287  Field: FIFOFLSH
1288  From..to bits: 7...7
1289  DefaultValue: 0x0
1290  Access type: read-write
1291  Description: FIFO Flush
1292  Setting this bit will Flush the FIFO. This bit will self-clear when the
1293  flush has completed.
1294 
1295  ENUMs:
1296  NOFLUSH: Do not Flush FIFO
1297  FLUSH: Flush FIFO
1298 */
1299 #define PDM_FIFOCTL2_FIFOFLSH 0x00000080U
1300 #define PDM_FIFOCTL2_FIFOFLSH_M 0x00000080U
1301 #define PDM_FIFOCTL2_FIFOFLSH_S 7U
1302 #define PDM_FIFOCTL2_FIFOFLSH_NOFLUSH 0x00000000U
1303 #define PDM_FIFOCTL2_FIFOFLSH_FLUSH 0x00000080U
1304 
1305 
1306 /*-----------------------------------REGISTER------------------------------------
1307  Register name: FIFOSR
1308  Offset name: PDM_O_FIFOSR
1309  Relative address: 0x124
1310  Description: FIFO Status Register.
1311  Default Value: 0x00000000
1312 
1313  Field: CH0FCNT
1314  From..to bits: 0...3
1315  DefaultValue: 0x0
1316  Access type: read-only
1317  Description: Number of Bytes which could be read from the CH0 FIFO
1318 
1319  ENUMs:
1320  MINIMUM: Smallest value
1321  MAXIMUM: Highest possible value
1322 */
1323 #define PDM_FIFOSR_CH0FCNT_W 4U
1324 #define PDM_FIFOSR_CH0FCNT_M 0x0000000FU
1325 #define PDM_FIFOSR_CH0FCNT_S 0U
1326 #define PDM_FIFOSR_CH0FCNT_MINIMUM 0x00000000U
1327 #define PDM_FIFOSR_CH0FCNT_MAXIMUM 0x0000000FU
1328 /*
1329 
1330  Field: CH0FEMP
1331  From..to bits: 6...6
1332  DefaultValue: 0x0
1333  Access type: read-only
1334  Description: CH0 FIFO Empty
1335 
1336  ENUMs:
1337  CLEARED: The receiver is not empty.
1338  SET: If the FIFO is disabled (FEN is 0), the receive holding register is empty. If the FIFO is enabled (FEN is 1), the receive FIFO is empty.
1339 */
1340 #define PDM_FIFOSR_CH0FEMP 0x00000040U
1341 #define PDM_FIFOSR_CH0FEMP_M 0x00000040U
1342 #define PDM_FIFOSR_CH0FEMP_S 6U
1343 #define PDM_FIFOSR_CH0FEMP_CLEARED 0x00000000U
1344 #define PDM_FIFOSR_CH0FEMP_SET 0x00000040U
1345 /*
1346 
1347  Field: CH0FFULL
1348  From..to bits: 7...7
1349  DefaultValue: 0x0
1350  Access type: read-only
1351  Description: CH0 FIFO Full
1352 
1353  ENUMs:
1354  CLEARED: The receiver can receive data.
1355  SET: If the FIFO is disabled (FEN is 0), the receive holding register is full. If the FIFO is enabled (FEN is 1), the receive FIFO is full.
1356 */
1357 #define PDM_FIFOSR_CH0FFULL 0x00000080U
1358 #define PDM_FIFOSR_CH0FFULL_M 0x00000080U
1359 #define PDM_FIFOSR_CH0FFULL_S 7U
1360 #define PDM_FIFOSR_CH0FFULL_CLEARED 0x00000000U
1361 #define PDM_FIFOSR_CH0FFULL_SET 0x00000080U
1362 /*
1363 
1364  Field: CH1FCNT
1365  From..to bits: 8...11
1366  DefaultValue: 0x0
1367  Access type: read-only
1368  Description: Number of Bytes which could be read from the CH1 FIFO
1369 
1370  ENUMs:
1371  MINIMUM: Smallest value
1372  MAXIMUM: Highest possible value
1373 */
1374 #define PDM_FIFOSR_CH1FCNT_W 4U
1375 #define PDM_FIFOSR_CH1FCNT_M 0x00000F00U
1376 #define PDM_FIFOSR_CH1FCNT_S 8U
1377 #define PDM_FIFOSR_CH1FCNT_MINIMUM 0x00000000U
1378 #define PDM_FIFOSR_CH1FCNT_MAXIMUM 0x00000F00U
1379 /*
1380 
1381  Field: CH1FEMP
1382  From..to bits: 14...14
1383  DefaultValue: 0x0
1384  Access type: read-only
1385  Description: CH1 FIFO Empty
1386 
1387  ENUMs:
1388  CLEARED: The transmitter has data to transmit.
1389  SET: If the FIFO is disabled (FEN is 0), the transmit holding register is empty. If the FIFO is enabled (FEN is 1), the transmit FIFO is empty.
1390 */
1391 #define PDM_FIFOSR_CH1FEMP 0x00004000U
1392 #define PDM_FIFOSR_CH1FEMP_M 0x00004000U
1393 #define PDM_FIFOSR_CH1FEMP_S 14U
1394 #define PDM_FIFOSR_CH1FEMP_CLEARED 0x00000000U
1395 #define PDM_FIFOSR_CH1FEMP_SET 0x00004000U
1396 /*
1397 
1398  Field: CH1FFULL
1399  From..to bits: 15...15
1400  DefaultValue: 0x0
1401  Access type: read-only
1402  Description: CH1 FIFO Full
1403 
1404  ENUMs:
1405  CLEARED: The transmitter is not full.
1406  SET: If the FIFO is disabled (FEN is 0), the transmit holding register is full. If the FIFO is enabled (FEN is 1), the transmit FIFO is full.
1407 */
1408 #define PDM_FIFOSR_CH1FFULL 0x00008000U
1409 #define PDM_FIFOSR_CH1FFULL_M 0x00008000U
1410 #define PDM_FIFOSR_CH1FFULL_S 15U
1411 #define PDM_FIFOSR_CH1FFULL_CLEARED 0x00000000U
1412 #define PDM_FIFOSR_CH1FFULL_SET 0x00008000U
1413 
1414 
1415 /*-----------------------------------REGISTER------------------------------------
1416  Register name: AVGVAL0
1417  Offset name: PDM_O_AVGVAL0
1418  Relative address: 0x200
1419  Description: Average sample value for channel-0, 32-bit register.
1420  Default Value: 0x00000000
1421 
1422  Field: VALUE
1423  From..to bits: 0...31
1424  DefaultValue: 0x0
1425  Access type: read-only
1426  Description: Average sample value for channel-0
1427 
1428  ENUMs:
1429  MINIMUM: Minimum value of register
1430  MAXIMUM: Highest value
1431 */
1432 #define PDM_AVGVAL0_VALUE_W 32U
1433 #define PDM_AVGVAL0_VALUE_M 0xFFFFFFFFU
1434 #define PDM_AVGVAL0_VALUE_S 0U
1435 #define PDM_AVGVAL0_VALUE_MINIMUM 0x00000000U
1436 #define PDM_AVGVAL0_VALUE_MAXIMUM 0xFFFFFFFFU
1437 
1438 
1439 /*-----------------------------------REGISTER------------------------------------
1440  Register name: PKVAL0
1441  Offset name: PDM_O_PKVAL0
1442  Relative address: 0x204
1443  Description: Peak sample value for channel-0
1444  Default Value: 0x00000000
1445 
1446  Field: VALUE
1447  From..to bits: 0...23
1448  DefaultValue: 0x0
1449  Access type: read-only
1450  Description: Peak sample value for channel-0. Bits [22:0] applicable for operation in 2's complement format and bits [23:0] applicable for operation in offset binary format.
1451 
1452  ENUMs:
1453  MINIMUM: Smallest value
1454  MAXIMUM: Largest value
1455 */
1456 #define PDM_PKVAL0_VALUE_W 24U
1457 #define PDM_PKVAL0_VALUE_M 0x00FFFFFFU
1458 #define PDM_PKVAL0_VALUE_S 0U
1459 #define PDM_PKVAL0_VALUE_MINIMUM 0x00000000U
1460 #define PDM_PKVAL0_VALUE_MAXIMUM 0x007FFFFFU
1461 
1462 
1463 /*-----------------------------------REGISTER------------------------------------
1464  Register name: AVGPOW0
1465  Offset name: PDM_O_AVGPOW0
1466  Relative address: 0x208
1467  Description: Average sample power for channel-0
1468  Default Value: 0x00000000
1469 
1470  Field: VALUE
1471  From..to bits: 0...31
1472  DefaultValue: 0x0
1473  Access type: read-only
1474  Description: Average sample power for channel-0
1475 
1476  ENUMs:
1477  MINIMUM: Smallest value
1478  MAXIMUM: Highest value
1479 */
1480 #define PDM_AVGPOW0_VALUE_W 32U
1481 #define PDM_AVGPOW0_VALUE_M 0xFFFFFFFFU
1482 #define PDM_AVGPOW0_VALUE_S 0U
1483 #define PDM_AVGPOW0_VALUE_MINIMUM 0x00000000U
1484 #define PDM_AVGPOW0_VALUE_MAXIMUM 0xFFFFFFFFU
1485 
1486 
1487 /*-----------------------------------REGISTER------------------------------------
1488  Register name: AVGVAL1
1489  Offset name: PDM_O_AVGVAL1
1490  Relative address: 0x20C
1491  Description: Average sample value for channel-1, 32-bit register.
1492  Default Value: 0x00000000
1493 
1494  Field: VALUE
1495  From..to bits: 0...31
1496  DefaultValue: 0x0
1497  Access type: read-only
1498  Description: Average sample value for channel-1
1499 
1500  ENUMs:
1501  MINIMUM: Minimum value of register
1502  MAXIMUM: Highest value
1503 */
1504 #define PDM_AVGVAL1_VALUE_W 32U
1505 #define PDM_AVGVAL1_VALUE_M 0xFFFFFFFFU
1506 #define PDM_AVGVAL1_VALUE_S 0U
1507 #define PDM_AVGVAL1_VALUE_MINIMUM 0x00000000U
1508 #define PDM_AVGVAL1_VALUE_MAXIMUM 0xFFFFFFFFU
1509 
1510 
1511 /*-----------------------------------REGISTER------------------------------------
1512  Register name: PKVAL1
1513  Offset name: PDM_O_PKVAL1
1514  Relative address: 0x210
1515  Description: Peak sample value for channel-1
1516  Default Value: 0x00000000
1517 
1518  Field: VALUE
1519  From..to bits: 0...23
1520  DefaultValue: 0x0
1521  Access type: read-only
1522  Description: Peak sample value for channel-1. Bits [22:0] applicable for operation in 2's complement format and bits [23:0] applicable for operation in offset binary format.
1523 
1524  ENUMs:
1525  MINIMUM: Smallest value
1526  MAXIMUM: Largest value
1527 */
1528 #define PDM_PKVAL1_VALUE_W 24U
1529 #define PDM_PKVAL1_VALUE_M 0x00FFFFFFU
1530 #define PDM_PKVAL1_VALUE_S 0U
1531 #define PDM_PKVAL1_VALUE_MINIMUM 0x00000000U
1532 #define PDM_PKVAL1_VALUE_MAXIMUM 0x007FFFFFU
1533 
1534 
1535 /*-----------------------------------REGISTER------------------------------------
1536  Register name: AVGPOW1
1537  Offset name: PDM_O_AVGPOW1
1538  Relative address: 0x214
1539  Description: Average sample power for channel-1
1540  Default Value: 0x00000000
1541 
1542  Field: VALUE
1543  From..to bits: 0...31
1544  DefaultValue: 0x0
1545  Access type: read-only
1546  Description: Average sample power for channel-1
1547 
1548  ENUMs:
1549  MINIMUM: Smallest value
1550  MAXIMUM: Highest value
1551 */
1552 #define PDM_AVGPOW1_VALUE_W 32U
1553 #define PDM_AVGPOW1_VALUE_M 0xFFFFFFFFU
1554 #define PDM_AVGPOW1_VALUE_S 0U
1555 #define PDM_AVGPOW1_VALUE_MINIMUM 0x00000000U
1556 #define PDM_AVGPOW1_VALUE_MAXIMUM 0xFFFFFFFFU
1557 
1558 
1559 /*-----------------------------------REGISTER------------------------------------
1560  Register name: STPCTL
1561  Offset name: PDM_O_STPCTL
1562  Relative address: 0x300
1563  Description: Samplestamp Generator Control Register
1564  Default Value: 0x00000000
1565 
1566  Field: STPEN
1567  From..to bits: 0...0
1568  DefaultValue: 0x0
1569  Access type: read-write
1570  Description: Enables the samplestamp generator. The samplestamp generator must only be enabled after it has been properly configured.;When cleared, all samplestamp generator counters and capture values are cleared.
1571 
1572  ENUMs:
1573  DIS: Disable the samplestamp generator
1574  EN: Enable the samplestamp generator
1575 */
1576 #define PDM_STPCTL_STPEN 0x00000001U
1577 #define PDM_STPCTL_STPEN_M 0x00000001U
1578 #define PDM_STPCTL_STPEN_S 0U
1579 #define PDM_STPCTL_STPEN_DIS 0x00000000U
1580 #define PDM_STPCTL_STPEN_EN 0x00000001U
1581 
1582 
1583 /*-----------------------------------REGISTER------------------------------------
1584  Register name: STPXCAPT
1585  Offset name: PDM_O_STPXCAPT
1586  Relative address: 0x304
1587  Description: Captured REFCLK Counter Value, Capture Channel 0
1588  Default Value: 0x00000000
1589 
1590  Field: CAPTVAL
1591  From..to bits: 0...15
1592  DefaultValue: 0x0
1593  Access type: read-only
1594  Description: The value of the samplestamp XOSC counter [STMPXCNT.CURR_VALUE] last time an event was pulsed. The value is cleared when [STMPCTL.STMP_EN] = 0.
1595  Note: When calculating the fractional part of the sample stamp, [STMPXPER] may be less than this bit field.
1596 
1597  ENUMs:
1598  MINIMUM: Smallest value
1599  MAXIMUM: Highest possible value
1600 */
1601 #define PDM_STPXCAPT_CAPTVAL_W 16U
1602 #define PDM_STPXCAPT_CAPTVAL_M 0x0000FFFFU
1603 #define PDM_STPXCAPT_CAPTVAL_S 0U
1604 #define PDM_STPXCAPT_CAPTVAL_MINIMUM 0x00000000U
1605 #define PDM_STPXCAPT_CAPTVAL_MAXIMUM 0x0000FFFFU
1606 
1607 
1608 /*-----------------------------------REGISTER------------------------------------
1609  Register name: STPXPER
1610  Offset name: PDM_O_STPXPER
1611  Relative address: 0x308
1612  Description: REFCLK Period Value
1613  Default Value: 0x00000000
1614 
1615  Field: VALUE
1616  From..to bits: 0...15
1617  DefaultValue: 0x0
1618  Access type: read-only
1619  Description: The number of REFCLK clock cycles in the previous Sample Clock period (that is - the next value of the REFCLK counter at the positive Sample Clock edge, had it not been reset to 0).;The value is cleared when [STMPCTL.STMP_EN] = 0.
1620 
1621  ENUMs:
1622  MINIMUM: Smallest value
1623  MAXIMUM: Highest possible value
1624 */
1625 #define PDM_STPXPER_VALUE_W 16U
1626 #define PDM_STPXPER_VALUE_M 0x0000FFFFU
1627 #define PDM_STPXPER_VALUE_S 0U
1628 #define PDM_STPXPER_VALUE_MINIMUM 0x00000000U
1629 #define PDM_STPXPER_VALUE_MAXIMUM 0x0000FFFFU
1630 
1631 
1632 /*-----------------------------------REGISTER------------------------------------
1633  Register name: STPSCAPT
1634  Offset name: PDM_O_STPSCAPT
1635  Relative address: 0x30C
1636  Description: Captured Sample Clock Counter Value, Capture Channel 0
1637  Default Value: 0x00000000
1638 
1639  Field: CAPTVAL
1640  From..to bits: 0...15
1641  DefaultValue: 0x0
1642  Access type: read-only
1643  Description: The value of the samplestamp Sample Clock counter [STMPWCNT.CURR_VALUE] last time an event was pulsed. This number corresponds to the number of positive Sample Clock edges since the samplestamp generator was enabled;The value is cleared when [STMPCTL.STPEN] = 0.
1644 
1645  ENUMs:
1646  MINIMUM: Smallest value
1647  MAXIMUM: Highest possible value
1648 */
1649 #define PDM_STPSCAPT_CAPTVAL_W 16U
1650 #define PDM_STPSCAPT_CAPTVAL_M 0x0000FFFFU
1651 #define PDM_STPSCAPT_CAPTVAL_S 0U
1652 #define PDM_STPSCAPT_CAPTVAL_MINIMUM 0x00000000U
1653 #define PDM_STPSCAPT_CAPTVAL_MAXIMUM 0x0000FFFFU
1654 
1655 
1656 /*-----------------------------------REGISTER------------------------------------
1657  Register name: STPSPER
1658  Offset name: PDM_O_STPSPER
1659  Relative address: 0x310
1660  Description: Sample Clock Counter Period Value
1661  Default Value: 0x00000000
1662 
1663  Field: VALUE
1664  From..to bits: 0...15
1665  DefaultValue: 0x0
1666  Access type: read-write
1667  Description: Used to define when [STMPWCNT] is to be reset so number of Sample Clock edges are found for the size of the sample buffer. This is thus a modulo value for the Sample Clock counter. This number must correspond to the size of the sample buffer used by the system (that is the index of the last sample plus 1).
1668 
1669  ENUMs:
1670  MINIMUM: Smallest value
1671  MAXIMUM: Highest possible value
1672 */
1673 #define PDM_STPSPER_VALUE_W 16U
1674 #define PDM_STPSPER_VALUE_M 0x0000FFFFU
1675 #define PDM_STPSPER_VALUE_S 0U
1676 #define PDM_STPSPER_VALUE_MINIMUM 0x00000000U
1677 #define PDM_STPSPER_VALUE_MAXIMUM 0x0000FFFFU
1678 
1679 
1680 /*-----------------------------------REGISTER------------------------------------
1681  Register name: STPINTRG
1682  Offset name: PDM_O_STPINTRG
1683  Relative address: 0x314
1684  Description: WS Counter Trigger Value for Input Pins
1685  Default Value: 0x00000000
1686 
1687  Field: INSTRWCT
1688  From..to bits: 0...15
1689  DefaultValue: 0x0
1690  Access type: read-write
1691  Description: In Start W Count
1692  Compare value used to start the incoming audio streams.;This bit field must equal the Sample Clock counter value during the Sample Clock period in which the first input word(s) are sampled and stored to memory (that is the sample at the start of the very first DMA input buffer).;The value of this register takes effect when at least 32 PDMxCLK cycle ticks have happened.;Note: To avoid false triggers, this bit field must be set higher than [STPWPER.VALUE].
1693 
1694  ENUMs:
1695  MINIMUM: Smallest value
1696  MAXIMUM: Highest possible value
1697 */
1698 #define PDM_STPINTRG_INSTRWCT_W 16U
1699 #define PDM_STPINTRG_INSTRWCT_M 0x0000FFFFU
1700 #define PDM_STPINTRG_INSTRWCT_S 0U
1701 #define PDM_STPINTRG_INSTRWCT_MINIMUM 0x00000000U
1702 #define PDM_STPINTRG_INSTRWCT_MAXIMUM 0x0000FFFFU
1703 
1704 
1705 /*-----------------------------------REGISTER------------------------------------
1706  Register name: STPSSET
1707  Offset name: PDM_O_STPSSET
1708  Relative address: 0x318
1709  Description: Sample Clock Counter Set Operation
1710  Default Value: 0x00000000
1711 
1712  Field: VALUE
1713  From..to bits: 0...15
1714  DefaultValue: 0x0
1715  Access type: read-write
1716  Description: Sample Clock counter modification: Sets the running Sample Clock counter equal to the written value.
1717 
1718  ENUMs:
1719  MINIMUM: Smallest value
1720  MAXIMUM: Highest possible value
1721 */
1722 #define PDM_STPSSET_VALUE_W 16U
1723 #define PDM_STPSSET_VALUE_M 0x0000FFFFU
1724 #define PDM_STPSSET_VALUE_S 0U
1725 #define PDM_STPSSET_VALUE_MINIMUM 0x00000000U
1726 #define PDM_STPSSET_VALUE_MAXIMUM 0x0000FFFFU
1727 
1728 
1729 /*-----------------------------------REGISTER------------------------------------
1730  Register name: STPSADD
1731  Offset name: PDM_O_STPSADD
1732  Relative address: 0x31C
1733  Description: Sample Clock Counter Add Operation
1734  Default Value: 0x00000000
1735 
1736  Field: VALINC
1737  From..to bits: 0...15
1738  DefaultValue: 0x0
1739  Access type: read-write
1740  Description: Sample Clock counter modification: Adds the written value to the running Sample Clock counter. If a positive edge of Sample Clock occurs at the same time as the operation, this will be taken into account.;To add a negative value, write "[STMPWPER.VALUE] - value".;
1741 
1742  ENUMs:
1743  MINIMUM: Smallest value
1744  MAXIMUM: Highest possible value
1745 */
1746 #define PDM_STPSADD_VALINC_W 16U
1747 #define PDM_STPSADD_VALINC_M 0x0000FFFFU
1748 #define PDM_STPSADD_VALINC_S 0U
1749 #define PDM_STPSADD_VALINC_MINIMUM 0x00000000U
1750 #define PDM_STPSADD_VALINC_MAXIMUM 0x0000FFFFU
1751 
1752 
1753 /*-----------------------------------REGISTER------------------------------------
1754  Register name: STPXMIN
1755  Offset name: PDM_O_STPXMIN
1756  Relative address: 0x320
1757  Description: REFCLK Minimum Period Value;Minimum Value of [STPXPER]
1758  Default Value: 0x0000FFFF
1759 
1760  Field: VALUE
1761  From..to bits: 0...15
1762  DefaultValue: 0xFFFF
1763  Access type: read-write
1764  Description: Each time [STMPXPER] is updated, the value is also loaded into this register, provided that the value is smaller than the current value in this register.;When written, the register is reset to 0xFFFF (65535), regardless of the value written.;The minimum value can be used to detect extra Sample Clock pulses (this registers value will be significantly smaller than [STMPXPER.VALUE]).
1765 
1766  ENUMs:
1767  MINIMUM: Smallest value
1768  MAXIMUM: Highest possible value
1769 */
1770 #define PDM_STPXMIN_VALUE_W 16U
1771 #define PDM_STPXMIN_VALUE_M 0x0000FFFFU
1772 #define PDM_STPXMIN_VALUE_S 0U
1773 #define PDM_STPXMIN_VALUE_MINIMUM 0x00000000U
1774 #define PDM_STPXMIN_VALUE_MAXIMUM 0x0000FFFFU
1775 
1776 
1777 /*-----------------------------------REGISTER------------------------------------
1778  Register name: STPWCNT
1779  Offset name: PDM_O_STPWCNT
1780  Relative address: 0x324
1781  Description: Current Value of sample clock count
1782  This register is reset when [STPCTL.STPEN] = 0.
1783  Default Value: 0x00000000
1784 
1785  Field: CURRVAL
1786  From..to bits: 0...15
1787  DefaultValue: 0x0
1788  Access type: read-only
1789  Description: Current value of the Sample Clock counter
1790 
1791  ENUMs:
1792  MINIMUM: Smallest value
1793  MAXIMUM: Highest possible value
1794 */
1795 #define PDM_STPWCNT_CURRVAL_W 16U
1796 #define PDM_STPWCNT_CURRVAL_M 0x0000FFFFU
1797 #define PDM_STPWCNT_CURRVAL_S 0U
1798 #define PDM_STPWCNT_CURRVAL_MINIMUM 0x00000000U
1799 #define PDM_STPWCNT_CURRVAL_MAXIMUM 0x0000FFFFU
1800 
1801 
1802 /*-----------------------------------REGISTER------------------------------------
1803  Register name: STPXCNT
1804  Offset name: PDM_O_STPXCNT
1805  Relative address: 0x328
1806  Description: Current Value of XCNT
1807  This register is reset when [STPCTL.STPEN] = 0.
1808  Default Value: 0x00000000
1809 
1810  Field: CURRVAL
1811  From..to bits: 0...15
1812  DefaultValue: 0x0
1813  Access type: read-only
1814  Description: Current value of the REFCLK counter, latched when reading [STMPWCNT].
1815 
1816  ENUMs:
1817  MINIMUM: Smallest value
1818  MAXIMUM: Highest possible value
1819 */
1820 #define PDM_STPXCNT_CURRVAL_W 16U
1821 #define PDM_STPXCNT_CURRVAL_M 0x0000FFFFU
1822 #define PDM_STPXCNT_CURRVAL_S 0U
1823 #define PDM_STPXCNT_CURRVAL_MINIMUM 0x00000000U
1824 #define PDM_STPXCNT_CURRVAL_MAXIMUM 0x0000FFFFU
1825 
1826 
1827 /*-----------------------------------REGISTER------------------------------------
1828  Register name: STPSTAT
1829  Offset name: PDM_O_STPSTAT
1830  Relative address: 0x32C
1831  Description: Samplestamp Generator Status Register
1832  Default Value: 0x00000000
1833 
1834  Field: INRDY
1835  From..to bits: 1...1
1836  DefaultValue: 0x0
1837  Access type: read-only
1838  Description: Low until the input pins are ready to be started by the samplestamp generator. When started (that is [STMPINTRIG] equals the WCLK counter) the bit goes back low.
1839 
1840  ENUMs:
1841  CLR: Clear
1842  SET: Set
1843 */
1844 #define PDM_STPSTAT_INRDY 0x00000002U
1845 #define PDM_STPSTAT_INRDY_M 0x00000002U
1846 #define PDM_STPSTAT_INRDY_S 1U
1847 #define PDM_STPSTAT_INRDY_CLR 0x00000000U
1848 #define PDM_STPSTAT_INRDY_SET 0x00000002U
1849 
1850 
1851 /*-----------------------------------REGISTER------------------------------------
1852  Register name: CLKCFG
1853  Offset name: PDM_O_CLKCFG
1854  Relative address: 0x1000
1855  Description: Clock configuration register
1856  Note: Disable the [CLKCFG.MEM_CLK_EN] and [CLKCFG.ADFS_EN] to change [CLK_CFG.MEM_CLK_SEL] or [ADFS_CTRL1]/[ADFS_CTRL2]
1857  After changing [CLK_CFG.MEM_CLK_SEL] or [ADFS_CTRL1]/[ADFS_CTRL2], enable [CLKCFG.ADFS_EN] followed by [CLKCFG.MEM_CLK_EN]
1858 
1859  Default Value: 0x00000000
1860 
1861  Field: CLKEN
1862  From..to bits: 0...0
1863  DefaultValue: 0x0
1864  Access type: read-write
1865  Description: Clock enable
1866 
1867  ENUMs:
1868  DIS: Disable Clock
1869  EN: Enable Clock
1870 */
1871 #define PDM_CLKCFG_CLKEN 0x00000001U
1872 #define PDM_CLKCFG_CLKEN_M 0x00000001U
1873 #define PDM_CLKCFG_CLKEN_S 0U
1874 #define PDM_CLKCFG_CLKEN_DIS 0x00000000U
1875 #define PDM_CLKCFG_CLKEN_EN 0x00000001U
1876 /*
1877 
1878  Field: CLKSEL
1879  From..to bits: 4...6
1880  DefaultValue: 0x0
1881  Access type: read-write
1882  Description: Clock Select
1883 
1884  ENUMs:
1885  SEL_0: No Clock
1886  SEL_1: SOC Clock(80MHz)
1887  SEL_2: SOC PLL Clock(un-swallowed 80MHz)
1888  SEL_3: HFXT
1889 */
1890 #define PDM_CLKCFG_CLKSEL_W 3U
1891 #define PDM_CLKCFG_CLKSEL_M 0x00000070U
1892 #define PDM_CLKCFG_CLKSEL_S 4U
1893 #define PDM_CLKCFG_CLKSEL_SEL_0 0x00000000U
1894 #define PDM_CLKCFG_CLKSEL_SEL_1 0x00000010U
1895 #define PDM_CLKCFG_CLKSEL_SEL_2 0x00000020U
1896 #define PDM_CLKCFG_CLKSEL_SEL_3 0x00000030U
1897 /*
1898 
1899  Field: ADFSEN
1900  From..to bits: 7...7
1901  DefaultValue: 0x0
1902  Access type: read-write
1903  Description: ADFS Enable bit
1904 
1905  ENUMs:
1906  DIS: Disable ADFS
1907  EN: Enable ADFS
1908 */
1909 #define PDM_CLKCFG_ADFSEN 0x00000080U
1910 #define PDM_CLKCFG_ADFSEN_M 0x00000080U
1911 #define PDM_CLKCFG_ADFSEN_S 7U
1912 #define PDM_CLKCFG_ADFSEN_DIS 0x00000000U
1913 #define PDM_CLKCFG_ADFSEN_EN 0x00000080U
1914 
1915 
1916 /*-----------------------------------REGISTER------------------------------------
1917  Register name: ADFSCTL1
1918  Offset name: PDM_O_ADFSCTL1
1919  Relative address: 0x1004
1920  Description: ADFS control register
1921  Default Value: 0x00000000
1922 
1923  Field: TREF
1924  From..to bits: 0...20
1925  DefaultValue: 0x0
1926  Access type: read-write
1927  Description: Reference clock time period
1928 
1929 */
1930 #define PDM_ADFSCTL1_TREF_W 21U
1931 #define PDM_ADFSCTL1_TREF_M 0x001FFFFFU
1932 #define PDM_ADFSCTL1_TREF_S 0U
1933 
1934 
1935 /*-----------------------------------REGISTER------------------------------------
1936  Register name: ADFSCTL2
1937  Offset name: PDM_O_ADFSCTL2
1938  Relative address: 0x1008
1939  Description: ADFS control register 2
1940  Default Value: 0x00000000
1941 
1942  Field: DELTA
1943  From..to bits: 0...16
1944  DefaultValue: 0x0
1945  Access type: read-write
1946  Description: Difference in time periods of (reference clk/divisor) and required clock
1947 
1948 */
1949 #define PDM_ADFSCTL2_DELTA_W 17U
1950 #define PDM_ADFSCTL2_DELTA_M 0x0001FFFFU
1951 #define PDM_ADFSCTL2_DELTA_S 0U
1952 /*
1953 
1954  Field: DLTASIGN
1955  From..to bits: 17...17
1956  DefaultValue: 0x0
1957  Access type: read-write
1958  Description: Sign of delta value to be used.
1959 
1960  ENUMs:
1961  POS: Positive Sign
1962  NEG: Negative sign
1963 */
1964 #define PDM_ADFSCTL2_DLTASIGN 0x00020000U
1965 #define PDM_ADFSCTL2_DLTASIGN_M 0x00020000U
1966 #define PDM_ADFSCTL2_DLTASIGN_S 17U
1967 #define PDM_ADFSCTL2_DLTASIGN_POS 0x00000000U
1968 #define PDM_ADFSCTL2_DLTASIGN_NEG 0x00020000U
1969 /*
1970 
1971  Field: DIV
1972  From..to bits: 20...29
1973  DefaultValue: 0x0
1974  Access type: read-write
1975  Description: Value of divider to be used for ADFS
1976 
1977 */
1978 #define PDM_ADFSCTL2_DIV_W 10U
1979 #define PDM_ADFSCTL2_DIV_M 0x3FF00000U
1980 #define PDM_ADFSCTL2_DIV_S 20U
1981 
1982 #endif /* __HW_PDM_H__*/