[PATCH 0/2] ASoC: aw88399: fix BSTS check using vendor driver logic

From: Marco Giunta

Date: Sat Sep 26 2026 - 08:26:21 EST


The aw88399 sysst check requires BSTS (boost finished) to assert during
startup. On hardware where the boost converter is bypassed via external
power supply (EN_HVBAT in BSTCTRL10, i.e. register 0x69 bit 2), BSTS never
asserts and init fails.

The vendor's generic Android driver (aw883xx, [1]) handles this by reading
EN_HVBAT and conditionally skipping the BSTS check.
When the original aw88399 driver was ported to the in-tree ASoC driver,
this logic was not included.

During the development of the HDA side codec driver, I worked around this
with a per-instance bsts_unreliable flag set from the HDA scodec
driver's per-model quirk table. While functional, this approach requires
every new device where the boost converter is bypassed to carry a quirk
entry, and prevents users from testing the driver on such devices via the
model= alc269 module parameter without a custom kernel to add the entry.

This series adds the correct hardware-based check from the vendor driver
(patch 1) and removes the now-unnecessary workaround (patch 2),
simplifying the code and removing a barrier to testing on new devices.

[1] https://www.awinic.com/en/driver/AW88399QNR/594

Marco Giunta (2):
ASoC: aw88399: skip BSTS check when boost converter is bypassed
ASoC: aw88399: remove bsts_unreliable workaround

include/sound/aw88399.h | 6 +++-
sound/hda/codecs/side-codecs/aw88399_hda.c | 38 +++++-----------------
sound/hda/codecs/side-codecs/aw88399_hda.h | 1 -
sound/soc/codecs/aw88399-lib.c | 18 ++++++----
4 files changed, 24 insertions(+), 39 deletions(-)


base-commit: 015201f85aca1832e07e2fd4f5a8cb3e74d300c0
--
2.55.0