[PATCH v2 0/2] ASoC: nau8822: add support for supply regulators

From: Alexey Charkov

Date: Mon May 25 2026 - 05:24:07 EST


The Nuvoton NAU8822 codec has four power supply pins: VDDA, VDDB, VDDC
and VDDSPK, which must be online and stable before the device can be
accessed over I2C. On boards where these rails are software-controlled,
probing the codec before the regulators are up results in -ENXIO errors
during register access.

This short series adds optional regulator support to both the device
tree binding and the driver, so platforms that need explicit power
sequencing can describe and enforce it:

Signed-off-by: Alexey Charkov <alchark@xxxxxxxxxxx>
---
Changes in v2:
- Added the regulators to the DT binding example (thanks Krzysztof)
- Switch to regulator_bulk_* APIs instead of "optional" (thanks Mark)
- Enable and disable the regulators at probe/remove and suspend/resume (thanks Sashiko)
- Include the required regulator header (thanks Sashiko)
- Add a power on reset stabilization delay before register access (thanks Sashiko)
- Link to v1: https://lore.kernel.org/r/20260513-nau8822-reg-v1-0-c532e18e92ad@xxxxxxxxxxx

---
Alexey Charkov (2):
ASoC: dt-bindings: nau8822: Add supply regulators
ASoC: codecs: nau8822: add support for supply regulators

.../devicetree/bindings/sound/nuvoton,nau8822.yaml | 18 +++++++++
sound/soc/codecs/nau8822.c | 46 ++++++++++++++++++++--
sound/soc/codecs/nau8822.h | 3 ++
3 files changed, 64 insertions(+), 3 deletions(-)
---
base-commit: c1ecb239fa3456529a32255359fc78b69eb9d847
change-id: 20260513-nau8822-reg-becf5b766d80

Best regards,
--
Alexey Charkov <alchark@xxxxxxxxxxx>