mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [RFC PATCH 0/2] ASoC: CS42L83 Apple headset remote support
@ 2026-09-17  7:23 Ryan Murray
  2026-09-17  7:23 ` [RFC PATCH 1/2] ASoC: cs42l42: handle jack interrupt I/O and resume errors Ryan Murray
  2026-09-17  7:23 ` [RFC PATCH 2/2] ASoC: cs42l42: support Apple headset remotes on CS42L83 Ryan Murray
  0 siblings, 2 replies; 4+ messages in thread
From: Ryan Murray @ 2026-09-17  7:23 UTC (permalink / raw)
  To: patches, linux-sound
  Cc: david.rhodes, rf, lgirdwood, broonie, perex, tiwai,
	james.schulman, povik+lin, asahi, linux-kernel

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-09-17 20:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-17  7:23 [RFC PATCH 0/2] ASoC: CS42L83 Apple headset remote support Ryan Murray
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®