[PATCH v2 0/2] Add PDM controller for StarFive JH8100 SoC
From: Xingyu Wu
Date: Tue Apr 23 2024 - 06:07:06 EST
The Pulse Density Modulation (PDM) controller is a digital PDM
microphone interface controller and decoder that supports both
mono/stereo PDM format, and a Inter-IC Sound (I2S) transmitter
that outputs standard stereo audio data to another device. The
PDM controller includes two PDM blocks, each PDM block can drive
one bitstream sampling clock and two bitstream coming data
(mono/stereo) with sampling clock rising and falling edge.
The first patch adds documentation to describe PDM controller
bindings. And the second patch adds PDM driver for the StarFive
JH8100 SoC. The DTS patch of PDM controller will be submitted
after the patchs of JH8100 DTS are accepted.
Changes since v1:
- Changed the subject prefix of the bindings.
- Dropped the confused property in the bindings.
- Added the $ref to dai-common.
- Changed the kcontrol names and put it into ops.
- Added the reset when device resume.
- Modified two blocks into a whole PDM which supports up to 4
channels of recorder.
v1: https://lore.kernel.org/all/20240307033708.139535-1-xingyu.wu@xxxxxxxxxxxxxxxx/
Xingyu Wu (2):
ASoC: dt-bindings: Add PDM controller for the StarFive JH8100 SoC
ASoC: starfive: Add PDM controller support
.../bindings/sound/starfive,jh8100-pdm.yaml | 82 ++++
MAINTAINERS | 7 +
sound/soc/starfive/Kconfig | 7 +
sound/soc/starfive/Makefile | 1 +
sound/soc/starfive/jh8100_pdm.c | 447 ++++++++++++++++++
5 files changed, 544 insertions(+)
create mode 100644 Documentation/devicetree/bindings/sound/starfive,jh8100-pdm.yaml
create mode 100644 sound/soc/starfive/jh8100_pdm.c
--
2.25.1