[RFC PATCH 0/1] ASoC: codecs: rk3308: add support for codec revision B
From: Mizuno Miotsuki
Date: Fri Sep 18 2026 - 09:15:56 EST
Hi,
The current RK3308 internal codec driver detects codec revision B
(chip ID 0x3308) but explicitly rejects it. The initial 2022 driver
supported revision B with a monolithic power sequence; the later DAPM
rewrite left it unsupported.
This RFC restores the revision-specific DAC output VCM/current sequence
as a playback-only DAPM supply shared by HPOUT and LINEOUT. Per-channel
LINEOUT events override the shared DC baseline only while LINEOUT is
enabled. It does not restore the old codec-global power-on/off
functions, and capture-only streams do not touch DAC_ANA_CON14/15.
The original 2022 upstream v1 selected LINEOUT_FROM_INTERNAL for
revision B even for HPOUT-only playback. A newer Rockchip 6.1
downstream driver instead keeps CON15 at DC_FROM_INTERNAL for
HPOUT-only and selects LINEOUT_FROM_INTERNAL only for LINEOUT or
LINEOUT+HPOUT. This RFC follows the newer behaviour. Is that a hardware
sequencing fix that should be preserved?
On a DFRobot UNIHIKER M10 V1.2, revision-B probe, the board MICBIAS1
route, capture/playback PCM operation, capture isolation from CON14/15,
and the LINEOUT DAPM/register states were verified with the preceding
clean candidate. Physical onboard microphone capture was also
confirmed. A short transient at capture startup is also present with
the Rockchip vendor driver unless a longer wait is added, so it is not
treated as a regression and this RFC does not add a generic 250 ms mute
delay.
The shared-output revision is compile-tested but was not deployed.
Physical LINEOUT and HPOUT audio remain untested because suitable
hardware endpoints were unavailable. In particular, the HPOUT-only
CON15=0x22 choice still needs maintainer guidance or real-hardware
confirmation.
The M10 microphone route, its overly broad output topology, microphone PGA
controls, and capture-startup transient are deliberately kept outside this
codec RFC.
Regards,
Mizuno Miotsuki
Mizuno Miotsuki (1):
ASoC: codecs: rk3308: add support for codec revision B
sound/soc/codecs/rk3308_codec.c | 102 +++++++++++++++++++++++++++++++-
1 file changed, 99 insertions(+), 3 deletions(-)
--
2.55.0