All of lore.kernel.org
 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 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.