\n

DMIC

Peripheral Memory Blocks

address_offset : 0x0 Bytes (0x0)
size : 0xF9C byte (0x0)
mem_usage : registers
protection : not protected

Registers

CHANNEL[0]-OSR

CHANNEL[0]-GAINSHIFT

CHANNEL[1]-CHANNEL[0]-OSR

CHANNEL[1]-CHANNEL[0]-DIVHFCLK

CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF

CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF

CHANNEL[1]-CHANNEL[0]-GAINSHIFT

CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-OSR

CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DIVHFCLK

CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF

CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF

CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-GAINSHIFT

CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_CTRL

CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_STATUS

CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_DATA

CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PHY_CTRL

CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DC_CTRL

CHANNEL[1]-CHANNEL[0]-FIFO_CTRL

CHANNEL[1]-CHANNEL[0]-FIFO_STATUS

CHANNEL[1]-CHANNEL[0]-FIFO_DATA

CHANNEL[1]-CHANNEL[0]-PHY_CTRL

CHANNEL[1]-CHANNEL[0]-DC_CTRL

CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-OSR

CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DIVHFCLK

CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF

CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF

CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-GAINSHIFT

CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_CTRL

CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_STATUS

CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_DATA

CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PHY_CTRL

CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DC_CTRL

CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-OSR

CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DIVHFCLK

CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF

CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF

CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-GAINSHIFT

CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_CTRL

CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_STATUS

CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_DATA

CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PHY_CTRL

CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DC_CTRL

CHANNEL[0]-DIVHFCLK

CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-OSR

CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DIVHFCLK

CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF

CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF

CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-GAINSHIFT

CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_CTRL

CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_STATUS

CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_DATA

CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PHY_CTRL

CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DC_CTRL

CHANNEL[0]-PREAC2FSCOEF

CHANNEL[0]-FIFO_CTRL

CHANNEL[0]-FIFO_STATUS

CHANNEL[0]-FIFO_DATA

CHANNEL[0]-PHY_CTRL

CHANNEL[0]-DC_CTRL

CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-OSR

CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DIVHFCLK

CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF

CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF

CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-GAINSHIFT

CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_CTRL

CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_STATUS

CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_DATA

CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PHY_CTRL

CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DC_CTRL

CHANNEL[0]-PREAC4FSCOEF

CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-OSR

CHANEN

CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DIVHFCLK

CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF

CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF

CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-GAINSHIFT

USE2FS

GLOBAL_SYNC_EN

GLOBAL_COUNT_VAL

DECRESET

CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_CTRL

HWVADGAIN

CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_STATUS

HWVADHPFS

CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_DATA

HWVADST10

CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PHY_CTRL

HWVADRSTT

CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DC_CTRL

HWVADTHGN

HWVADTHGS

HWVADLOWZ


CHANNEL[0]-OSR

CIC Filter decimation rate
address_offset : 0x0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[0]-OSR CHANNEL[0]-OSR read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 OSR

OSR : Selects the oversample rate for the related input channel.
bits : 0 - 7 (8 bit)
access : read-write


CHANNEL[0]-GAINSHIFT

Decimator output gain adjustment
address_offset : 0x10 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[0]-GAINSHIFT CHANNEL[0]-GAINSHIFT read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 GAIN

GAIN : Gain shift for decimator output (can be positive or negative number)
bits : 0 - 5 (6 bit)
access : read-write


CHANNEL[1]-CHANNEL[0]-OSR

CIC Filter decimation rate
address_offset : 0x100 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[1]-CHANNEL[0]-OSR CHANNEL[1]-CHANNEL[0]-OSR read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 OSR

OSR : Selects the oversample rate for the related input channel.
bits : 0 - 7 (8 bit)
access : read-write


CHANNEL[1]-CHANNEL[0]-DIVHFCLK

Divider for generating PDM clock from DMIC clock input
address_offset : 0x104 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[1]-CHANNEL[0]-DIVHFCLK CHANNEL[1]-CHANNEL[0]-DIVHFCLK read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PDMDIV

PDMDIV : Divide by factor to create PDM Clock (enumerated type)
bits : 0 - 3 (4 bit)
access : read-write


CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF

Compensation filter for 2FS
address_offset : 0x108 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 COMP

COMP : Co-efficient choice for CIC droop compensation droop filter
bits : 0 - 1 (2 bit)
access : read-write


CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF

Compensation filter for 4FS
address_offset : 0x10C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 COMP

COMP : Co-efficient choice for CIC droop compensation droop filter
bits : 0 - 1 (2 bit)
access : read-write


CHANNEL[1]-CHANNEL[0]-GAINSHIFT

Decimator output gain adjustment
address_offset : 0x110 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[1]-CHANNEL[0]-GAINSHIFT CHANNEL[1]-CHANNEL[0]-GAINSHIFT read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 GAIN

GAIN : Gain shift for decimator output (can be positive or negative number)
bits : 0 - 5 (6 bit)
access : read-write


CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-OSR

CIC Filter decimation rate
address_offset : 0x1500 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-OSR CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-OSR read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 OSR

OSR : Selects the oversample rate for the related input channel.
bits : 0 - 7 (8 bit)
access : read-write


CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DIVHFCLK

Divider for generating PDM clock from DMIC clock input
address_offset : 0x1504 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DIVHFCLK CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DIVHFCLK read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PDMDIV

PDMDIV : Divide by factor to create PDM Clock (enumerated type)
bits : 0 - 3 (4 bit)
access : read-write


CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF

Compensation filter for 2FS
address_offset : 0x1508 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 COMP

COMP : Co-efficient choice for CIC droop compensation droop filter
bits : 0 - 1 (2 bit)
access : read-write


CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF

Compensation filter for 4FS
address_offset : 0x150C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 COMP

COMP : Co-efficient choice for CIC droop compensation droop filter
bits : 0 - 1 (2 bit)
access : read-write


CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-GAINSHIFT

Decimator output gain adjustment
address_offset : 0x1510 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-GAINSHIFT CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-GAINSHIFT read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 GAIN

GAIN : Gain shift for decimator output (can be positive or negative number)
bits : 0 - 5 (6 bit)
access : read-write


CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_CTRL

FIFO Control
address_offset : 0x1580 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_CTRL CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_CTRL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ENABLE RESETN INTEN DMAEN TRIGLVL

ENABLE : FIFO enable.
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

0 : DISABLED

FIFO is not enabled. Enabling a DMIC channel with the FIFO disabled could be useful while data is being streamed to the I2S, or in order to avoid a filter settling delay when a channel is re-enabled after a period when the data was not needed.

0x1 : ENABLED

FIFO is enabled. The FIFO must be enabled in order for the CPU or DMA to read data from the DMIC via the FIFODATA register.

End of enumeration elements list.

RESETN : FIFO reset.
bits : 1 - 1 (1 bit)
access : read-write

Enumeration:

0 : RESET

Reset the FIFO.

0x1 : NORMAL

Normal operation

End of enumeration elements list.

