[PATCH v1 0/6] RK3308 codec configuration and headphone detection

From: Xing Zheng

Date: Sun Nov 01 2026 - 00:02:34 EST


This series ports selected RK3308 codec configuration fixes and features
from the Rockchip SDK to current upstream ASoC. It preserves the recently
merged revision-B support (157f7cba77a9) and existing upstream DAPM power
sequences.

The first two patches preserve the configured MICBIAS voltage across the
component reset and expose the separate microphone boost controls. The
remaining codec patches document and configure ADC group routing and
report the B/C headphone detector through set_jack. Output routing stays
with the machine driver and its jack pin associations.

The last patch describes only the SoC detection resources. Mark can take
patches 1-5 through ASoC; Heiko can take patch 6 through the Rockchip tree
once the binding changes are available.

The SDK-only multicodecs driver, VAD sound cards and EVB routing fragments
are not introduced by this series. The larger SDK analogue power-sequence
rewrite also remains outside this first upstream series.

Validation:
- Based on broonie/for-next at
11ae63bd9030349a0136fb2edd1622a4a029edc8.
- The same six patches apply with git am --no-3way to Linus master at
36aad21d50d1af3f6954bb0c988257a908202477; range-diff is unchanged.
- Both baselines build an arm64 defconfig Image with
CONFIG_SND_SOC_RK3308=y using Arm GNU Toolchain 14.3.1.
- W=1 codec object builds pass on both baselines.
- All six RK3308 DTBs listed in each baseline build and pass the codec
schema checks; dt_binding_check including its example also passes.
- Strict checkpatch reports no errors, warnings or checks for all six
patches.
- An ASan/UBSan host probe exercises the actual driver functions against
a property/register model: 24 valid and 601 invalid ADC mappings,
480 stream configurations, 15 boost settings, 24 MICBIAS/reset cases,
8 polarity cases and 6 DAPM clock/error-path cases.

No new board playback, capture, headphone hotplug, suspend or analogue
pop measurements have been performed on these upstream kernels. The host
register model does not replace hardware validation.

Xing Zheng (6):
ASoC: codecs: rk3308: restore MICBIAS voltage after reset
ASoC: codecs: rk3308: expose per-channel microphone boost
ASoC: dt-bindings: rk3308-codec: describe ADC routing and jack
detection
ASoC: codecs: rk3308: support ADC stereo-group routing
ASoC: codecs: rk3308: report B/C headphone detection through set_jack
arm64: dts: rockchip: describe RK3308 codec detection resources

.../bindings/sound/rockchip,rk3308-codec.yaml | 54 +++
arch/arm64/boot/dts/rockchip/rk3308.dtsi | 4 +
sound/soc/codecs/rk3308_codec.c | 359 +++++++++++++++++-
3 files changed, 411 insertions(+), 6 deletions(-)


base-commit: 11ae63bd9030349a0136fb2edd1622a4a029edc8