public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 0/6] ASoC: wcd938x: enable t14s audio headset
@ 2025-03-27 10:06 srinivas.kandagatla
  2025-03-27 10:06 ` [PATCH v6 1/6] dt-bindings: mux: add optional regulator binding to gpio mux srinivas.kandagatla
                   ` (6 more replies)
  0 siblings, 7 replies; 26+ messages in thread
From: srinivas.kandagatla @ 2025-03-27 10:06 UTC (permalink / raw)
  To: peda, broonie, andersson, krzk+dt
  Cc: ivprusov, luca.ceresoli, zhoubinbin, paulha, lgirdwood, robh,
	conor+dt, konradybcio, perex, tiwai, dmitry.baryshkov,
	linux-sound, linux-arm-msm, devicetree, linux-kernel,
	johan+linaro, Srinivas Kandagatla

From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>

On Lenovo ThinkPad T14s, the headset is connected via a HiFi Switch to
support CTIA and OMTP headsets. This switch is used to minimise pop and
click during headset type switching.

This patchset adds required bindings and changes to codec and dts to   
tnable the regulator required to power this switch along with wiring up
gpio that control the headset switching.

Without this patchset, there will be lots of noise on headset and mic
will not we functional.

Merge strategy:
- mux bindings and mux patches can go independently
- ASoC codec patches with bindings can go independently.
- dts needs can go in parallel to Codec bindings.

Changes since v5:
	- add flag to check if mux is selected or not and conditionally
	 do deselect.
	Also proposed mux exclusive apis https://lkml.org/lkml/2025/3/26/955
	However, this patchset can go as it is without exclusive apis
	We cal always do the cleanup later.

Changes since v4:
	- do not rely on as-is idle mux state, exclusively get mux

Changes since v3:
	- rearranged mux deselct to do better error handling.
	- reused mux_state for gpios as well.
	- removed tested by on bindings

Changes since v2:
	- udpated bindings as suggested by Rob and Krzysztof
	- cleaned up swap_gnd_mic callback
	- updated mux gpio to use dev_err_probe.
	- added Tested-by and reviewed-by tags 

Changes since v1:
	- moved to using mux-controls.
	- fixed typo in regulator naming.


Srinivas Kandagatla (6):
  dt-bindings: mux: add optional regulator binding to gpio mux
  mux: gpio: add optional regulator support
  ASoC: codecs: wcd-mbhc: cleanup swap_gnd_mic api
  ASoC: dt-bindings: wcd93xx: add bindings for audio mux controlling hp
  ASoC: codecs: wcd938x: add mux control support for hp audio mux
  arm64: dts: qcom: x1e78100-t14s: Enable audio headset support

 .../devicetree/bindings/mux/gpio-mux.yaml     |  4 ++
 .../bindings/sound/qcom,wcd938x.yaml          |  6 ++
 .../qcom/x1e78100-lenovo-thinkpad-t14s.dtsi   | 25 ++++++++
 drivers/mux/gpio.c                            |  5 ++
 sound/soc/codecs/Kconfig                      |  1 +
 sound/soc/codecs/wcd-mbhc-v2.c                |  2 +-
 sound/soc/codecs/wcd-mbhc-v2.h                |  2 +-
 sound/soc/codecs/wcd937x.c                    |  2 +-
 sound/soc/codecs/wcd938x.c                    | 57 +++++++++++++++----
 sound/soc/codecs/wcd939x.c                    |  2 +-
 10 files changed, 90 insertions(+), 16 deletions(-)

-- 
2.39.5


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

end of thread, other threads:[~2025-05-17  5:57 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-27 10:06 [PATCH v6 0/6] ASoC: wcd938x: enable t14s audio headset srinivas.kandagatla
2025-03-27 10:06 ` [PATCH v6 1/6] dt-bindings: mux: add optional regulator binding to gpio mux srinivas.kandagatla
2025-05-08 12:57   ` (subset) " Krzysztof Kozlowski
2025-03-27 10:06 ` [PATCH v6 2/6] mux: gpio: add optional regulator support srinivas.kandagatla
2025-04-01 10:16   ` Mark Brown
2025-04-02  8:11     ` Srinivas Kandagatla
2025-04-02  8:05   ` Johan Hovold
2025-05-08 12:45     ` Johan Hovold
2025-05-08 12:54       ` Krzysztof Kozlowski
2025-05-08 12:57   ` (subset) " Krzysztof Kozlowski
2025-03-27 10:06 ` [PATCH v6 3/6] ASoC: codecs: wcd-mbhc: cleanup swap_gnd_mic api srinivas.kandagatla
2025-03-27 12:11   ` Dmitry Baryshkov
2025-03-27 10:06 ` [PATCH v6 4/6] ASoC: dt-bindings: wcd93xx: add bindings for audio mux controlling hp srinivas.kandagatla
2025-03-27 10:06 ` [PATCH v6 5/6] ASoC: codecs: wcd938x: add mux control support for hp audio mux srinivas.kandagatla
2025-03-27 12:13   ` Dmitry Baryshkov
2025-04-02  8:06   ` Johan Hovold
2025-04-02  9:12   ` Johan Hovold
2025-04-03 12:19     ` Srinivas Kandagatla
2025-04-03 14:29       ` Johan Hovold
2025-04-05 17:27       ` Dmitry Baryshkov
2025-03-27 10:06 ` [PATCH v6 6/6] arm64: dts: qcom: x1e78100-t14s: Enable audio headset support srinivas.kandagatla
2025-04-02  8:08   ` Johan Hovold
2025-05-08 12:47     ` Johan Hovold
2025-05-08 12:55       ` Krzysztof Kozlowski
2025-05-17  5:57   ` (subset) " Bjorn Andersson
2025-04-08 12:49 ` (subset) [PATCH v6 0/6] ASoC: wcd938x: enable t14s audio headset Mark Brown

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