INTEN : Interrupt enable.
bits : 2 - 2 (1 bit)
access : read-write

Enumeration:

0 : DISABLED

FIFO level interrupts are not enabled.

0x1 : ENABLED

FIFO level interrupts are enabled.

End of enumeration elements list.

DMAEN : DMA enable
bits : 3 - 3 (1 bit)
access : read-write

Enumeration:

0 : DISABLED

DMA requests are not enabled.

0x1 : ENABLED

DMA requests based on FIFO level are enabled.

End of enumeration elements list.

TRIGLVL : Trigger level for interrupt
bits : 16 - 20 (5 bit)
access : read-write


CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_STATUS

FIFO Status
address_offset : 0x1584 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_STATUS CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_STATUS read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 INT OVERRUN UNDERRUN

INT : Status of Interrupt (write 1 to clear)
bits : 0 - 0 (1 bit)
access : read-write

OVERRUN : Overrun Detected (write 1 to clear)
bits : 1 - 1 (1 bit)
access : read-write

UNDERRUN : Underrun Detected (write 1 to clear)
bits : 2 - 2 (1 bit)
access : read-write


CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_DATA

FIFO Data
address_offset : 0x1588 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_DATA CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_DATA read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DATA

DATA : PCM Data
bits : 0 - 23 (24 bit)
access : read-only


CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PHY_CTRL

Phy Ctrl
address_offset : 0x158C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PHY_CTRL CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PHY_CTRL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PHY_FALL PHY_HALF

PHY_FALL : Capture DMIC on Falling edge (0 means on rising)
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

0 : RISING_EDGE

Capture PDM_DATA on the rising edge of PDM_CLK.

0x1 : FALLING_EDGE

Capture PDM_DATA on the falling edge of PDM_CLK.

End of enumeration elements list.

PHY_HALF : Use Half rate sampling (ie Clock to dmic is sent at half the speed than the decimator is providing)
bits : 1 - 1 (1 bit)
access : read-write

Enumeration:

0 : STANDARD

Standard half rate sampling. The clock to the DMIC is sent at the same rate as the decimator is providing.

0x1 : HALF_RATE

Use half rate sampling. The clock to the DMIC is sent at half the rate as the decimator is providing.

End of enumeration elements list.


CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DC_CTRL

DC Filter Control
address_offset : 0x1590 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DC_CTRL CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DC_CTRL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DCPOLE DCGAIN SATURATEAT16BIT SIGNEXTEND

DCPOLE : DC block filter
bits : 0 - 1 (2 bit)
access : read-write

Enumeration:

0 : FLAT_RESPONSE

Flat response, no filter.

0x1 : HZ_155

155 Hz.

0x2 : HZ_78

78 Hz.

0x3 : HZ_39

39 Hz

End of enumeration elements list.

DCGAIN : Fine gain adjustment in the form of a number of bits to downshift.
bits : 4 - 7 (4 bit)
access : read-write

SATURATEAT16BIT : Selects 16-bit saturation.
bits : 8 - 8 (1 bit)
access : read-write

Enumeration:

0 : DO_NOT_SATURATE

Results roll over if out range and do not saturate.

0x1 : SATURATE

If the result overflows, it saturates at 0xFFFF for positive overflow and 0x8000 for negative overflow.

End of enumeration elements list.

SIGNEXTEND : Sign extend.
bits : 9 - 9 (1 bit)
access : read-write

Enumeration:

0 : DO_NOT_SIGNEXTEND

The top byte of the FIFODATA register is always 0.

0x1 : SIGNEXTEND

The top byte of the FIFODATA register is sign extended. This allows processing of 24-bit audio data on 32-bit machines.

End of enumeration elements list.


CHANNEL[1]-CHANNEL[0]-FIFO_CTRL

FIFO Control
address_offset : 0x180 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[1]-CHANNEL[0]-FIFO_CTRL CHANNEL[1]-CHANNEL[0]-FIFO_CTRL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ENABLE RESETN INTEN DMAEN TRIGLVL

ENABLE : FIFO enable.
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

0 : DISABLED

FIFO is not enabled. Enabling a DMIC channel with the FIFO disabled could be useful while data is being streamed to the I2S, or in order to avoid a filter settling delay when a channel is re-enabled after a period when the data was not needed.

0x1 : ENABLED

FIFO is enabled. The FIFO must be enabled in order for the CPU or DMA to read data from the DMIC via the FIFODATA register.

End of enumeration elements list.

RESETN : FIFO reset.
bits : 1 - 1 (1 bit)
access : read-write

Enumeration:

0 : RESET

Reset the FIFO.

0x1 : NORMAL

Normal operation

End of enumeration elements list.

INTEN : Interrupt enable.
bits : 2 - 2 (1 bit)
access : read-write

Enumeration:

0 : DISABLED

FIFO level interrupts are not enabled.

0x1 : ENABLED

FIFO level interrupts are enabled.

End of enumeration elements list.

DMAEN : DMA enable
bits : 3 - 3 (1 bit)
access : read-write

Enumeration:

0 : DISABLED

DMA requests are not enabled.

0x1 : ENABLED

DMA requests based on FIFO level are enabled.

End of enumeration elements list.

TRIGLVL : Trigger level for interrupt
bits : 16 - 20 (5 bit)
access : read-write


CHANNEL[1]-CHANNEL[0]-FIFO_STATUS

FIFO Status
address_offset : 0x184 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[1]-CHANNEL[0]-FIFO_STATUS CHANNEL[1]-CHANNEL[0]-FIFO_STATUS read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 INT OVERRUN UNDERRUN

INT : Status of Interrupt (write 1 to clear)
bits : 0 - 0 (1 bit)
access : read-write

OVERRUN : Overrun Detected (write 1 to clear)
bits : 1 - 1 (1 bit)
access : read-write

UNDERRUN : Underrun Detected (write 1 to clear)
bits : 2 - 2 (1 bit)
access : read-write


CHANNEL[1]-CHANNEL[0]-FIFO_DATA

FIFO Data
address_offset : 0x188 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[1]-CHANNEL[0]-FIFO_DATA CHANNEL[1]-CHANNEL[0]-FIFO_DATA read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DATA

DATA : PCM Data
bits : 0 - 23 (24 bit)
access : read-only


CHANNEL[1]-CHANNEL[0]-PHY_CTRL

Phy Ctrl
address_offset : 0x18C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[1]-CHANNEL[0]-PHY_CTRL CHANNEL[1]-CHANNEL[0]-PHY_CTRL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PHY_FALL PHY_HALF

PHY_FALL : Capture DMIC on Falling edge (0 means on rising)
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

0 : RISING_EDGE

Capture PDM_DATA on the rising edge of PDM_CLK.

0x1 : FALLING_EDGE

Capture PDM_DATA on the falling edge of PDM_CLK.

End of enumeration elements list.

PHY_HALF : Use Half rate sampling (ie Clock to dmic is sent at half the speed than the decimator is providing)
bits : 1 - 1 (1 bit)
access : read-write

