Skip to content

Commit

Permalink
ASoC: atmel: mchp-pdmc: add PDMC driver
Browse files Browse the repository at this point in the history
The Pulse Density Microphone Controller (PDMC) interfaces up to 4 digital
microphones having Pulse Density Modulated (PDM) outputs. It generates a
single clock line and samples 1 or 2 data lines. The signal path includes
an audio grade programmable decimation filter and outputs 24-bit audio
words on the APB bus.

Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
Link: https://lore.kernel.org/r/20220307122202.2251639-4-codrin.ciubotariu@microchip.com
Signed-off-by: Mark Brown <broonie@kernel.org>
  • Loading branch information
codrin989 authored and broonie committed Mar 8, 2022
1 parent 015044e commit 5029165
Show file tree
Hide file tree
Showing 3 changed files with 1,102 additions and 0 deletions.
16 changes: 16 additions & 0 deletions sound/soc/atmel/Kconfig
Expand Up @@ -160,4 +160,20 @@ config SND_MCHP_SOC_SPDIFRX

This S/PDIF RX driver is compliant with IEC-60958 standard and
includes programmable User Data and Channel Status fields.

config SND_MCHP_SOC_PDMC
tristate "Microchip ASoC driver for boards using PDMC"
depends on OF && (ARCH_AT91 || COMPILE_TEST)
select SND_SOC_GENERIC_DMAENGINE_PCM
select REGMAP_MMIO
help
Say Y or M if you want to add support for Microchip ASoC PDMC driver on the
following Microchip platforms:
- sama7g5

The Pulse Density Microphone Controller (PDMC) interfaces up to 4 digital
microphones PDM outputs. It generates a single clock line and samples 1 or
2 data lines. The signal path includes an audio grade programmable
decimation filter and outputs 24-bit audio words.

endif
2 changes: 2 additions & 0 deletions sound/soc/atmel/Makefile
Expand Up @@ -7,6 +7,7 @@ snd-soc-atmel-i2s-objs := atmel-i2s.o
snd-soc-mchp-i2s-mcc-objs := mchp-i2s-mcc.o
snd-soc-mchp-spdiftx-objs := mchp-spdiftx.o
snd-soc-mchp-spdifrx-objs := mchp-spdifrx.o
snd-soc-mchp-pdmc-objs := mchp-pdmc.o

# pdc and dma need to both be built-in if any user of
# ssc is built-in.
Expand All @@ -21,6 +22,7 @@ obj-$(CONFIG_SND_ATMEL_SOC_I2S) += snd-soc-atmel-i2s.o
obj-$(CONFIG_SND_MCHP_SOC_I2S_MCC) += snd-soc-mchp-i2s-mcc.o
obj-$(CONFIG_SND_MCHP_SOC_SPDIFTX) += snd-soc-mchp-spdiftx.o
obj-$(CONFIG_SND_MCHP_SOC_SPDIFRX) += snd-soc-mchp-spdifrx.o
obj-$(CONFIG_SND_MCHP_SOC_PDMC) += snd-soc-mchp-pdmc.o

# AT91 Machine Support
snd-soc-sam9g20-wm8731-objs := sam9g20_wm8731.o
Expand Down

0 comments on commit 5029165

Please sign in to comment.