Files
Adolfo Reyna 340953b1f6 feat(es8311): add digital input gain and restore 42dB HW max for ES3C28P/35P
- Add input-gain-percent property (0..2000, default 100) to everest,es8311 binding
- Extend Es8311Config with input_gain_percent, Es8311Data with input_gain float
- Implement get_input_gain_multiplier() so audio-stream can apply digital boost on top of HW gain
- Change HW gain mapping 100% -> 42dB (was 24dB) to restore +30dB behavior remembered from pre audio-stream driver (ES8311 supports 0/6/12/18/24/30/36/42 per vendor)
- Validate percent <=2000 in start_device()
- Set ES3C28P (2.8" color) and ES3C35P (3.5" color) DTS to input-gain-percent = <100> (no extra digital, pure HW 42dB max, software volume can lower)
- Fixes quiet mic even at 100% and allows tunable digital boost via devicetree for boards with quiet MEMS capsules
2026-07-31 12:11:09 -04:00
..
2026-07-14 08:34:29 +02:00
2026-07-14 08:34:29 +02:00
2026-07-14 08:34:29 +02:00

ES8311 audio codec

A driver for the ES8311 audio codec by Everest Semiconductor, wired as a dual in/out AUDIO_CODEC_TYPE device (speaker output + microphone input on the same chip). The I2C bus is the device's parent; the I2S controller carrying audio data is referenced via a devicetree phandle.

Wraps Espressif's esp_codec_dev ES8311 implementation.

See https://www.everest-semi.com/pdf/ES8311%20PB.pdf

License: Apache v2.0