From: Srinivas Kandagatla <>

This patchset adds support to MBHC(Multibutton headset control) block in PM8916
analog block. MBHC support comes from 2 blocks first mechanical headset 
and second headset type, 5 button detection.

This patchset adds support to:
1> Support to NC and NO type of headset Jacks.
2> Mechanical insertion and detection of headset jack.
3> Detect a 3 pole Headphone and a 4 pole Headset.
4> Detect 5 buttons.

Damien sent a similar patchset to add support to mechanical detection,
but that patch has issues and will not work on most usecases (for example
after a playback/capture session, multicodec case). So I only picked up
the BIT mask patch from that series.

Tested it on DB410c with Audio Mezz board with 4 pole and 3 pole
and during playback and recording use cases.

Changes since v2(
        - cleaned up code spotted by Damien
        - dropped fix snd_soc_codec_set_jack return error as it alredy applied

Srinivas Kandagatla (5):
  ASoC: codecs: msm8916-wcd-analog: move codec reset to probe
  ASoC: codecs: msm8916-wcd-analog: get micbias voltage from dt
  ASoC: codecs: msm8916-wcd-analog: add MBHC support
  ASoC: qcom: apq8016-sbc: Add support to Headset JACK
  arm64: dts: apq8016-sbc: add mbhc buttons support

 .../bindings/sound/qcom,msm8916-wcd-analog.txt     |  18 +-
 arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi          |   2 +
 sound/soc/codecs/msm8916-wcd-analog.c              | 407 +++++++++++++++++++--
 sound/soc/qcom/apq8016_sbc.c                       |  34 ++
 4 files changed, 437 insertions(+), 24 deletions(-)


Reply via email to