6fbd76bef3
Add driver for NXP DMIC peripheral. This peripheral is present on the iMX RT5xx and iMX RT6xx parts, as well as some LPC SOCs. The following features are supported: - up to 2 simultaneous channels of L/R PCM data (4 channels are not supported due to limitations of the DMA engine) - individual configuration of gain and filter parameters for each DMIC channel input The driver has been tested with up to 4 PCM data streams (2 L/R channels), as well as the MEMS microphones present on the RT595 EVK. Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com> Co-authored-by: Yves Vandervennet <yves.vandervennet@nxp.com>
33 lines
908 B
Plaintext
33 lines
908 B
Plaintext
# Copyright 2023 NXP
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
config AUDIO_DMIC_MCUX
|
|
bool "DMIC driver for MCUX"
|
|
default y
|
|
depends on DT_HAS_NXP_DMIC_ENABLED
|
|
select DMA
|
|
help
|
|
Enable support for DMIC on NXP MCUX SoC's
|
|
|
|
if AUDIO_DMIC_MCUX
|
|
|
|
config DMIC_MCUX_DMA_BUFFERS
|
|
int "Number of buffers to reserve for DMIC DMA"
|
|
default 2
|
|
range 2 16
|
|
help
|
|
This determines how many buffers the driver should allocate and
|
|
reserve for the DMA engine. The memory slab used with the DMIC
|
|
API should provide at least one more buffer than this value, since
|
|
a buffer will always be in the RX queue.
|
|
|
|
config DMIC_MCUX_QUEUE_SIZE
|
|
int "Size of DMIC buffer queue"
|
|
default 8
|
|
help
|
|
This sets the size of the RX buffer queue for the DMIC. Up to this
|
|
many buffers may be queued by the DMIC once it is triggered, before
|
|
the application must read buffers to avoid data being dropped.
|
|
|
|
endif # AUDIO_DMIC_MCUX
|