Enumeration:

0 : STANDARD

Standard half rate sampling. The clock to the DMIC is sent at the same rate as the decimator is providing.

0x1 : HALF_RATE

Use half rate sampling. The clock to the DMIC is sent at half the rate as the decimator is providing.

End of enumeration elements list.


CHANNEL[1]-CHANNEL[0]-DC_CTRL

DC Filter Control
address_offset : 0x190 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[1]-CHANNEL[0]-DC_CTRL CHANNEL[1]-CHANNEL[0]-DC_CTRL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DCPOLE DCGAIN SATURATEAT16BIT SIGNEXTEND

DCPOLE : DC block filter
bits : 0 - 1 (2 bit)
access : read-write

Enumeration:

0 : FLAT_RESPONSE

Flat response, no filter.

0x1 : HZ_155

155 Hz.

0x2 : HZ_78

78 Hz.

0x3 : HZ_39

39 Hz

End of enumeration elements list.

DCGAIN : Fine gain adjustment in the form of a number of bits to downshift.
bits : 4 - 7 (4 bit)
access : read-write

SATURATEAT16BIT : Selects 16-bit saturation.
bits : 8 - 8 (1 bit)
access : read-write

Enumeration:

0 : DO_NOT_SATURATE

Results roll over if out range and do not saturate.

0x1 : SATURATE

If the result overflows, it saturates at 0xFFFF for positive overflow and 0x8000 for negative overflow.

End of enumeration elements list.

SIGNEXTEND : Sign extend.
bits : 9 - 9 (1 bit)
access : read-write

Enumeration:

0 : DO_NOT_SIGNEXTEND

The top byte of the FIFODATA register is always 0.

0x1 : SIGNEXTEND

The top byte of the FIFODATA register is sign extended. This allows processing of 24-bit audio data on 32-bit machines.

End of enumeration elements list.


CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-OSR

CIC Filter decimation rate
address_offset : 0x1C00 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-OSR CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-OSR read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 OSR

OSR : Selects the oversample rate for the related input channel.
bits : 0 - 7 (8 bit)
access : read-write


CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DIVHFCLK

Divider for generating PDM clock from DMIC clock input
address_offset : 0x1C04 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DIVHFCLK CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DIVHFCLK read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PDMDIV

PDMDIV : Divide by factor to create PDM Clock (enumerated type)
bits : 0 - 3 (4 bit)
access : read-write


CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF

Compensation filter for 2FS
address_offset : 0x1C08 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 COMP

COMP : Co-efficient choice for CIC droop compensation droop filter
bits : 0 - 1 (2 bit)
access : read-write


CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF

Compensation filter for 4FS
address_offset : 0x1C0C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 COMP

COMP : Co-efficient choice for CIC droop compensation droop filter
bits : 0 - 1 (2 bit)
access : read-write


CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-GAINSHIFT

Decimator output gain adjustment
address_offset : 0x1C10 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-GAINSHIFT CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-GAINSHIFT read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 GAIN

GAIN : Gain shift for decimator output (can be positive or negative number)
bits : 0 - 5 (6 bit)
access : read-write


CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_CTRL

FIFO Control
address_offset : 0x1C80 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_CTRL CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_CTRL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ENABLE RESETN INTEN DMAEN TRIGLVL

ENABLE : FIFO enable.
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

0 : DISABLED

FIFO is not enabled. Enabling a DMIC channel with the FIFO disabled could be useful while data is being streamed to the I2S, or in order to avoid a filter settling delay when a channel is re-enabled after a period when the data was not needed.

0x1 : ENABLED

FIFO is enabled. The FIFO must be enabled in order for the CPU or DMA to read data from the DMIC via the FIFODATA register.

End of enumeration elements list.

RESETN : FIFO reset.
bits : 1 - 1 (1 bit)
access : read-write

Enumeration:

0 : RESET

Reset the FIFO.

0x1 : NORMAL

Normal operation

End of enumeration elements list.

INTEN : Interrupt enable.
bits : 2 - 2 (1 bit)
access : read-write

Enumeration:

0 : DISABLED

FIFO level interrupts are not enabled.

0x1 : ENABLED

FIFO level interrupts are enabled.

End of enumeration elements list.

DMAEN : DMA enable
bits : 3 - 3 (1 bit)
access : read-write

Enumeration:

0 : DISABLED

DMA requests are not enabled.

0x1 : ENABLED

DMA requests based on FIFO level are enabled.

End of enumeration elements list.

TRIGLVL : Trigger level for interrupt
bits : 16 - 20 (5 bit)
access : read-write


CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_STATUS

FIFO Status
address_offset : 0x1C84 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_STATUS CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_STATUS read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 INT OVERRUN UNDERRUN

INT : Status of Interrupt (write 1 to clear)
bits : 0 - 0 (1 bit)
access : read-write

OVERRUN : Overrun Detected (write 1 to clear)
bits : 1 - 1 (1 bit)
access : read-write

UNDERRUN : Underrun Detected (write 1 to clear)
bits : 2 - 2 (1 bit)
access : read-write


CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_DATA

FIFO Data
address_offset : 0x1C88 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_DATA CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_DATA read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DATA

DATA : PCM Data
bits : 0 - 23 (24 bit)
access : read-only


CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PHY_CTRL

Phy Ctrl
address_offset : 0x1C8C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PHY_CTRL CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PHY_CTRL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PHY_FALL PHY_HALF

PHY_FALL : Capture DMIC on Falling edge (0 means on rising)
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

0 : RISING_EDGE

Capture PDM_DATA on the rising edge of PDM_CLK.

0x1 : FALLING_EDGE

Capture PDM_DATA on the falling edge of PDM_CLK.

End of enumeration elements list.

PHY_HALF : Use Half rate sampling (ie Clock to dmic is sent at half the speed than the decimator is providing)
bits : 1 - 1 (1 bit)
access : read-write

Enumeration:

0 : STANDARD

Standard half rate sampling. The clock to the DMIC is sent at the same rate as the decimator is providing.

0x1 : HALF_RATE

Use half rate sampling. The clock to the DMIC is sent at half the rate as the decimator is providing.

End of enumeration elements list.


CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DC_CTRL

DC Filter Control
address_offset : 0x1C90 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DC_CTRL CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DC_CTRL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DCPOLE DCGAIN SATURATEAT16BIT SIGNEXTEND

DCPOLE : DC block filter
bits : 0 - 1 (2 bit)
access : read-write

Enumeration:

0 : FLAT_RESPONSE

Flat response, no filter.

0x1 : HZ_155

155 Hz.

0x2 : HZ_78

78 Hz.

0x3 : HZ_39

39 Hz

End of enumeration elements list.

DCGAIN : Fine gain adjustment in the form of a number of bits to downshift.
bits : 4 - 7 (4 bit)
access : read-write

SATURATEAT16BIT : Selects 16-bit saturation.
bits : 8 - 8 (1 bit)
access : read-write

Enumeration:

