[PATCH v3 0/6] Add driver for SAMA7G5's PDMC
From: Codrin Ciubotariu
Date: Mon Mar 07 2022 - 07:23:13 EST
This patch series adds support for Pulse Density Microphone Controller
(PDMC), present on Microchip's SAMA7G5.
The 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.
The source of each channel can be independently defined as PDMC_DS0 or
PDMC_DS1, sampled at the rising or falling edge of PDMC_CLK.
The patch series starts with a fix on the ASoC DMA engine support. Then
continues with the bindings and the driver of PDMC. It is followed by the
DT nodes for SAMA7G5 and SAMA7G5-EK. In the end, the drivers for PDMC
and PDM microphones are enabled in sama7_defconfig.
Changes in v3:
- addressed new DT bindings comments from Krzysztof Kozlowski
Changes in v2:
- addressed DT bindings comments from Krzysztof Kozlowski
Codrin Ciubotariu (6):
ASoC: dmaengine: do not use a NULL prepare_slave_config() callback
ASoC: dt-bindings: Document Microchip's PDMC
ASoC: atmel: mchp-pdmc: add PDMC driver
ARM: dts: at91: sama7g5: add nodes for PDMC
ARM: dts: at91: sama7g5ek: add node for PDMC0
ARM: configs: at91: sama7_defconfig: add MCHP PDMC and DMIC drivers
.../bindings/sound/microchip,pdmc.yaml | 100 ++
arch/arm/boot/dts/at91-sama7g5ek.dts | 21 +-
arch/arm/boot/dts/sama7g5.dtsi | 24 +
arch/arm/configs/sama7_defconfig | 2 +
include/dt-bindings/sound/microchip,pdmc.h | 13 +
sound/soc/atmel/Kconfig | 16 +
sound/soc/atmel/Makefile | 2 +
sound/soc/atmel/mchp-pdmc.c | 1084 +++++++++++++++++
sound/soc/soc-generic-dmaengine-pcm.c | 6 +-
9 files changed, 1264 insertions(+), 4 deletions(-)
create mode 100644 Documentation/devicetree/bindings/sound/microchip,pdmc.yaml
create mode 100644 include/dt-bindings/sound/microchip,pdmc.h
create mode 100644 sound/soc/atmel/mchp-pdmc.c
--
2.32.0