From: Ryan Murray <ryan@aurorasilicon.org>
To: patches@opensource.cirrus.com, linux-sound@vger.kernel.org
Cc: david.rhodes@cirrus.com, rf@opensource.cirrus.com,
lgirdwood@gmail.com, broonie@kernel.org, perex@perex.cz,
tiwai@suse.com, james.schulman@cirrus.com, povik+lin@cutebit.org,
asahi@lists.linux.dev, linux-kernel@vger.kernel.org
Subject: [RFC PATCH 0/2] ASoC: CS42L83 Apple headset remote support
Date: Thu, 17 Sep 2026 17:23:30 +1000 [thread overview]
Message-ID: <cover.1789620318.git.ryan@aurorasilicon.org> (raw)
Hi,
This series adds Apple wired-headset remote support to CS42L83, including
volume-button events while audio is idle. Identification is bounded and
falls back to the analogue detector on failure. It uses the existing
regmap, threaded IRQ and ASoC jack paths; no new DT or clock interface is
needed.
Patch 1 checks interrupt I/O and runtime-resume errors. Patch 2 adds remote
identification and button handling. Machine drivers must expose the button
capabilities and key mappings; J700 platform support is outside this series.
Hardware testing on J700/CS42L83 B0 with Apple earbuds covered idle buttons,
unplug/replug, playback, capture and full duplex, including identification
with streams running. The mainline series was build-tested separately:
arm64 modules with PM on/off and built-in PM. Extracted-source ASan/UBSan
tests cover malformed replies, timeouts, I/O faults and recovery.
Other boards/revisions, OMTP, analogue-only headsets and system
suspend/resume remain untested.
I'd appreciate Cirrus/ASoC feedback on:
- Whether CS42L83 identity alone is sufficient across revisions.
- The undocumented receiver controls, particularly HS_BIAS_CTL bits 3:2,
and the receive-acknowledgment/identifier interpretation.
This is an independent implementation based on register-level reverse
engineering and hardware tests. No proprietary source or firmware is
included. LLM assistance covered implementation, analysis, testing and
text; the patches carry Assisted-by: LLM.
Thanks,
Ryan
Ryan Murray (2):
ASoC: cs42l42: handle jack interrupt I/O and resume errors
ASoC: cs42l42: support Apple headset remotes on CS42L83
sound/soc/codecs/cs42l42.c | 286 +++++++++++++++++++++++++++++++++++--
sound/soc/codecs/cs42l42.h | 15 ++
2 files changed, 293 insertions(+), 8 deletions(-)
base-commit: 238650ef6c7c7cca08e032527329424c9fbd70e5
next reply other threads:[~2026-09-17 7:23 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-17 7:23 Ryan Murray [this message]
2026-09-17 7:23 ` [RFC PATCH 1/2] ASoC: cs42l42: handle jack interrupt I/O and resume errors Ryan Murray
2026-09-17 20:20 ` Mark Brown
2026-09-17 7:23 ` [RFC PATCH 2/2] ASoC: cs42l42: support Apple headset remotes on CS42L83 Ryan Murray
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1789620318.git.ryan@aurorasilicon.org \
--to=ryan@aurorasilicon.org \
--cc=asahi@lists.linux.dev \
--cc=broonie@kernel.org \
--cc=david.rhodes@cirrus.com \
--cc=james.schulman@cirrus.com \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=patches@opensource.cirrus.com \
--cc=perex@perex.cz \
--cc=povik+lin@cutebit.org \
--cc=rf@opensource.cirrus.com \
--cc=tiwai@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.