0 : DO_NOT_SATURATE

Results roll over if out range and do not saturate.

0x1 : SATURATE

If the result overflows, it saturates at 0xFFFF for positive overflow and 0x8000 for negative overflow.

End of enumeration elements list.

SIGNEXTEND : Sign extend.
bits : 9 - 9 (1 bit)
access : read-write

Enumeration:

0 : DO_NOT_SIGNEXTEND

The top byte of the FIFODATA register is always 0.

0x1 : SIGNEXTEND

The top byte of the FIFODATA register is sign extended. This allows processing of 24-bit audio data on 32-bit machines.

End of enumeration elements list.


CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-OSR

CIC Filter decimation rate
address_offset : 0x300 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-OSR CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-OSR read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 OSR

OSR : Selects the oversample rate for the related input channel.
bits : 0 - 7 (8 bit)
access : read-write


CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DIVHFCLK

Divider for generating PDM clock from DMIC clock input
address_offset : 0x304 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DIVHFCLK CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DIVHFCLK read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PDMDIV

PDMDIV : Divide by factor to create PDM Clock (enumerated type)
bits : 0 - 3 (4 bit)
access : read-write


CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF

Compensation filter for 2FS
address_offset : 0x308 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 COMP

COMP : Co-efficient choice for CIC droop compensation droop filter
bits : 0 - 1 (2 bit)
access : read-write


CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF

Compensation filter for 4FS
address_offset : 0x30C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 COMP

COMP : Co-efficient choice for CIC droop compensation droop filter
bits : 0 - 1 (2 bit)
access : read-write


CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-GAINSHIFT

Decimator output gain adjustment
address_offset : 0x310 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-GAINSHIFT CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-GAINSHIFT read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 GAIN

GAIN : Gain shift for decimator output (can be positive or negative number)
bits : 0 - 5 (6 bit)
access : read-write


CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_CTRL

FIFO Control
address_offset : 0x380 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_CTRL CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_CTRL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ENABLE RESETN INTEN DMAEN TRIGLVL

ENABLE : FIFO enable.
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

0 : DISABLED

FIFO is not enabled. Enabling a DMIC channel with the FIFO disabled could be useful while data is being streamed to the I2S, or in order to avoid a filter settling delay when a channel is re-enabled after a period when the data was not needed.

0x1 : ENABLED

FIFO is enabled. The FIFO must be enabled in order for the CPU or DMA to read data from the DMIC via the FIFODATA register.

End of enumeration elements list.

RESETN : FIFO reset.
bits : 1 - 1 (1 bit)
access : read-write

Enumeration:

0 : RESET

Reset the FIFO.

0x1 : NORMAL

Normal operation

End of enumeration elements list.

INTEN : Interrupt enable.
bits : 2 - 2 (1 bit)
access : read-write

Enumeration:

0 : DISABLED

FIFO level interrupts are not enabled.

0x1 : ENABLED

FIFO level interrupts are enabled.

End of enumeration elements list.

DMAEN : DMA enable
bits : 3 - 3 (1 bit)
access : read-write

Enumeration:

0 : DISABLED

DMA requests are not enabled.

0x1 : ENABLED

DMA requests based on FIFO level are enabled.

End of enumeration elements list.

TRIGLVL : Trigger level for interrupt
bits : 16 - 20 (5 bit)
access : read-write


CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_STATUS

FIFO Status
address_offset : 0x384 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_STATUS CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_STATUS read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 INT OVERRUN UNDERRUN

INT : Status of Interrupt (write 1 to clear)
bits : 0 - 0 (1 bit)
access : read-write

OVERRUN : Overrun Detected (write 1 to clear)
bits : 1 - 1 (1 bit)
access : read-write

UNDERRUN : Underrun Detected (write 1 to clear)
bits : 2 - 2 (1 bit)
access : read-write


CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_DATA

FIFO Data
address_offset : 0x388 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_DATA CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_DATA read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DATA

DATA : PCM Data
bits : 0 - 23 (24 bit)
access : read-only


CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PHY_CTRL

Phy Ctrl
address_offset : 0x38C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PHY_CTRL CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PHY_CTRL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PHY_FALL PHY_HALF

PHY_FALL : Capture DMIC on Falling edge (0 means on rising)
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

0 : RISING_EDGE

Capture PDM_DATA on the rising edge of PDM_CLK.

0x1 : FALLING_EDGE

Capture PDM_DATA on the falling edge of PDM_CLK.

End of enumeration elements list.

PHY_HALF : Use Half rate sampling (ie Clock to dmic is sent at half the speed than the decimator is providing)
bits : 1 - 1 (1 bit)
access : read-write

Enumeration:

0 : STANDARD

Standard half rate sampling. The clock to the DMIC is sent at the same rate as the decimator is providing.

0x1 : HALF_RATE

Use half rate sampling. The clock to the DMIC is sent at half the rate as the decimator is providing.

End of enumeration elements list.


CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DC_CTRL

DC Filter Control
address_offset : 0x390 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DC_CTRL CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DC_CTRL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DCPOLE DCGAIN SATURATEAT16BIT SIGNEXTEND

DCPOLE : DC block filter
bits : 0 - 1 (2 bit)
access : read-write

Enumeration:

0 : FLAT_RESPONSE

Flat response, no filter.

0x1 : HZ_155

155 Hz.

0x2 : HZ_78

78 Hz.

0x3 : HZ_39

39 Hz

End of enumeration elements list.

DCGAIN : Fine gain adjustment in the form of a number of bits to downshift.
bits : 4 - 7 (4 bit)
access : read-write

SATURATEAT16BIT : Selects 16-bit saturation.
bits : 8 - 8 (1 bit)
access : read-write

Enumeration:

0 : DO_NOT_SATURATE

Results roll over if out range and do not saturate.

0x1 : SATURATE

If the result overflows, it saturates at 0xFFFF for positive overflow and 0x8000 for negative overflow.

End of enumeration elements list.

SIGNEXTEND : Sign extend.
bits : 9 - 9 (1 bit)
access : read-write

Enumeration:

0 : DO_NOT_SIGNEXTEND

The top byte of the FIFODATA register is always 0.

0x1 : SIGNEXTEND

The top byte of the FIFODATA register is sign extended. This allows processing of 24-bit audio data on 32-bit machines.

End of enumeration elements list.


CHANNEL[0]-DIVHFCLK

Divider for generating PDM clock from DMIC clock input
address_offset : 0x4 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[0]-DIVHFCLK CHANNEL[0]-DIVHFCLK read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PDMDIV

PDMDIV : Divide by factor to create PDM Clock (enumerated type)
bits : 0 - 3 (4 bit)
access : read-write


CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-OSR

CIC Filter decimation rate
address_offset : 0x600 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-OSR CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-OSR read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 OSR

OSR : Selects the oversample rate for the related input channel.
bits : 0 - 7 (8 bit)
access : read-write


CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DIVHFCLK

