This patch set adds support for the Everest-semi ES8311 codec. Everest-semi ES8311 codec is a low-power mono audio codec with I2S audio interface and I2C control. Implemented and tested most of the codec features, with few limitations listed in the driver commit message. The test setup was composed of a ESP32-LyraT-Mini board, which embeds the codec, connected via I2C and I2S to a Raspberry Pi Zero W host board. Some tests were also performed on a Pine64 A64 host board (e.g. to test the suspend/resume not supported by the rpi). The codec driver was bound with the simple-card driver running on kernel v6.9-rc7. --- Changes in v3: - Rebased on for-next of broonie/sound.git - Link to v2: https://lore.kernel.org/all/20240516154800.125284-1-matteomartelli3@xxxxxxxxx/ Changes in v2: - dt-bindings: removed wrong es8311 schema file - dt-bindings: added es8311 into existing es8316 schema file - Link to v1: https://lore.kernel.org/all/20240510131238.1319333-1-matteomartelli3@xxxxxxxxx/ --- Matteo Martelli (2): ASoC: es8311: dt-bindings: add everest es8311 codec ASoC: codecs: es8311: add everest es8311 codec support .../bindings/sound/everest,es8316.yaml | 7 +- sound/soc/codecs/Kconfig | 4 + sound/soc/codecs/Makefile | 2 + sound/soc/codecs/es8311.c | 970 ++++++++++++++++++ sound/soc/codecs/es8311.h | 162 +++ 5 files changed, 1143 insertions(+), 2 deletions(-) create mode 100644 sound/soc/codecs/es8311.c create mode 100644 sound/soc/codecs/es8311.h --- base-commit: 47d09270d7776e46858a161f94b735640b2fb056 --