mbox series

[0/6] Add driver for SAMA7G5's PDMC

Message ID 20220304181756.1894561-1-codrin.ciubotariu@microchip.com
Headers show
Series Add driver for SAMA7G5's PDMC | expand

Message

Codrin Ciubotariu March 4, 2022, 6:17 p.m. UTC
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.

Codrin Ciubotariu (6):
  ASoC: dmaengine: do not use a NULL prepare_slave_config() callback
  ASoC: add DT bindings for Microchip 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

 .../devicetree/bindings/sound/mchp,pdmc.yaml  |   99 ++
 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/mchp,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, 1263 insertions(+), 4 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/sound/mchp,pdmc.yaml
 create mode 100644 include/dt-bindings/sound/mchp,pdmc.h
 create mode 100644 sound/soc/atmel/mchp-pdmc.c

Comments

Krzysztof Kozlowski March 5, 2022, 10:06 p.m. UTC | #1
On 04/03/2022 19:17, Codrin Ciubotariu wrote:
> Microchip's SAMA7G5 embeds two PDMCs. The PDMCs can be used to connect 2x4
> PDM microphones.
> 
> Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
> ---
>  arch/arm/boot/dts/sama7g5.dtsi | 24 ++++++++++++++++++++++++
>  1 file changed, 24 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/sama7g5.dtsi b/arch/arm/boot/dts/sama7g5.dtsi
> index eddcfbf4d223..85a22c3a8e57 100644
> --- a/arch/arm/boot/dts/sama7g5.dtsi
> +++ b/arch/arm/boot/dts/sama7g5.dtsi
> @@ -275,6 +275,30 @@ pwm: pwm@e1604000 {
>  			status = "disabled";
>  		};
>  
> +		pdmc0: pdmc@e1608000 {

Similarly to bindings - generic node name.

Best regards,
Krzysztof