[PATCH v3 0/2] ASoC: codecs: Add Everest ES7202 support
Jun Yan
jerrysteve1101 at gmail.com
Sun Nov 1 01:09:24 PDT 2026
This series adds support for the Everest ES7202, a 2-channel PDM
analog-to-digital converter controlled over I2C. Patch 1 adds the DT
bindings and patch 2 the ASoC codec driver.
The driver is based on the Rockchip BSP driver, reworked for mainline to
use regmap and devm_ helpers, probe the device ID, and report the actual
per-step PGA gain.
Changes in v3:
- Add SND_SOC_ES7202 to SND_SOC_ALL_CODECS, convert the copyright block
to C++ comments and drop two unneeded includes.
- Turn the volatile check into a switch: the ID registers are now cached
after the first read and marked read-only via writeable_reg, so a
regcache sync never writes them back; ES7202_RESET stays volatile.
- Set use_single_read/use_single_write so a regcache sync cannot become a
multi-register write.
- Use devm_regulator_get() instead of devm_regulator_get_optional().
Changes in v2:
- Drop the hard-coded 30.75 dB PGA gain from the power-up sequence; the
PGA keeps its power-on default and the capture volume controls apply
the requested gain.
- Keep the PDM outputs muted until a capture stream starts, instead of
unmuting at the end of the init sequence.
- Re-run the power-up sequence on resume before syncing the regmap cache.
- Handle the regulator_get_voltage() error return as an int.
- Drop the unnecessary of_match_ptr().
- Fix the copyright header.
Link to v2: https://lore.kernel.org/linux-sound/20261021124552.767218-1-jerrysteve1101@gmail.com
Link to v1: https://lore.kernel.org/linux-sound/20261020143135.623897-1-jerrysteve1101@gmail.com
Jun Yan (2):
dt-bindings: sound: add Everest ES7202
ASoC: codecs: add support for Everest ES7202 PDM ADC
.../bindings/sound/everest,es7202.yaml | 56 +++
sound/soc/codecs/Kconfig | 11 +
sound/soc/codecs/Makefile | 2 +
sound/soc/codecs/es7202.c | 373 ++++++++++++++++++
sound/soc/codecs/es7202.h | 131 ++++++
5 files changed, 573 insertions(+)
create mode 100644 Documentation/devicetree/bindings/sound/everest,es7202.yaml
create mode 100644 sound/soc/codecs/es7202.c
create mode 100644 sound/soc/codecs/es7202.h
--
2.56.0
More information about the linux-arm-kernel
mailing list