Divider for generating PDM clock from DMIC clock input
address_offset : 0x604 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DIVHFCLK CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DIVHFCLK read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PDMDIV

PDMDIV : Divide by factor to create PDM Clock (enumerated type)
bits : 0 - 3 (4 bit)
access : read-write


CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF

Compensation filter for 2FS
address_offset : 0x608 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 COMP

COMP : Co-efficient choice for CIC droop compensation droop filter
bits : 0 - 1 (2 bit)
access : read-write


CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF

Compensation filter for 4FS
address_offset : 0x60C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 COMP

COMP : Co-efficient choice for CIC droop compensation droop filter
bits : 0 - 1 (2 bit)
access : read-write


CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-GAINSHIFT

Decimator output gain adjustment
address_offset : 0x610 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-GAINSHIFT CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-GAINSHIFT read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 GAIN

GAIN : Gain shift for decimator output (can be positive or negative number)
bits : 0 - 5 (6 bit)
access : read-write


CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_CTRL

FIFO Control
address_offset : 0x680 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_CTRL CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_CTRL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ENABLE RESETN INTEN DMAEN TRIGLVL

ENABLE : FIFO enable.
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

0 : DISABLED

FIFO is not enabled. Enabling a DMIC channel with the FIFO disabled could be useful while data is being streamed to the I2S, or in order to avoid a filter settling delay when a channel is re-enabled after a period when the data was not needed.

0x1 : ENABLED

FIFO is enabled. The FIFO must be enabled in order for the CPU or DMA to read data from the DMIC via the FIFODATA register.

End of enumeration elements list.

RESETN : FIFO reset.
bits : 1 - 1 (1 bit)
access : read-write

Enumeration:

0 : RESET

Reset the FIFO.

0x1 : NORMAL

Normal operation

End of enumeration elements list.

INTEN : Interrupt enable.
bits : 2 - 2 (1 bit)
access : read-write

Enumeration:

0 : DISABLED

FIFO level interrupts are not enabled.

0x1 : ENABLED

FIFO level interrupts are enabled.

End of enumeration elements list.

DMAEN : DMA enable
bits : 3 - 3 (1 bit)
access : read-write

Enumeration:

0 : DISABLED

DMA requests are not enabled.

0x1 : ENABLED

DMA requests based on FIFO level are enabled.

End of enumeration elements list.

TRIGLVL : Trigger level for interrupt
bits : 16 - 20 (5 bit)
access : read-write


CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_STATUS

FIFO Status
address_offset : 0x684 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_STATUS CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_STATUS read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 INT OVERRUN UNDERRUN

INT : Status of Interrupt (write 1 to clear)
bits : 0 - 0 (1 bit)
access : read-write

OVERRUN : Overrun Detected (write 1 to clear)
bits : 1 - 1 (1 bit)
access : read-write

UNDERRUN : Underrun Detected (write 1 to clear)
bits : 2 - 2 (1 bit)
access : read-write


CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_DATA

FIFO Data
address_offset : 0x688 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_DATA CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_DATA read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DATA

DATA : PCM Data
bits : 0 - 23 (24 bit)
access : read-only


CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PHY_CTRL

Phy Ctrl
address_offset : 0x68C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PHY_CTRL CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PHY_CTRL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PHY_FALL PHY_HALF

PHY_FALL : Capture DMIC on Falling edge (0 means on rising)
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

0 : RISING_EDGE

Capture PDM_DATA on the rising edge of PDM_CLK.

0x1 : FALLING_EDGE

Capture PDM_DATA on the falling edge of PDM_CLK.

End of enumeration elements list.

PHY_HALF : Use Half rate sampling (ie Clock to dmic is sent at half the speed than the decimator is providing)
bits : 1 - 1 (1 bit)
access : read-write

Enumeration:

0 : STANDARD

Standard half rate sampling. The clock to the DMIC is sent at the same rate as the decimator is providing.

0x1 : HALF_RATE

Use half rate sampling. The clock to the DMIC is sent at half the rate as the decimator is providing.

End of enumeration elements list.


CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DC_CTRL

DC Filter Control
address_offset : 0x690 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DC_CTRL CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DC_CTRL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DCPOLE DCGAIN SATURATEAT16BIT SIGNEXTEND

DCPOLE : DC block filter
bits : 0 - 1 (2 bit)
access : read-write

Enumeration:

0 : FLAT_RESPONSE

Flat response, no filter.

0x1 : HZ_155

155 Hz.

0x2 : HZ_78

78 Hz.

0x3 : HZ_39

39 Hz

End of enumeration elements list.

DCGAIN : Fine gain adjustment in the form of a number of bits to downshift.
bits : 4 - 7 (4 bit)
access : read-write

SATURATEAT16BIT : Selects 16-bit saturation.
bits : 8 - 8 (1 bit)
access : read-write

Enumeration:

0 : DO_NOT_SATURATE

Results roll over if out range and do not saturate.

0x1 : SATURATE

If the result overflows, it saturates at 0xFFFF for positive overflow and 0x8000 for negative overflow.

End of enumeration elements list.

SIGNEXTEND : Sign extend.
bits : 9 - 9 (1 bit)
access : read-write

Enumeration:

0 : DO_NOT_SIGNEXTEND

The top byte of the FIFODATA register is always 0.

0x1 : SIGNEXTEND

The top byte of the FIFODATA register is sign extended. This allows processing of 24-bit audio data on 32-bit machines.

End of enumeration elements list.


CHANNEL[0]-PREAC2FSCOEF

Compensation filter for 2FS
address_offset : 0x8 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[0]-PREAC2FSCOEF CHANNEL[0]-PREAC2FSCOEF read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 COMP

COMP : Co-efficient choice for CIC droop compensation droop filter
bits : 0 - 1 (2 bit)
access : read-write


CHANNEL[0]-FIFO_CTRL

FIFO Control
address_offset : 0x80 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[0]-FIFO_CTRL CHANNEL[0]-FIFO_CTRL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ENABLE RESETN INTEN DMAEN TRIGLVL

ENABLE : FIFO enable.
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

0 : DISABLED

FIFO is not enabled. Enabling a DMIC channel with the FIFO disabled could be useful while data is being streamed to the I2S, or in order to avoid a filter settling delay when a channel is re-enabled after a period when the data was not needed.

0x1 : ENABLED

FIFO is enabled. The FIFO must be enabled in order for the CPU or DMA to read data from the DMIC via the FIFODATA register.

End of enumeration elements list.

RESETN : FIFO reset.
bits : 1 - 1 (1 bit)
access : read-write

Enumeration:

0 : RESET

Reset the FIFO.

0x1 : NORMAL

Normal operation

End of enumeration elements list.

INTEN : Interrupt enable.
bits : 2 - 2 (1 bit)
access : read-write

Enumeration:

0 : DISABLED

FIFO level interrupts are not enabled.

0x1 : ENABLED

FIFO level interrupts are enabled.

End of enumeration elements list.

DMAEN : DMA enable
bits : 3 - 3 (1 bit)
access : read-write

Enumeration:

