Skip to content

Commit e5cd38f

Browse files
committed
drivers: audio: Add NXP PDM driver
Add NXP PDM driver base DMIC device driver model. Signed-off-by: Zhaoxiang Jin <[email protected]>
1 parent c778370 commit e5cd38f

File tree

5 files changed

+665
-6
lines changed

5 files changed

+665
-6
lines changed

drivers/audio/CMakeLists.txt

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,18 @@
22

33
zephyr_library()
44

5-
zephyr_library_sources_ifdef(CONFIG_AUDIO_TLV320AIC3110 tlv320aic3110.c)
6-
zephyr_library_sources_ifdef(CONFIG_AUDIO_TLV320DAC tlv320dac310x.c)
7-
zephyr_library_sources_ifdef(CONFIG_AUDIO_MPXXDTYY mpxxdtyy.c)
8-
zephyr_library_sources_ifdef(CONFIG_AUDIO_MPXXDTYY mpxxdtyy-i2s.c)
9-
zephyr_library_sources_ifdef(CONFIG_AUDIO_DMIC_NRFX_PDM dmic_nrfx_pdm.c)
5+
zephyr_library_sources_ifdef(CONFIG_AUDIO_TLV320AIC3110 tlv320aic3110.c)
6+
zephyr_library_sources_ifdef(CONFIG_AUDIO_TLV320DAC tlv320dac310x.c)
7+
zephyr_library_sources_ifdef(CONFIG_AUDIO_MPXXDTYY mpxxdtyy.c)
8+
zephyr_library_sources_ifdef(CONFIG_AUDIO_MPXXDTYY mpxxdtyy-i2s.c)
9+
zephyr_library_sources_ifdef(CONFIG_AUDIO_DMIC_NRFX_PDM dmic_nrfx_pdm.c)
1010
zephyr_library_sources_ifdef(CONFIG_AUDIO_TAS6422DAC tas6422dac.c)
11-
zephyr_library_sources_ifdef(CONFIG_AUDIO_CODEC_SHELL codec_shell.c)
11+
zephyr_library_sources_ifdef(CONFIG_AUDIO_CODEC_SHELL codec_shell.c)
1212
zephyr_library_sources_ifdef(CONFIG_AUDIO_DMIC_MCUX dmic_mcux.c)
1313
zephyr_library_sources_ifdef(CONFIG_AUDIO_CODEC_WM8904 wm8904.c)
1414
zephyr_library_sources_ifdef(CONFIG_AUDIO_CODEC_WM8962 wm8962.c)
1515
zephyr_library_sources_ifdef(CONFIG_AUDIO_CODEC_CS43L22 cs43l22.c)
1616
zephyr_library_sources_ifdef(CONFIG_AUDIO_CODEC_PCM1681 pcm1681.c)
1717
zephyr_library_sources_ifdef(CONFIG_AUDIO_CODEC_MAX98091 max98091.c)
1818
zephyr_library_sources_ifdef(CONFIG_AUDIO_DMIC_AMBIQ_PDM dmic_ambiq_pdm.c)
19+
zephyr_library_sources_ifdef(CONFIG_AUDIO_DMIC_NXP_PDM dmic_nxp_pdm.c)

drivers/audio/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ source "drivers/audio/Kconfig.mpxxdtyy"
6767
source "drivers/audio/Kconfig.dmic_pdm_nrfx"
6868
source "drivers/audio/Kconfig.dmic_mcux"
6969
source "drivers/audio/Kconfig.dmic_ambiq_pdm"
70+
source "drivers/audio/Kconfig.dmic_nxp_pdm"
7071

7172
endif # AUDIO_DMIC
7273

drivers/audio/Kconfig.dmic_nxp_pdm

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Copyright 2025 NXP
2+
#
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
config AUDIO_DMIC_NXP_PDM
6+
bool "NXP PDM driver"
7+
default y
8+
depends on DT_HAS_NXP_PDM_ENABLED
9+
select HAS_MCUX
10+
select CLOCK_CONTROL
11+
help
12+
Enable NXP PDM driver.
13+
14+
if AUDIO_DMIC_NXP_PDM
15+
16+
config DMIC_NXP_PDM_QUEUE_SIZE
17+
int "Message queue depth"
18+
default 4
19+
help
20+
Depth of the message queue used to pass filled buffers to the app.
21+
22+
endif # AUDIO_DMIC_NXP_PDM

0 commit comments

Comments
 (0)