Re: [PATCH v2 5/5] arm64: dts: qcom: x1e78100-t14s: Enable audio headset support

From: Dmitry Baryshkov
Date: Thu Mar 20 2025 - 10:09:24 EST


On Thu, Mar 20, 2025 at 11:56:33AM +0000, srinivas.kandagatla@xxxxxxxxxx wrote:
> From: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx>
>
> On Lenovo ThinkPad T14s, the headset is connected via a HiFi mux to
> support CTIA and OMTP headsets. This switch is used to minimise pop and
> click during headset type switching.
>
> Enable the mux controls required to power this switch along with wiring up
> gpio that control the headset switching.
>
> Without this, headset audio will be very noisy and might see headset
> detection errors.
>
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx>
> ---
> .../qcom/x1e78100-lenovo-thinkpad-t14s.dts | 25 +++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts
> index b2c2347f54fa..b40775c20493 100644
> --- a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts
> +++ b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts
> @@ -19,6 +19,16 @@ / {
> compatible = "lenovo,thinkpad-t14s", "qcom,x1e78100", "qcom,x1e80100";
> chassis-type = "laptop";
>
> + /* two muxes together support CTIA and OMTP switching */
> + us_euro_mux_ctrl: mux-controller {

This node should find its place so that the nodes are sorted
alphabetically.

> + compatible = "gpio-mux";
> + pinctrl-0 = <&us_euro_hs_sel>;
> + pinctrl-names = "default";
> + mux-supply = <&vreg_l16b_2p5>;
> + #mux-control-cells = <0>;
> + mux-gpios = <&tlmm 68 GPIO_ACTIVE_HIGH>;
> + };
> +
> wcd938x: audio-codec {
> compatible = "qcom,wcd9385-codec";
>

[...]

> @@ -942,6 +960,13 @@ int-n-pins {
> };
> };
>
> + us_euro_hs_sel: us-euro-hs-sel-state {

This one also should be moved to keep them sorted.

LGTM otherwise.

> + pins = "gpio68";
> + function = "gpio";
> + bias-pull-down;
> + drive-strength = <2>;
> + };
> +
> kybd_default: kybd-default-state {
> pins = "gpio67";
> function = "gpio";
> --
> 2.39.5
>

--
With best wishes
Dmitry