[PATCH v3 0/4] Add support for jack detection to codec present in A64 SoC

Ondřej Jirman megi at xff.cz
Sat Mar 2 06:00:34 PST 2024


From: Ondrej Jirman <megi at xff.cz>

This series adds support for jack detection to this codec. I used
and tested this on Pinephone. It works quite nicely. I tested it
against Android headset mic button resistor specification.

The patches are a rewritten and debugged version of the original
ones from Arnaud Ferraris and Samuel Holland, improved to better
handle headset button presses and with more robust plug-in/out
event debouncing, and to use set_jack API instead of sniffing
the sound card widget names, to detect the type of jack connector.

Please take a look. :)

v3:
- removed all device-tree related code
  (it's not necessary for core functionality, it only helps make the jack detect
  functionality of the codec be usable from simple-sound-card driver, and I'll
  send it spearately, because it will apparently need several more rounds
  of review)

v2:
- use set_jack/get_jack_type
- get rid of some custom poking inside card internals to figure
  out what kind of jack port we should setup the codec for
- read jack-type from OF as suggested here: 
  https://elixir.bootlin.com/linux/latest/source/sound/soc/soc-component.c#L288
- add DT bindings

Thank you very much,
	Ondřej Jirman

Arnaud Ferraris (2):
  ASoC: sun50i-codec-analog: Enable jack detection on startup
  ASoC: sun8i-codec: Implement jack and accessory detection

Samuel Holland (2):
  ASoC: sun50i-codec-analog: Move suspend/resume to set_bias_level
  ASoC: sun8i-codec: Enable bus clock at STANDBY and higher bias

 sound/soc/sunxi/sun50i-codec-analog.c |  73 +++++-
 sound/soc/sunxi/sun8i-codec.c         | 346 +++++++++++++++++++++++++-
 2 files changed, 399 insertions(+), 20 deletions(-)

-- 
2.44.0




More information about the linux-arm-kernel mailing list