From nobody Thu Dec 18 22:36:23 2025 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 918AE21C9F4 for ; Thu, 20 Mar 2025 11:56:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742471805; cv=none; b=O/vuCFsbzqqMo/3CEbbpjcG0Hemv0+tuycjgnHng1B411RnPin4yr3fgf2OOlcV+Qe1HxK2IFzzC///WQKqScUylenMOhCSOKNy//XqV9GbXzyWHXEMZvUyAU1MSFlbxJjcdWe7vrhihUZ0vmBjYkU2iAVXWj+mMBZxftEqJ+sg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742471805; c=relaxed/simple; bh=Aon4CSRLZAp00bOLv5cqnz1HdCAHQzSH1gGdjQ1+p2s=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=YopogWRj7i5sBfCCMuUp3Y4zYqz3uuogvMqQ9rBHK3IOKgpVPLBfzbVKVKUEfR0AXrA0ePFtojP/JdX+QrSmluvi1ym6wkAW0nwPb79i2GxMbcBBg1SRJbkCwett+bi8yCvw6eY2WwTh+YUdtCGEibkLyx3urM+W+EJLwlikYR8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=SJwQIkHg; arc=none smtp.client-ip=209.85.128.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="SJwQIkHg" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-43cfecdd8b2so5559775e9.2 for ; Thu, 20 Mar 2025 04:56:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742471802; x=1743076602; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=eTBcwD7zMY77Gd6SVP9wN85Z8q1nB61DYTk+PAfaKwU=; b=SJwQIkHgEM7R1WTrjxpobSyb1vdk6Rz0QmdMccVtxj/JyReA8AwE217gHf/RAxD0kf yeqNsFxw/EvLoQ8/QZdgJozzsPBFfQcs11YRe/bfbPnPhJVG/cjxX8iM3CRgkJDsDJro 7GVfCMkvz/OwuH6r7LCyr7Hc6+3SbAbUIy3jvL/LgeTZzO3ANr9SOWQ75GXsdKzSUxi0 kuxM4uzz4iZW+nWICN+EsyLdexxtOIqTFZttRfrR3p9lSNapHqk/EAiIXEZ8+M8EJFUv JfrQAV+ntcUyLWVW5c6m2avoCH46AeC1eE/RW6f0CB/ncTOJ+NPhinuobkizybiYVFo4 iXHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742471802; x=1743076602; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=eTBcwD7zMY77Gd6SVP9wN85Z8q1nB61DYTk+PAfaKwU=; b=oCTSNtoBGEAdwfASF9BjBmBlFf8mrOGvWTQvOr+0gJ/O1zyGfjd1GXLcNrd6DKRrGT SChZHUf2B9Pp7HovOfVUY1CmYOG2PLLm54zYaMcHvOGzTiGL0BV9SpnStIBxbiQ1w4jY cjc3ZJsFia6SN50cD0IdWAyXCvPHCf5Y9AJzDWhHzuYdFz0qoqr+zOLg7U09h5rhMwgv p2PZ4bTYBIhX1nFYrdcWKrprLkNt+EK7kYMEFheR4IrOyOAOAL1A7Cs6dlsYTt8PJAQg SzCPa9j7t58Nq+IWZbIjAlZRlIpw9mp+A6wYorYGGMIrbAWli3Cx4DFdDbYP6CGJvN/j o3Vw== X-Forwarded-Encrypted: i=1; AJvYcCVkYyJD/4GLTIZL4KnU4J1H7aJZ2qx5VpfvP/rgKoqfa/AIVnuIQpiN2W8X4gx8RpQZ1xG3uCqm49TNE4o=@vger.kernel.org X-Gm-Message-State: AOJu0YxSRraaHl7TVzIcY6S4v5WM4fS0fnioifz63rTHBUONvzn1B5uy EoX1oTlOw+6FLG67c6Gs71spYYyFVBziy+GH2eTPj9L91ShGye34b4ffexiwBFo= X-Gm-Gg: ASbGncse9UfFH6EVkVQChKjnaH6Mxob6DBVRTjp1mU3P1uYatdlFgFs84i3z1UXWiVp Mnh2wjolS+i/nDm+Of/E9TaWXYeMoEwcy1UwZ1twv3JUXq5vTa2zfV9nlrrdrHFFAqIdxpONQpE sT2o3rXaOQ2W4a2PixZohyqtMuesYre+Mxi32pZMHK1t07yR/JM35XGb4A0+4EFXNBw8rtDloYE EdbUayIPhIZqGx319kueBRhU57R3Atsqm2UDN6+jhyFMhkIyiRxIPoT+b4pxkkaqVK0IYCEJlYn dU0XfMVMa53Fv7+O3jNku1QZTcUpj9V7rJ0hTwgJu99h23/Y6aiu6X4LxNQ8EJlJMc3uhg== X-Google-Smtp-Source: AGHT+IELSu1Fy0iTPGOQqguY/3CHrp5HN+wulAbklczgtP+/n5Gl76d1bxZyG2Z7RhRwAdDyddobKg== X-Received: by 2002:a05:600c:1546:b0:43c:fb5b:84d8 with SMTP id 5b1f17b1804b1-43d49549405mr24419195e9.16.1742471801801; Thu, 20 Mar 2025 04:56:41 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-395c888117csm23257857f8f.44.2025.03.20.04.56.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 04:56:40 -0700 (PDT) From: srinivas.kandagatla@linaro.org To: peda@axentia.se, broonie@kernel.org, andersson@kernel.org, krzk+dt@kernel.org Cc: ivprusov@salutedevices.com, luca.ceresoli@bootlin.com, zhoubinbin@loongson.cn, paulha@opensource.cirrus.com, lgirdwood@gmail.com, robh@kernel.org, conor+dt@kernel.org, konradybcio@kernel.org, perex@perex.cz, tiwai@suse.com, dmitry.baryshkov@oss.qualcomm.com, linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, johan+linaro@kernel.org, Srinivas Kandagatla Subject: [PATCH v2 1/5] dt-bindings: mux: add optional regulator binding to gpio mux Date: Thu, 20 Mar 2025 11:56:29 +0000 Message-Id: <20250320115633.4248-2-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250320115633.4248-1-srinivas.kandagatla@linaro.org> References: <20250320115633.4248-1-srinivas.kandagatla@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Srinivas Kandagatla On some platforms to minimise pop and click during switching between CTIA and OMTP headset an additional HiFi Mux Switch is used. Most common case is that this switch is switched on by default, but on some platforms this needs a regulator enable. One such platform is Lenovo T14s. This patch adds required bindings in gpio-mux to add such optional regulato= r. Signed-off-by: Srinivas Kandagatla Reviewed-by: Krzysztof Kozlowski --- Documentation/devicetree/bindings/mux/gpio-mux.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Documentation/devicetree/bindings/mux/gpio-mux.yaml b/Document= ation/devicetree/bindings/mux/gpio-mux.yaml index b597c1f2c577..ef7e33ec85d4 100644 --- a/Documentation/devicetree/bindings/mux/gpio-mux.yaml +++ b/Documentation/devicetree/bindings/mux/gpio-mux.yaml @@ -25,6 +25,10 @@ properties: description: List of gpios used to control the multiplexer, least significant bit= first. =20 + mux-supply: + description: + Regulator to power on the multiplexer. + '#mux-control-cells': enum: [ 0, 1 ] =20 --=20 2.39.5 From nobody Thu Dec 18 22:36:23 2025 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2F0DF22069A for ; Thu, 20 Mar 2025 11:56:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742471806; cv=none; b=LCSqrDof2DA0zJcSPD1wSTSmrrWRkDfFxMf/akpshKPay6q43Whkkr6/z9uhIcSStysMpZBTjvzBOtHlwZKlYtqKMEK5PLAh56b2aH/RbHdUidrjp0cogGSjsa3OX4Z9ofpFh3XIjMVn/pOOGMGxy1Z8UUoPrnamMh8t9N2Is7g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742471806; c=relaxed/simple; bh=T2PbRRhtQTGvQFtJCRLISmS81biLegmtD1AJKN9+90s=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=jvVTH4GDL8xD16j4ODCy4xhnEKhIrdh+LT1MAuyyTTowlQSt5T4PNGfMcRGIHP0g2h/15ihUvx9blVyjAQopDldFBGvy0zcmCz++IKoboSSFbQX92FtV2LtLQo8+P2wQtuQYDQShFuBbLSt5nyKEM2kvBV5Ns9PZ4Jg4pbhBzxw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=Eb+dSReu; arc=none smtp.client-ip=209.85.128.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="Eb+dSReu" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-43cec5cd73bso4010045e9.3 for ; Thu, 20 Mar 2025 04:56:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742471803; x=1743076603; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=b1gFShGL18VkNSl91DJ8JTM4WvU0/x0n8rRRT7Ut7zA=; b=Eb+dSReumpURahzlftk61pXmRcqqigcVMFIXqURuGaAMljy13eWSVgJd34XpPUAbXq /WVE3M3NhGKKG6NTfU8IIaIXGQrvhbMMF6ZNfJ9tiRW8XKNJ5DFZfXY2Y+zUn3VH9vH1 k1TldGFpU+6MFOYaCSGrhlxuflL+fDqd/n+//tuEleUcbezdmbXSQE34BdbI6s2GvwYQ kU/P3CzJgO9k24vxRbfQ2wwQkfyBLAJI8ZAJFpp5wtCo0Hmt43e6fOeXUfIkJDiaqGKa WglRhe1+da1jAlCqdp28elRa6/negAcCS+g1dm7Q7ZW13oZZ+YZJvsA0TlKnwVCwnDN0 ZMGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742471803; x=1743076603; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=b1gFShGL18VkNSl91DJ8JTM4WvU0/x0n8rRRT7Ut7zA=; b=MfWg7PNHy5bUw6smW5F0ZEGhk9QwJi2AIgYAYF3cioARvUaXuu/s5pGCZGJWr0QVl3 d6Gpp/be7zDxJJs4hj9Tw7rucs6cbUOCJ5YLIU+nQop4RxNG3D4vBgOBhkKYkLHcwU13 B8bqpgmJQQt8YZQuofAiSWz1I4l7DprxVzeo/e+9QoApjM4ZXriR4JVA+qvZDl4oFG2g C/YLFChhqe/tn7gTwzfY7LAlHlDomrREGcFI+5h3amyF2CGAZOTVoj5FmnCs3l510omh HBqKRv4ZoOWzX70T3F42vrvuyEMVZ+F5WdDTqH8WbsaaFaL9O5jC0zAJjEtOP88ooJVF E2uw== X-Forwarded-Encrypted: i=1; AJvYcCVtceQPjrezA2Wx8iLXMisYbtvXOxytxvFIUjeZ1A2eJ6v9+yVQzrV3t8vGEBWHSpPZ7Bsvh94j7j+dnyc=@vger.kernel.org X-Gm-Message-State: AOJu0YzH4UG5IxMn4bCiLOGCl/2iTNMZRGQWk79dW1kkHfWAW+5LHwuw Ehs2hiuFUeO5svX6W/4Bk4RpBGMJp/RjGb5SYscmkdOjGaPwGThmSOY9OgB7Rl4= X-Gm-Gg: ASbGncvAPZ9/OdSimuoui9a/SmRjsWq3Ouf9spTS8FA2qR/39c9Vj9vzMMN0N5IhF5a 2rbezBIPDFzJffnAw6GtyZpq2fJ88Qso/x4/tpOqfvs+R3bNYuL6skkFiPa1zTdh8joSec1ax1E 3S+6xKcfhqEWasy2f2zE0TjgBPHJHSNx6Eje4wj8Af3AOLM/NAb63j7p/ACj4GULCG4euHvQ/QD r+FsR8uDM9uuPS/eTIdi8NtJpQBq90aNEW4dVMr2QevuVQetsIFpTJuElG+wHCNSGRC/O4pBHCA ktId0ef/LuJD08qixtm3HBhYlQ05EU2rKP106xySrOItq698mS3JA2x1o0y96mBgbR8Xlw== X-Google-Smtp-Source: AGHT+IHDaRKUgc9HfZ/3hd0DCQIlmWkm3pZZLNqhOMPZvKa4KfAsekDz2fiYCxQmIc+NA2HX8qs4VQ== X-Received: by 2002:a05:600c:468f:b0:43c:e7ae:4bcf with SMTP id 5b1f17b1804b1-43d436c753fmr63116995e9.0.1742471803125; Thu, 20 Mar 2025 04:56:43 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-395c888117csm23257857f8f.44.2025.03.20.04.56.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 04:56:42 -0700 (PDT) From: srinivas.kandagatla@linaro.org To: peda@axentia.se, broonie@kernel.org, andersson@kernel.org, krzk+dt@kernel.org Cc: ivprusov@salutedevices.com, luca.ceresoli@bootlin.com, zhoubinbin@loongson.cn, paulha@opensource.cirrus.com, lgirdwood@gmail.com, robh@kernel.org, conor+dt@kernel.org, konradybcio@kernel.org, perex@perex.cz, tiwai@suse.com, dmitry.baryshkov@oss.qualcomm.com, linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, johan+linaro@kernel.org, Srinivas Kandagatla Subject: [PATCH v2 2/5] mux: gpio: add optional regulator support Date: Thu, 20 Mar 2025 11:56:30 +0000 Message-Id: <20250320115633.4248-3-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250320115633.4248-1-srinivas.kandagatla@linaro.org> References: <20250320115633.4248-1-srinivas.kandagatla@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Srinivas Kandagatla Some of the external muxes needs powering up using a regulator. This is the case with Lenovo T14s laptop which has a external audio mux to handle US/EURO headsets. Add support to the driver to handle this optional regulator. Signed-off-by: Srinivas Kandagatla --- drivers/mux/gpio.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/mux/gpio.c b/drivers/mux/gpio.c index cc5f2c1861d4..12cd9b5c32fb 100644 --- a/drivers/mux/gpio.c +++ b/drivers/mux/gpio.c @@ -15,6 +15,7 @@ #include #include #include +#include =20 struct mux_gpio { struct gpio_descs *gpios; @@ -82,6 +83,13 @@ static int mux_gpio_probe(struct platform_device *pdev) mux_chip->mux->idle_state =3D idle_state; } =20 + ret =3D devm_regulator_get_enable_optional(dev, "mux"); + if (ret && ret !=3D -ENODEV) { + if (ret !=3D -EPROBE_DEFER) + dev_err(dev, "Couldn't retrieve/enable gpio mux supply\n"); + return ret; + } + ret =3D devm_mux_chip_register(dev, mux_chip); if (ret < 0) return ret; --=20 2.39.5 From nobody Thu Dec 18 22:36:23 2025 Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 388D0221560 for ; Thu, 20 Mar 2025 11:56:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742471808; cv=none; b=jzC28qoH0YWZ+byHP7slOXY+cnNRLIcobq5tCtgoayiZBydHjYk3duCCN+oCywSL/J2WQwX0nyAClCHjmvShhZF0pxfUU4ZjwZ7I/qkMHG6s72w9OcpzXqupa8R3ONyVbiN7yRAjHpuUhBy8LGJmi5qssRvVqdLReiYE9+B++UM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742471808; c=relaxed/simple; bh=4AJV0s7mSzqRnod0IJbbhHfzS3X7gQWivXwTjoNldIA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=InQhCKZ4vYmZhMbShXxsJwlfOHAe3T8BJ0XqGmLnzuanLdTcl3MyD67O84MmOfzACqQF7ocHf4MvjH4yJv+am3FsiZHntOGS0DuNrmxzXDFQOwkNxj41KpEsCBIngmG6u+q3a+BXnnK5fhRMMpsqVzNotzVQYEV6bSbbhTwcKKk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=Ifyhp1oR; arc=none smtp.client-ip=209.85.221.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="Ifyhp1oR" Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-3912e96c8e8so386544f8f.2 for ; Thu, 20 Mar 2025 04:56:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742471804; x=1743076604; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=nBCmNhzniHSIN+wQEnk2+nLTiD4hT6KTCngq0hI3lqc=; b=Ifyhp1oRnnC4sN62R/WptYeQvZGEUBpVOp9IwgCL0J8Vbdffj5mff+BZtCOQ+lZzcx Ve40B7EKCfFRP5gtqLTHBYTOHjs8B2LGIUNgHgoLX3koqGe77jL6oZw1obd3U2cwKslz PIzq+RqYnlATD9rqzv8+n0jzuY9RLPe25dVoViMDxWhln+xMBtMxOO7GlJtxcK5FZMGS nt3iy+W7AWV2lAjt7EeoEAj4TqdaLx8TMuA3FUSA9MH10NDOblmLp7BnOcMjLXLUBJMF hmSjEcQdNG7BNO06qQfDGndDp2MDHNqoo7G3sns2l2JAYNko4km5Q+9+NJKbaW84GO/p hqWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742471804; x=1743076604; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nBCmNhzniHSIN+wQEnk2+nLTiD4hT6KTCngq0hI3lqc=; b=Duvygtjb/xXLGNmj4Mjf7FmvtGaE94iEj4pTSLol8pmQSb7llbLuzvbx2vfKqMFPBt vpiqCkAbzDcFaZQQFnWSS2jDvRlU3CDyg80iecikvdoODbjcIN0hjgdd8JaT3K06ynZc 4TPhbF4oIq0ZjABDTBnvY3JMLEvJYPsJQSV4ynU32dYK5DaPXV00rGnAPZ8NU+2vFElY UQDjfn3OMk01UXIQ5wJr2ZNjXw1FmNWvNYznqwYUEEfaGSIwQy3Ge6ZvJM51ZfAzPIde 1aVrUnAVFGeKDS8v8ehawbSrt6T9fqwWM+tUG029PjPdgOeRok1+iQpNpoUs0uSmcpif rYOA== X-Forwarded-Encrypted: i=1; AJvYcCXiWvaHtGHHKiBwnxJjthnlo5xwfjGpWkA1u2FOWy8DVh61ZUNQwdkAv1L7s/DoIc7Yw1JClvWt1Q+I6q0=@vger.kernel.org X-Gm-Message-State: AOJu0YxQxUxzpPxOeY0Asxo2y8lPQJ6nF2pX6Zi+YG2emy4BwbkYYDA3 0T6VfiiV9XPW9u/njqBsoMSaDL6GoJTN+YIC1LlYCvYbA3+LQoaFQ6YnMd3gksE= X-Gm-Gg: ASbGncsP1n2MV+3zuoKx4wBpXYjdRJU+K+L110pBGLetUW02ZpU5EDJoKJjkzarx1pG zorckROQl86cdz9PLzptgNjW+6sFcjauVDZRQCiA5g6l0QpQMtjS+hD3mN6YvAvY7Ww54mH09yt +tigrs42cYG2unJmtbCm9TmJlPiFzr/GRl5wWOUPJVu/uPzwn9LMVCHsptxKmfQE+g1EXUUy1QJ c43OGE1vr7BcGeVBv82XPRrmYpu5QcdaoAudNILWukF3i0h+DpYtxwvyaHD07/9LGGXZlnDZH6K 4s1mgaZeNQ4OQMoch8VsgE5lBBhRl2OWf1E3lDJYoHKiheMkg8LozCl9j0Itxv2W/NVTzg== X-Google-Smtp-Source: AGHT+IEr/g/3zNNGsPb3MI+p5RQqCRdJkhbtB0m0pNpWH0rWHF6Zo3XyME4aG36BJnRg/WaBJjs9sw== X-Received: by 2002:a5d:5f8c:0:b0:390:e7c1:59d3 with SMTP id ffacd0b85a97d-399739b63abmr4972255f8f.2.1742471804493; Thu, 20 Mar 2025 04:56:44 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-395c888117csm23257857f8f.44.2025.03.20.04.56.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 04:56:43 -0700 (PDT) From: srinivas.kandagatla@linaro.org To: peda@axentia.se, broonie@kernel.org, andersson@kernel.org, krzk+dt@kernel.org Cc: ivprusov@salutedevices.com, luca.ceresoli@bootlin.com, zhoubinbin@loongson.cn, paulha@opensource.cirrus.com, lgirdwood@gmail.com, robh@kernel.org, conor+dt@kernel.org, konradybcio@kernel.org, perex@perex.cz, tiwai@suse.com, dmitry.baryshkov@oss.qualcomm.com, linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, johan+linaro@kernel.org, Srinivas Kandagatla Subject: [PATCH v2 3/5] ASoC: dt-bindings: wcd93xx: add bindings for audio mux controlling hp Date: Thu, 20 Mar 2025 11:56:31 +0000 Message-Id: <20250320115633.4248-4-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250320115633.4248-1-srinivas.kandagatla@linaro.org> References: <20250320115633.4248-1-srinivas.kandagatla@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Srinivas Kandagatla On some platforms to minimise pop and click during switching between CTIA and OMTP headset an additional HiFi mux is used. Most common case is that this switch is switched on by default, but on some platforms this needs a regulator enable. Move to using mux-controls so that both the gpio and regulators can be driven correctly, rather than adding regulator handing in the codec. This patch adds required bindings to add such mux controls. Signed-off-by: Srinivas Kandagatla --- Documentation/devicetree/bindings/sound/qcom,wcd938x.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/sound/qcom,wcd938x.yaml b/Do= cumentation/devicetree/bindings/sound/qcom,wcd938x.yaml index 10531350c336..e7aa00a9c59a 100644 --- a/Documentation/devicetree/bindings/sound/qcom,wcd938x.yaml +++ b/Documentation/devicetree/bindings/sound/qcom,wcd938x.yaml @@ -23,8 +23,13 @@ properties: - qcom,wcd9380-codec - qcom,wcd9385-codec =20 + mux-controls: + description: A reference to the audio mux switch for + switching CTIA/OMTP Headset types + us-euro-gpios: - description: GPIO spec for swapping gnd and mic segments + description: GPIO spec for swapping gnd and mic segments. + This property is considered obsolete, recommended to use mux-control= s. maxItems: 1 =20 required: --=20 2.39.5 From nobody Thu Dec 18 22:36:23 2025 Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 958B622069E for ; Thu, 20 Mar 2025 11:56:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742471809; cv=none; b=tvp56P7OVeZdxmeJ60Bi8OnWaJz/HpBfm/eOFz+HcZCfFMx6dL2U2Pi6m863baySL3L8iUPMWer6pueTGoQ1i2PNH1WX7bWOhp3Cr6nxYz3kYv5w5+iBio1BJ7JbXm7gFhQ1rTwJFW+ymnBy6a7VQ+7DRoF9mXxSwMQ0I/zuA5A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742471809; c=relaxed/simple; bh=yvgNHVdkiZ8LiJlUU/iGsobFDA0gqtsqkmq/p5wyTQg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Gv1/emf3VD8X917/6O9Ae1DfG672yXwDiEF+6IR0kdWyfywRIQWtGc9hzmdxqWFuuaiBmFsda9W7W+/XlULUnik/U0k/ZLxFgsDk/tdfZq1sGTKsLe2uZXnmBjclS+bToyXXEV5IE0VEFJn9yK0aKr0bSuIa+4DcZhHZdw3Jths= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=PVIzrMu7; arc=none smtp.client-ip=209.85.221.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="PVIzrMu7" Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-3996af42857so1177780f8f.0 for ; Thu, 20 Mar 2025 04:56:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742471806; x=1743076606; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=vraKEqmcC/E7mmNCeKg6kwjdUWZP5NoZV1Iu308lBD0=; b=PVIzrMu71ZkkDjkAySx4/AAhB81SdXbz9TqvQso67v1lMDiNCXE7EL/4pabF96WGRy Q28fXiIFAvVk2vip5QTblswP7zek0CyN1+Pjc0d3vVdwbd86kKyML+FFq/dWENjeppA4 8oYsH0tgHsBj7Zj7Lths77PdNqvPAc6bpR2pQPzmja4BVF41U8ac10c16ZT9NZIUII+d +C0LSMZ8c6c34aPbliBnAR9H00RAktAC7G6yzyPa63EtwZggp8QOG7Ywp6YJIJ9TOVSD ZvZkccu8csGfJCVYOLzAKQApsEzlu4JxmDQZMjink/hPVempLpyWN0Ks9vOtHwK4RjgV tGtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742471806; x=1743076606; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vraKEqmcC/E7mmNCeKg6kwjdUWZP5NoZV1Iu308lBD0=; b=ckP7XuEc78+9otvP3xGEEHJF64T6L3TgUiQRLFh2zMhUMgoGfugajmEMMj/LuhaQOg 2YQIsA3BmUc4PAp2xcY+8/vOMKh6G2TF0yRgud3KBY5mmuUWR5mlCXf+1/HSg7SecDH4 +FMlfNOtANrWyCrJ/474FL6m5IyqlR+WObK2cpIbWXzXNgT+z/KNFT/Kcw/eMVMU/VfP tsRcEW2faWDFS25tuqiL1ue5FZrUkBLiB1ZRrmS3GgutnLWIjsEkcJrJXoro9Y7TmY+9 zUKm++daR/yZ+YhBhUobkRL1Y2uuC83+sRtwZvbc7kCRMp1vD1EtBQHnUauB14UGZyhw R1Yw== X-Forwarded-Encrypted: i=1; AJvYcCW2zSyOZFj3Z0OlOJS9nb+eYrY3ppxq0O+siJGmwFEiLClFdKD6KdDlVUON5pFdLPeO8NB1oSlKlU78rN8=@vger.kernel.org X-Gm-Message-State: AOJu0YwoNPMXTxk0lq1lDmHGs6vpbH+obbVXSA9TOzPIkf/6xDwYHRmH 83y6qLYnJH5MW470CUdb0VPXO1/cnV+fazvm8YV47+2O1LOQVO3VGvH9xh8FTko= X-Gm-Gg: ASbGncvHII2LAYz2d5LC5VHrDElX5Eep/qK2r+EkJy0WzajkU4X8h4Itp+ixXcLvVw3 0/HJtfb4Owl+PjUnY8SQrTPVv+zf6WBkSK4yHauOFc/SRFjeoRC4zUT4yZq18D7TZeyqeyotczb oG76/WjNIY2o5gWHsyHqQvz018wOx6lIT+2h6trYBES+hTyhRLEc+c/ebLYySM+/cEScUzxfIP+ EbuVZ2gmR9MrhdH4fN8aKr3A0HqI2b3CxjTEKOUuZV2xyCfLzrIiHuvp0U2sm53XArKgbgm+7Gr NSTfFnUfvDwR1SOEgrFzWFlvWV3jRBJlqJFazf16MRzOE0qU6knWE/ZA3/2tSSoaksVX0A== X-Google-Smtp-Source: AGHT+IGvPqYatEOZ7s/DtVYkxePfO1souYepItqxJFiXynLgFOg2g71i6mfZpTyGlVEIP1XfsEl3lQ== X-Received: by 2002:a05:6000:1f8e:b0:391:2eaf:eca1 with SMTP id ffacd0b85a97d-39979556712mr2649359f8f.2.1742471805708; Thu, 20 Mar 2025 04:56:45 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-395c888117csm23257857f8f.44.2025.03.20.04.56.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 04:56:45 -0700 (PDT) From: srinivas.kandagatla@linaro.org To: peda@axentia.se, broonie@kernel.org, andersson@kernel.org, krzk+dt@kernel.org Cc: ivprusov@salutedevices.com, luca.ceresoli@bootlin.com, zhoubinbin@loongson.cn, paulha@opensource.cirrus.com, lgirdwood@gmail.com, robh@kernel.org, conor+dt@kernel.org, konradybcio@kernel.org, perex@perex.cz, tiwai@suse.com, dmitry.baryshkov@oss.qualcomm.com, linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, johan+linaro@kernel.org, Srinivas Kandagatla Subject: [PATCH v2 4/5] ASoC: codecs: wcd938x: add mux control support for hp audio mux Date: Thu, 20 Mar 2025 11:56:32 +0000 Message-Id: <20250320115633.4248-5-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250320115633.4248-1-srinivas.kandagatla@linaro.org> References: <20250320115633.4248-1-srinivas.kandagatla@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Srinivas Kandagatla On some platforms to minimise pop and click during switching between CTIA and OMTP headset an additional HiFi mux is used. Most common case is that this switch is switched on by default, but on some platforms this needs a regulator enable. move to using mux control to enable both regulator and handle gpios, deprecate the usage of gpio. Signed-off-by: Srinivas Kandagatla Tested-by: Christopher Obbard --- sound/soc/codecs/Kconfig | 2 ++ sound/soc/codecs/wcd938x.c | 38 ++++++++++++++++++++++++++++++-------- 2 files changed, 32 insertions(+), 8 deletions(-) diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig index ee35f3aa5521..b04076282c8b 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -2226,6 +2226,8 @@ config SND_SOC_WCD938X tristate depends on SOUNDWIRE || !SOUNDWIRE select SND_SOC_WCD_CLASSH + select MULTIPLEXER + imply MUX_GPIO =20 config SND_SOC_WCD938X_SDW tristate "WCD9380/WCD9385 Codec - SDW" diff --git a/sound/soc/codecs/wcd938x.c b/sound/soc/codecs/wcd938x.c index f2a4f3262bdb..b7a235eef6ba 100644 --- a/sound/soc/codecs/wcd938x.c +++ b/sound/soc/codecs/wcd938x.c @@ -19,6 +19,7 @@ #include #include #include +#include #include =20 #include "wcd-clsh-v2.h" @@ -178,6 +179,8 @@ struct wcd938x_priv { int variant; int reset_gpio; struct gpio_desc *us_euro_gpio; + struct mux_control *us_euro_mux; + u32 mux_state; u32 micb1_mv; u32 micb2_mv; u32 micb3_mv; @@ -3243,9 +3246,16 @@ static bool wcd938x_swap_gnd_mic(struct snd_soc_comp= onent *component, bool activ =20 wcd938x =3D snd_soc_component_get_drvdata(component); =20 - value =3D gpiod_get_value(wcd938x->us_euro_gpio); + if (!wcd938x->us_euro_mux) { + value =3D gpiod_get_value(wcd938x->us_euro_gpio); =20 - gpiod_set_value(wcd938x->us_euro_gpio, !value); + gpiod_set_value(wcd938x->us_euro_gpio, !value); + } else { + mux_control_deselect(wcd938x->us_euro_mux); + wcd938x->mux_state =3D !wcd938x->mux_state; + if (mux_control_select(wcd938x->us_euro_mux, wcd938x->mux_state)) + dev_err(component->dev, "Unable to select us/euro mux state\n"); + } =20 return true; } @@ -3261,14 +3271,23 @@ static int wcd938x_populate_dt_data(struct wcd938x_= priv *wcd938x, struct device return dev_err_probe(dev, wcd938x->reset_gpio, "Failed to get reset gpio\n"); =20 - wcd938x->us_euro_gpio =3D devm_gpiod_get_optional(dev, "us-euro", - GPIOD_OUT_LOW); - if (IS_ERR(wcd938x->us_euro_gpio)) - return dev_err_probe(dev, PTR_ERR(wcd938x->us_euro_gpio), - "us-euro swap Control GPIO not found\n"); + wcd938x->us_euro_mux =3D devm_mux_control_get(dev, NULL); + if (IS_ERR(wcd938x->us_euro_mux)) { + if (PTR_ERR(wcd938x->us_euro_mux) =3D=3D -EPROBE_DEFER) + return -EPROBE_DEFER; + + /* mux is optional and now fallback to using gpio */ + wcd938x->us_euro_mux =3D NULL; + wcd938x->us_euro_gpio =3D devm_gpiod_get_optional(dev, "us-euro", GPIOD_= OUT_LOW); + if (IS_ERR(wcd938x->us_euro_gpio)) + return dev_err_probe(dev, PTR_ERR(wcd938x->us_euro_gpio), + "us-euro swap Control GPIO not found\n"); + } else { + if (mux_control_select(wcd938x->us_euro_mux, wcd938x->mux_state)) + dev_err(dev, "Unable to select us/euro mux state\n"); + } =20 cfg->swap_gnd_mic =3D wcd938x_swap_gnd_mic; - wcd938x->supplies[0].supply =3D "vdd-rxtx"; wcd938x->supplies[1].supply =3D "vdd-io"; wcd938x->supplies[2].supply =3D "vdd-buck"; @@ -3581,6 +3600,9 @@ static void wcd938x_remove(struct platform_device *pd= ev) pm_runtime_set_suspended(dev); pm_runtime_dont_use_autosuspend(dev); =20 + if (wcd938x->us_euro_mux) + mux_control_deselect(wcd938x->us_euro_mux); + regulator_bulk_disable(WCD938X_MAX_SUPPLY, wcd938x->supplies); regulator_bulk_free(WCD938X_MAX_SUPPLY, wcd938x->supplies); } --=20 2.39.5 From nobody Thu Dec 18 22:36:23 2025 Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EEC7F221564 for ; Thu, 20 Mar 2025 11:56:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742471810; cv=none; b=ReXjZorZV6jLxrpq+84C5RgDtll1WoEiR4tPrYIi7RAXSQAxB/o/D7OxV7V/yB/3Anqq7jx5Ts9cV/U2T8nx6wrBacdEMxG03LXpWGWEwJWjAjtK/nZ33D/CH8lprnzfoCdhMBAMk0iupf7rGd1kkbpmGpkWcVI0gv4EuY7w4Gc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742471810; c=relaxed/simple; bh=cqZk3AtNNaRSyK3WSkjjmRwxCoEdwQtOrf4qTgoOi30=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=eeHIm/avCCPfBaPbuxO59p6wjmHeAGsV/P2JK8VwCNQzQGIt+XsTAckjL45Kp4OgnK3rvBrpwGeppMjNxKfKE1e04dj9SwvGOywH4043/tVuzWmoxBpUTAWG/7bGGnPXrbxvHkVV0jlcHW/gqA0+E7M94qvgNnWHWll+dwqLzIk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=d9JYz6hj; arc=none smtp.client-ip=209.85.221.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="d9JYz6hj" Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-391342fc148so401188f8f.2 for ; Thu, 20 Mar 2025 04:56:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742471807; x=1743076607; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=eYk31Su+89lU6oJN18njTVNWWCpqg8vmtkTowip21t8=; b=d9JYz6hjtqL0XlLwEWRt1o7YbNodyVIv4a8rPRJ7bUJT2kCtpD2cQEzlL7yPJYskof VWCWfz3QdDWAf5bZvClMVdhDbeQU2j2/8rx6c55Zx97Ml5OkK3XOa8Qno3hpo8gx+6se xvGJmUS4ij46udZh4cd5eDJ0vZO4bztA/RG7KsCAcy+g2pNSDJ/9XXwmfL20+INMeEr0 mUMyu2HGF5nauDuq7lib4t6veeaWygwdaEIEKai17oWoCL7RFNMxWQywbT7G2DE7ft8B ll7ZfLjU4cFz5gK+lmylS6EobB+tikBgphxSuiWV9bCHIf6CXw6KjN/Ew32JTSAAGnSI Qkrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742471807; x=1743076607; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=eYk31Su+89lU6oJN18njTVNWWCpqg8vmtkTowip21t8=; b=HQWtPlVFBqaFf0yfw1jLPFNedkaxswt9zOEr1LX1CwTSxgZJQxk3Aa01n44vNIUac9 zlqd79UHjAV09myUn87b9PPDprglUeuXbEb5v46amL/8C4XkSc8NAVrYpsMPFWaV4lUX pwP02EzT3eFZOixj2FnWeXOGUBC6rx7cpRDLry1OofnKaEX4PrVqbmmPh5P7/OLHfO3e d4Uh3lh5qdiFQIhypABV0qjLxsMO+gSskKHdRt98QZ0VcWP1QTrBUKZypqQmzloI0OQV mG4nOPBGmAiITO48hN3akeC2aU9QLgWd5DyWjptTqWTMTRs701azYYhhiC90EIT+SPqC 9L2g== X-Forwarded-Encrypted: i=1; AJvYcCUVtPVnKFwDdRkvUtqvsSeIqQpAQ4DIxuH0BXzOaPTn60lS8FAX2l8PlKPzECMtvWk/TtQ6+DO5eU0wJPU=@vger.kernel.org X-Gm-Message-State: AOJu0Yze3nUO6LXMQa9FoxTgydyFIAtb5DiXN1Vch1807gjC7u0Afd6h hjDMbZv27AqvLXYaP6IQ8Laalzoa36ukzMHucQhPKWaGb/iqJ9MiAuM4QrtOsvI= X-Gm-Gg: ASbGncsSgBTQMetc208b43lhM+NWzDTT7UJUs2t0dCbTaQtKOCGh0EOEX18FZr7tWpw 4WTBdZmnrzN5EMLRX8SDKZIQwQibnjpLSNL8lxiYCUMZWYflINNbeZRkg71YDIHZBZh88FMsBdH j/x0qxu5K+Vco9hqYnwnvOU0zq7+gNc+yGETgwWavn0aPKjHir3obb1RvUiAo/kFanwEbBAMYYQ VGlas92cao7KchCTKuao2PNoo8SUIL4a8971OE9qBLU7sgecTAd+XHCaoq1vE7FROR7Qqgx4v2w r8/3kKqyscc95zS7U5jexQR1p5yv1LYgC+I8yjxUfOgvPtEV1bMm/MUCSZVXjD5imodMWQ== X-Google-Smtp-Source: AGHT+IGbXLSBtSTdwWHcTNezYYv5v0xUo49S544UTd7/7NFqCyxLiZZUUSnqA8Pb3yJx5M6ETPpJAw== X-Received: by 2002:a05:6000:1785:b0:391:c78:8895 with SMTP id ffacd0b85a97d-39973b32028mr4631527f8f.50.1742471807037; Thu, 20 Mar 2025 04:56:47 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-395c888117csm23257857f8f.44.2025.03.20.04.56.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 04:56:46 -0700 (PDT) From: srinivas.kandagatla@linaro.org To: peda@axentia.se, broonie@kernel.org, andersson@kernel.org, krzk+dt@kernel.org Cc: ivprusov@salutedevices.com, luca.ceresoli@bootlin.com, zhoubinbin@loongson.cn, paulha@opensource.cirrus.com, lgirdwood@gmail.com, robh@kernel.org, conor+dt@kernel.org, konradybcio@kernel.org, perex@perex.cz, tiwai@suse.com, dmitry.baryshkov@oss.qualcomm.com, linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, johan+linaro@kernel.org, Srinivas Kandagatla Subject: [PATCH v2 5/5] arm64: dts: qcom: x1e78100-t14s: Enable audio headset support Date: Thu, 20 Mar 2025 11:56:33 +0000 Message-Id: <20250320115633.4248-6-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250320115633.4248-1-srinivas.kandagatla@linaro.org> References: <20250320115633.4248-1-srinivas.kandagatla@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Srinivas Kandagatla 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 Reviewed-by: Krzysztof Kozlowski Tested-by: Christopher Obbard --- .../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/a= rch/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 =3D "lenovo,thinkpad-t14s", "qcom,x1e78100", "qcom,x1e80100"; chassis-type =3D "laptop"; =20 + /* two muxes together support CTIA and OMTP switching */ + us_euro_mux_ctrl: mux-controller { + compatible =3D "gpio-mux"; + pinctrl-0 =3D <&us_euro_hs_sel>; + pinctrl-names =3D "default"; + mux-supply =3D <&vreg_l16b_2p5>; + #mux-control-cells =3D <0>; + mux-gpios =3D <&tlmm 68 GPIO_ACTIVE_HIGH>; + }; + wcd938x: audio-codec { compatible =3D "qcom,wcd9385-codec"; =20 @@ -36,6 +46,7 @@ wcd938x: audio-codec { qcom,tx-device =3D <&wcd_tx>; =20 reset-gpios =3D <&tlmm 191 GPIO_ACTIVE_LOW>; + mux-controls =3D <&us_euro_mux_ctrl>; =20 vdd-buck-supply =3D <&vreg_l15b_1p8>; vdd-rxtx-supply =3D <&vreg_l15b_1p8>; @@ -367,6 +378,13 @@ vreg_l15b_1p8: ldo15 { regulator-initial-mode =3D ; }; =20 + vreg_l16b_2p5: ldo16 { + regulator-name =3D "vreg_l16b_2p5"; + regulator-min-microvolt =3D <2504000>; + regulator-max-microvolt =3D <2504000>; + regulator-initial-mode =3D ; + }; + vreg_l17b_2p5: ldo17 { regulator-name =3D "vreg_l17b_2p5"; regulator-min-microvolt =3D <2504000>; @@ -942,6 +960,13 @@ int-n-pins { }; }; =20 + us_euro_hs_sel: us-euro-hs-sel-state { + pins =3D "gpio68"; + function =3D "gpio"; + bias-pull-down; + drive-strength =3D <2>; + }; + kybd_default: kybd-default-state { pins =3D "gpio67"; function =3D "gpio"; --=20 2.39.5