0 : DISABLED

DMA requests are not enabled.

0x1 : ENABLED

DMA requests based on FIFO level are enabled.

End of enumeration elements list.

TRIGLVL : Trigger level for interrupt
bits : 16 - 20 (5 bit)
access : read-write


CHANNEL[0]-FIFO_STATUS

FIFO Status
address_offset : 0x84 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[0]-FIFO_STATUS CHANNEL[0]-FIFO_STATUS read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 INT OVERRUN UNDERRUN

INT : Status of Interrupt (write 1 to clear)
bits : 0 - 0 (1 bit)
access : read-write

OVERRUN : Overrun Detected (write 1 to clear)
bits : 1 - 1 (1 bit)
access : read-write

UNDERRUN : Underrun Detected (write 1 to clear)
bits : 2 - 2 (1 bit)
access : read-write


CHANNEL[0]-FIFO_DATA

FIFO Data
address_offset : 0x88 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[0]-FIFO_DATA CHANNEL[0]-FIFO_DATA read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DATA

DATA : PCM Data
bits : 0 - 23 (24 bit)
access : read-only


CHANNEL[0]-PHY_CTRL

Phy Ctrl
address_offset : 0x8C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[0]-PHY_CTRL CHANNEL[0]-PHY_CTRL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PHY_FALL PHY_HALF

PHY_FALL : Capture DMIC on Falling edge (0 means on rising)
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

0 : RISING_EDGE

Capture PDM_DATA on the rising edge of PDM_CLK.

0x1 : FALLING_EDGE

Capture PDM_DATA on the falling edge of PDM_CLK.

End of enumeration elements list.

PHY_HALF : Use Half rate sampling (ie Clock to dmic is sent at half the speed than the decimator is providing)
bits : 1 - 1 (1 bit)
access : read-write

Enumeration:

0 : STANDARD

Standard half rate sampling. The clock to the DMIC is sent at the same rate as the decimator is providing.

0x1 : HALF_RATE

Use half rate sampling. The clock to the DMIC is sent at half the rate as the decimator is providing.

End of enumeration elements list.


CHANNEL[0]-DC_CTRL

DC Filter Control
address_offset : 0x90 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[0]-DC_CTRL CHANNEL[0]-DC_CTRL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DCPOLE DCGAIN SATURATEAT16BIT SIGNEXTEND

DCPOLE : DC block filter
bits : 0 - 1 (2 bit)
access : read-write

Enumeration:

0 : FLAT_RESPONSE

Flat response, no filter.

0x1 : HZ_155

155 Hz.

0x2 : HZ_78

78 Hz.

0x3 : HZ_39

39 Hz

End of enumeration elements list.

DCGAIN : Fine gain adjustment in the form of a number of bits to downshift.
bits : 4 - 7 (4 bit)
access : read-write

SATURATEAT16BIT : Selects 16-bit saturation.
bits : 8 - 8 (1 bit)
access : read-write

Enumeration:

0 : DO_NOT_SATURATE

Results roll over if out range and do not saturate.

0x1 : SATURATE

If the result overflows, it saturates at 0xFFFF for positive overflow and 0x8000 for negative overflow.

End of enumeration elements list.

SIGNEXTEND : Sign extend.
bits : 9 - 9 (1 bit)
access : read-write

Enumeration:

0 : DO_NOT_SIGNEXTEND

The top byte of the FIFODATA register is always 0.

0x1 : SIGNEXTEND

The top byte of the FIFODATA register is sign extended. This allows processing of 24-bit audio data on 32-bit machines.

End of enumeration elements list.


CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-OSR

CIC Filter decimation rate
address_offset : 0xA00 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-OSR CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-OSR read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 OSR

OSR : Selects the oversample rate for the related input channel.
bits : 0 - 7 (8 bit)
access : read-write


CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DIVHFCLK

Divider for generating PDM clock from DMIC clock input
address_offset : 0xA04 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DIVHFCLK CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DIVHFCLK read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PDMDIV

PDMDIV : Divide by factor to create PDM Clock (enumerated type)
bits : 0 - 3 (4 bit)
access : read-write


CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF

Compensation filter for 2FS
address_offset : 0xA08 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 COMP

COMP : Co-efficient choice for CIC droop compensation droop filter
bits : 0 - 1 (2 bit)
access : read-write


CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF

Compensation filter for 4FS
address_offset : 0xA0C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 COMP

COMP : Co-efficient choice for CIC droop compensation droop filter
bits : 0 - 1 (2 bit)
access : read-write


CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-GAINSHIFT

Decimator output gain adjustment
address_offset : 0xA10 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-GAINSHIFT CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-GAINSHIFT read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 GAIN

GAIN : Gain shift for decimator output (can be positive or negative number)
bits : 0 - 5 (6 bit)
access : read-write


CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_CTRL

FIFO Control
address_offset : 0xA80 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_CTRL CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_CTRL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ENABLE RESETN INTEN DMAEN TRIGLVL

ENABLE : FIFO enable.
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

0 : DISABLED

FIFO is not enabled. Enabling a DMIC channel with the FIFO disabled could be useful while data is being streamed to the I2S, or in order to avoid a filter settling delay when a channel is re-enabled after a period when the data was not needed.

0x1 : ENABLED

FIFO is enabled. The FIFO must be enabled in order for the CPU or DMA to read data from the DMIC via the FIFODATA register.

End of enumeration elements list.

RESETN : FIFO reset.
bits : 1 - 1 (1 bit)
access : read-write

Enumeration:

0 : RESET

Reset the FIFO.

0x1 : NORMAL

Normal operation

End of enumeration elements list.

INTEN : Interrupt enable.
bits : 2 - 2 (1 bit)
access : read-write

Enumeration:

0 : DISABLED

FIFO level interrupts are not enabled.

0x1 : ENABLED

FIFO level interrupts are enabled.

End of enumeration elements list.

DMAEN : DMA enable
bits : 3 - 3 (1 bit)
access : read-write

Enumeration:

0 : DISABLED

DMA requests are not enabled.

0x1 : ENABLED

DMA requests based on FIFO level are enabled.

End of enumeration elements list.

TRIGLVL : Trigger level for interrupt
bits : 16 - 20 (5 bit)
access : read-write


CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_STATUS

FIFO Status
address_offset : 0xA84 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_STATUS CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_STATUS read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 INT OVERRUN UNDERRUN

INT : Status of Interrupt (write 1 to clear)
bits : 0 - 0 (1 bit)
access : read-write

OVERRUN : Overrun Detected (write 1 to clear)
bits : 1 - 1 (1 bit)
access : read-write

UNDERRUN : Underrun Detected (write 1 to clear)
bits : 2 - 2 (1 bit)
access : read-write


CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_DATA

FIFO Data
address_offset : 0xA88 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_DATA CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_DATA read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DATA

DATA : PCM Data
bits : 0 - 23 (24 bit)
access : read-only


CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PHY_CTRL

Phy Ctrl
address_offset : 0xA8C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PHY_CTRL CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PHY_CTRL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PHY_FALL PHY_HALF

PHY_FALL : Capture DMIC on Falling edge (0 means on rising)
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

0 : RISING_EDGE

Capture PDM_DATA on the rising edge of PDM_CLK.

0x1 : FALLING_EDGE

Capture PDM_DATA on the falling edge of PDM_CLK.

End of enumeration elements list.

PHY_HALF : Use Half rate sampling (ie Clock to dmic is sent at half the speed than the decimator is providing)
bits : 1 - 1 (1 bit)
access : read-write

Enumeration:

0 : STANDARD

Standard half rate sampling. The clock to the DMIC is sent at the same rate as the decimator is providing.

0x1 : HALF_RATE

Use half rate sampling. The clock to the DMIC is sent at half the rate as the decimator is providing.

End of enumeration elements list.


CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DC_CTRL

DC Filter Control
address_offset : 0xA90 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DC_CTRL CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DC_CTRL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DCPOLE DCGAIN SATURATEAT16BIT SIGNEXTEND

DCPOLE : DC block filter
bits : 0 - 1 (2 bit)
access : read-write

Enumeration:

0 : FLAT_RESPONSE

Flat response, no filter.

0x1 : HZ_155

155 Hz.

0x2 : HZ_78

78 Hz.

0x3 : HZ_39

39 Hz

End of enumeration elements list.

DCGAIN : Fine gain adjustment in the form of a number of bits to downshift.
bits : 4 - 7 (4 bit)
access : read-write

SATURATEAT16BIT : Selects 16-bit saturation.
bits : 8 - 8 (1 bit)
access : read-write

Enumeration:

0 : DO_NOT_SATURATE

Results roll over if out range and do not saturate.

0x1 : SATURATE

If the result overflows, it saturates at 0xFFFF for positive overflow and 0x8000 for negative overflow.

End of enumeration elements list.

SIGNEXTEND : Sign extend.
bits : 9 - 9 (1 bit)
access : read-write

Enumeration:

0 : DO_NOT_SIGNEXTEND

The top byte of the FIFODATA register is always 0.

0x1 : SIGNEXTEND

The top byte of the FIFODATA register is sign extended. This allows processing of 24-bit audio data on 32-bit machines.

End of enumeration elements list.


CHANNEL[0]-PREAC4FSCOEF

Compensation filter for 4FS
address_offset : 0xC Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[0]-PREAC4FSCOEF CHANNEL[0]-PREAC4FSCOEF read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 COMP

COMP : Co-efficient choice for CIC droop compensation droop filter
bits : 0 - 1 (2 bit)
access : read-write


CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-OSR

CIC Filter decimation rate
address_offset : 0xF00 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-OSR CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-OSR read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 OSR

OSR : Selects the oversample rate for the related input channel.
bits : 0 - 7 (8 bit)
access : read-write


CHANEN

Channel Enable register
address_offset : 0xF00 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANEN CHANEN read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 EN_CH0 EN_CH1 EN_CH2 EN_CH3 EN_CH4 EN_CH5 EN_CH6 EN_CH7

EN_CH0 : Enable channel 0. When 1, PDM channel 0 is enabled.
bits : 0 - 0 (1 bit)
access : read-write

EN_CH1 : Enable channel 1. When 1, PDM channel 1 is enabled.
bits : 1 - 1 (1 bit)
access : read-write

EN_CH2 : Enable channel 2. When 1, PDM channel 2 is enabled.
bits : 2 - 2 (1 bit)
access : read-write

EN_CH3 : Enable channel 3. When 1, PDM channel 3 is enabled.
bits : 3 - 3 (1 bit)
access : read-write

EN_CH4 : Enable channel 4. When 1, PDM channel 4 is enabled.
bits : 4 - 4 (1 bit)
access : read-write

EN_CH5 : Enable channel 5. When 1, PDM channel 5 is enabled.
bits : 5 - 5 (1 bit)
access : read-write

EN_CH6 : Enable channel 6. When 1, PDM channel 6 is enabled.
bits : 6 - 6 (1 bit)
access : read-write

EN_CH7 : Enable channel 7. When 1, PDM channel 7 is enabled.
bits : 7 - 7 (1 bit)
access : read-write


CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DIVHFCLK

Divider for generating PDM clock from DMIC clock input
address_offset : 0xF04 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DIVHFCLK CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DIVHFCLK read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PDMDIV

PDMDIV : Divide by factor to create PDM Clock (enumerated type)
bits : 0 - 3 (4 bit)
access : read-write


CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF

Compensation filter for 2FS
address_offset : 0xF08 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC2FSCOEF read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 COMP

COMP : Co-efficient choice for CIC droop compensation droop filter
bits : 0 - 1 (2 bit)
access : read-write


CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF

Compensation filter for 4FS
address_offset : 0xF0C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PREAC4FSCOEF read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 COMP

COMP : Co-efficient choice for CIC droop compensation droop filter
bits : 0 - 1 (2 bit)
access : read-write


CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-GAINSHIFT

Decimator output gain adjustment
address_offset : 0xF10 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-GAINSHIFT CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-GAINSHIFT read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 GAIN

GAIN : Gain shift for decimator output (can be positive or negative number)
bits : 0 - 5 (6 bit)
access : read-write


USE2FS

Use 2FS register
address_offset : 0xF10 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

USE2FS USE2FS read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 USE2FS

USE2FS : Use 2FS register
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

0 : USE_1FS

Use 1FS output for PCM data.

0x1 : USE_2FS

Use 2FS output for PCM data.

End of enumeration elements list.


GLOBAL_SYNC_EN

global sync enable
address_offset : 0xF14 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

GLOBAL_SYNC_EN GLOBAL_SYNC_EN read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CH_SYNC_EN

CH_SYNC_EN : Choose which channels to sync to global sync (7:0) corresponds to the 8 channels
bits : 0 - 7 (8 bit)
access : read-write


GLOBAL_COUNT_VAL

no description available
address_offset : 0xF18 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

GLOBAL_COUNT_VAL GLOBAL_COUNT_VAL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 CCOUNTVAL

CCOUNTVAL : 32bit value, global sync counter will trigger a pulse whenever count reaches GCOUNTVAL
bits : 0 - 31 (32 bit)
access : read-write


DECRESET

no description available
address_offset : 0xF1C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

DECRESET DECRESET read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DECRESET

DECRESET : no description available
bits : 0 - 7 (8 bit)
access : read-write

Enumeration:

0 : RELEASE_RESET

release reset to decimator

0x1 : ASSERT_RESET

assert reset to decimator Note : resets are applied in pairs. So bit 0 corresponds to channels 0/1, bit1 corresponds to channels 2/3, bit2 to channel 4/5 and bit3 to channel 6/7

End of enumeration elements list.


CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_CTRL

FIFO Control
address_offset : 0xF80 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_CTRL CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_CTRL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ENABLE RESETN INTEN DMAEN TRIGLVL

ENABLE : FIFO enable.
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

0 : DISABLED

FIFO is not enabled. Enabling a DMIC channel with the FIFO disabled could be useful while data is being streamed to the I2S, or in order to avoid a filter settling delay when a channel is re-enabled after a period when the data was not needed.

0x1 : ENABLED

FIFO is enabled. The FIFO must be enabled in order for the CPU or DMA to read data from the DMIC via the FIFODATA register.

End of enumeration elements list.

RESETN : FIFO reset.
bits : 1 - 1 (1 bit)
access : read-write

Enumeration:

0 : RESET

Reset the FIFO.

0x1 : NORMAL

Normal operation

End of enumeration elements list.

INTEN : Interrupt enable.
bits : 2 - 2 (1 bit)
access : read-write

Enumeration:

0 : DISABLED

FIFO level interrupts are not enabled.

0x1 : ENABLED

FIFO level interrupts are enabled.

End of enumeration elements list.

DMAEN : DMA enable
bits : 3 - 3 (1 bit)
access : read-write

Enumeration:

0 : DISABLED

DMA requests are not enabled.

0x1 : ENABLED

DMA requests based on FIFO level are enabled.

End of enumeration elements list.

TRIGLVL : Trigger level for interrupt
bits : 16 - 20 (5 bit)
access : read-write


HWVADGAIN

HWVAD input gain register
address_offset : 0xF80 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

HWVADGAIN HWVADGAIN read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 INPUTGAIN

INPUTGAIN : Gain factor for input signal into HWVAD
bits : 0 - 3 (4 bit)
access : read-write


CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_STATUS

FIFO Status
address_offset : 0xF84 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_STATUS CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_STATUS read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 INT OVERRUN UNDERRUN

INT : Status of Interrupt (write 1 to clear)
bits : 0 - 0 (1 bit)
access : read-write

OVERRUN : Overrun Detected (write 1 to clear)
bits : 1 - 1 (1 bit)
access : read-write

UNDERRUN : Underrun Detected (write 1 to clear)
bits : 2 - 2 (1 bit)
access : read-write


HWVADHPFS

HWVAD filter control register
address_offset : 0xF84 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

HWVADHPFS HWVADHPFS read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 HPFS

HPFS : This field chooses the High Pass filter in first part of HWVAD
bits : 0 - 1 (2 bit)
access : read-write

Enumeration:

0 : BYPASS

First filter by-pass.

0x1 : HIGH_PASS_1750HZ

High pass filter with -3dB cut-off at 1750Hz.

0x2 : HIGH_PASS_215HZ

High pass filter with -3dB cut-off at 215Hz.

End of enumeration elements list.


CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_DATA

FIFO Data
address_offset : 0xF88 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_DATA CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-FIFO_DATA read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DATA

DATA : PCM Data
bits : 0 - 23 (24 bit)
access : read-only


HWVADST10

HWVAD control register
address_offset : 0xF88 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

HWVADST10 HWVADST10 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ST10

ST10 : 1' means enter stage 1 of VAD, ie a sound change has been detected and the HWVAD is being allowed to settle. Use 0 when changing back to detection mode. Allow several milliseconds in stage 1 for settling.
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

0 : NORMAL

Normal operation, waiting for HWVAD trigger event (stage 0).

0x1 : RESET

Reset internal interrupt flag by writing a '1' pulse.

End of enumeration elements list.


CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PHY_CTRL

Phy Ctrl
address_offset : 0xF8C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PHY_CTRL CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-PHY_CTRL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PHY_FALL PHY_HALF

PHY_FALL : Capture DMIC on Falling edge (0 means on rising)
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

0 : RISING_EDGE

Capture PDM_DATA on the rising edge of PDM_CLK.

0x1 : FALLING_EDGE

Capture PDM_DATA on the falling edge of PDM_CLK.

End of enumeration elements list.

PHY_HALF : Use Half rate sampling (ie Clock to dmic is sent at half the speed than the decimator is providing)
bits : 1 - 1 (1 bit)
access : read-write

Enumeration:

0 : STANDARD

Standard half rate sampling. The clock to the DMIC is sent at the same rate as the decimator is providing.

0x1 : HALF_RATE

Use half rate sampling. The clock to the DMIC is sent at half the rate as the decimator is providing.

End of enumeration elements list.


HWVADRSTT

HWVAD filter reset register
address_offset : 0xF8C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

HWVADRSTT HWVADRSTT read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 RSTT

RSTT : Reset HWVAD. Write back to 0 to release reset.
bits : 0 - 0 (1 bit)
access : read-write


CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DC_CTRL

DC Filter Control
address_offset : 0xF90 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DC_CTRL CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-DC_CTRL read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DCPOLE DCGAIN SATURATEAT16BIT SIGNEXTEND

DCPOLE : DC block filter
bits : 0 - 1 (2 bit)
access : read-write

Enumeration:

0 : FLAT_RESPONSE

Flat response, no filter.

0x1 : HZ_155

155 Hz.

0x2 : HZ_78

78 Hz.

0x3 : HZ_39

39 Hz

End of enumeration elements list.

DCGAIN : Fine gain adjustment in the form of a number of bits to downshift.
bits : 4 - 7 (4 bit)
access : read-write

SATURATEAT16BIT : Selects 16-bit saturation.
bits : 8 - 8 (1 bit)
access : read-write

Enumeration:

0 : DO_NOT_SATURATE

Results roll over if out range and do not saturate.

0x1 : SATURATE

If the result overflows, it saturates at 0xFFFF for positive overflow and 0x8000 for negative overflow.

End of enumeration elements list.

SIGNEXTEND : Sign extend.
bits : 9 - 9 (1 bit)
access : read-write

Enumeration:

0 : DO_NOT_SIGNEXTEND

The top byte of the FIFODATA register is always 0.

0x1 : SIGNEXTEND

The top byte of the FIFODATA register is sign extended. This allows processing of 24-bit audio data on 32-bit machines.

End of enumeration elements list.


HWVADTHGN

HWVAD noise estimator gain register
address_offset : 0xF90 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

HWVADTHGN HWVADTHGN read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 THGN

THGN : Gain Factor for Noise-floor - use a positive number to make average less sensitive to sudden changes
bits : 0 - 3 (4 bit)
access : read-write


HWVADTHGS

HWVAD signal estimator gain register
address_offset : 0xF94 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

HWVADTHGS HWVADTHGS read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 THGS

THGS : Signal Gain factor - use a postive number to make current signal stand out more over longer term average
bits : 0 - 3 (4 bit)
access : read-write


HWVADLOWZ

HWVAD noise envelope estimator register
address_offset : 0xF98 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

HWVADLOWZ HWVADLOWZ read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LOWZ

LOWZ : Average noise-floor value
bits : 0 - 15 (16 bit)
access : read-only



Is something missing? Is something wrong? can you help correct it ? Please contact us at info@chipselect.org !

This website is sponsored by EmbeetleEmbeetle, an IDE designed from scratch for embedded software developers.