From nobody Tue Dec 16 11:45:04 2025 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (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 782E625C701 for ; Mon, 24 Mar 2025 11:06:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742814383; cv=none; b=VTzG7uFPaS/7B+ibuaVW41+GWQf/0QCshwp2U3ps8e7kJAAWw/+hKvdD+nukXbd/O+sL1M/ZFt5c4NvlgNAiGTRu1OtzUbPZIXrJy7N7s2BeomYWw3w/E1jwrrDcCnMA8zYSUOIujYeRuOtX3HeRNitSFabz09B8Vb0l7Xw9qIU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742814383; c=relaxed/simple; bh=4KPz2dgcK6oAYA5wLTZGtAM7Mjdv3/Gv4z1Ch84MYAo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=kdlbX0Cgn9QdA67Ofry2rF1/NinibX7Oi91AZm8vb2g0ndAzBsavwNL+FqKd3jTBi3GRFSNLK4vSfXja7UlQj7Ybt8LbUX4+bYhdSfwOrUBh2F2VsL5AYweGz4gqovuqUtBSgEQxoQcsPQlgR+bJRzjHwbeT2kGc3eYMcVyBSx0= 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=jv+7hI+k; arc=none smtp.client-ip=209.85.128.43 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="jv+7hI+k" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-43d0c18e84eso18818785e9.3 for ; Mon, 24 Mar 2025 04:06:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742814380; x=1743419180; 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=+1axor6d9w4plgEYoyUgTZRxyGQQY8c9NPyfBy5rid8=; b=jv+7hI+kXst8p//Dkh0gMhQG1IKQ05AV+0ETrGba9BUYDXV7ixCY+RsN92pNEmPGO8 janOir1HlFMRVgQC0TrhJa8QLJ71VMHOov+4dMJaibjWdYhRCTcOsZZ1RfLxjayXFcS6 oG+8jrsbX4APx6CrMwh2jq0Z9ez6R+l/s8lWELjHjmhRF+HaSUpyQr2v/kDqolT8V0nE +Sjw5b55I4wYYwh3rWySXhtLZukseBbTy+ZF2xzX7GLym7Ct5KjvOE36uB2JasJMqqMZ o4M4h6+QvJthlP7ZZJWa8huXkJkO/061+DC2xHW1t2knnagCLFZuzBOrdGZkA+m1qR4U mw/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742814380; x=1743419180; 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=+1axor6d9w4plgEYoyUgTZRxyGQQY8c9NPyfBy5rid8=; b=B3M9aoMdjeCDhbcQxpd8eLKcpQ3KGsu5p9w3Usbgwp/7/LfAjV6Byc7UbK1xVW3104 UsxgnhXWG2qI/GImop5c2h7Ss6OAXeG2NxQ8XWVsl5GFaH4fcqqu9D6LxBkx7+oZDgs+ b5whSGd0OnkfOT4dcwJcOGzXMIh+h17RkCLjGBBHMkjysUCsgRHO1OBP3r+zNgTmVze+ 8IQ3v68KjRtdS7dsT14D0FnzytwaGiDwy+oMx1a3wI3ffXqe+wGAsrUQbIcpmlk3ol+o jVZXKs5UQEynGGW0bNR+fpQRRPGgDkO91eJGxThax2Eog9T2uUsPM+UqCki6aIXISuwz W7Zg== X-Forwarded-Encrypted: i=1; AJvYcCVeOleRnjoDN276xfPRv1TzDzDIbnpGNGUI/+wNRZcTBJQjbEYFf4fEbzBQCUy94XNx3Ne1e9IEvVb2sPg=@vger.kernel.org X-Gm-Message-State: AOJu0YwlwlfetI+llrczpexLx/CevImy5dQnXxMn9mxYKXr2snwhGB0c 2V+9X2QZ62cESktBJqlt6SVfOf4MKGl4O+Q/uWtjVOto8v+rXxPVs6dZ5JeO/Oc= X-Gm-Gg: ASbGncuKmLnUB/mhE3AkEKgeonogvBgywbA8CuYP9r3VWIjWIPWiHyTG5J/OeMUpa4x Vpwr4jPBVAC+I66eptLQedjPrtb5ZnpC51GqSadDcnNWZCWRwEzmYBZGZsxDdHdoEfwTn2dif6V yMUyWndQ8r4p6nzatVjQNEoMtpvlLkzSFNAETEWbQDar4UY1g5ilaFAb1HIqxjakZuWZXce+4bE mbzErXHsLVSnOmAWVv0K2kWFg6ZzdL2xMWm495piACNr35cmlH3NTQkdBO9nCxkpBDC5s4CtwSe Vd1kl9OCuHh9J17KNTnDtIMiMcENzQFbv7grXLffc23i8LbyShRkwARfBjfQTC050f82Tg== X-Google-Smtp-Source: AGHT+IH9z4p4Z2S7Blu9BzHzsu9aZDSMDB7Td19pvYAR19+X1jWwwiCjxXg3TZVIRk2/ejMVRMLm/Q== X-Received: by 2002:a05:600c:3b9c:b0:439:86fb:7340 with SMTP id 5b1f17b1804b1-43d50a4ca6bmr105053195e9.30.1742814379624; Mon, 24 Mar 2025 04:06:19 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d4fd28a46sm117236055e9.24.2025.03.24.04.06.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Mar 2025 04:06:18 -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 , Krzysztof Kozlowski , Christopher Obbard Subject: [PATCH v3 1/6] dt-bindings: mux: add optional regulator binding to gpio mux Date: Mon, 24 Mar 2025 11:06:01 +0000 Message-Id: <20250324110606.32001-2-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250324110606.32001-1-srinivas.kandagatla@linaro.org> References: <20250324110606.32001-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 Tested-by: Christopher Obbard --- 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 Tue Dec 16 11:45:04 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 E876E25D902 for ; Mon, 24 Mar 2025 11:06:22 +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=1742814384; cv=none; b=KO9P9MRaKGz5kTAzNf+o61eDpuyzttFj8vUeHugCG6XHseeQsCUR+g/nRJaa3he6HpJ6uYg/GFLPkYKLQhdCTWavBp4IjL+zmwW7rff720LRSGADLx5qkNVa3mZ68Da+3D2lMF8zz+NLiZDllsWZj0eHwDkH0jKPvk8QLEsyXTU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742814384; c=relaxed/simple; bh=5X1aPO2z0jUPOmAmxxbRnG88+AZ4I5yT718/OM1HQtE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=EL5aWm2WJ4YibvklsXyTRInNfSqktZDbx94y6T/gH22Sx1RTzeG1IAnh4IZ8kqwhfzoLpOm1GyJU42A6Y8+4c5Ltiw7cB4o1JuCp/W7fYzrv0CwrQORje8WANajSRAsVQv1YaU6l80idqwYMU46s+kIlBgD68bo4qg5xxg/NcrM= 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=InB51t6f; 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="InB51t6f" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-43cf05f0c3eso26572395e9.0 for ; Mon, 24 Mar 2025 04:06:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742814381; x=1743419181; 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=QPfdok1uXbCV3fbB68Oh0kuMKD9EmCqvBmSN9d5b64A=; b=InB51t6fC6NwWM0bgYwWozN8HlNRq/HIqXpHHNjgoq9nAHeKDV0lhJufJvECCSHg9U mKX2BF6IwrGScCRXXfyKxeGo8omFbLMnNGzpbeH4bqPezQGkqgWJQBOvO9E2/a5xJPO5 Mmvhnc9YoM0mGuMN7mN3vksTiSArnyo1HoFWmFCL5wakIgTy5BW/Ku17xKl0ko1dJRKo 0V4ag0XktMWh9rTZvhHXgbJRPjkFtZReJZrBLOW9LCrbj5HkzeHcHgFco9/BcEpfLtiV rNAH471nDjwAiyGHfhGfeDGqcmXmQMX5TIBIPcDrxQtUMbkJ6uCu/9Tjr7QjERPJSLvM LyFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742814381; x=1743419181; 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=QPfdok1uXbCV3fbB68Oh0kuMKD9EmCqvBmSN9d5b64A=; b=svfDFaPvggL0SLMC59cs/4sNXAhmowGWts6NacvyAGzpXK7g4Y9CehtMqeH/SllQuR TWOd2nHIqr5se3ltcbIIi97abyaoQ+jCUb/F2eMai78HNfZWp/1co423AeTjuW3vomQW YM0BlAML14v/KUS6ivE5bI+ulg4+v0s247opwMlwG9IW74BYbpxfXlLtwLXIUSaJ5QQA Ly4BmIhxc92pNfIDmA35ixbzPW2VTUunic6nX9gKUsRUL5LTFcagKpDMFBFRb3CBfCtt gSLCPSSduRqdHWCqaLxfiyHtEGMa6noy84mqw2iHoceuHlYxtL88N9ZDebSP124WuerL jRtg== X-Forwarded-Encrypted: i=1; AJvYcCUL56zvhRvbdMU03yp4zkWCIk92Op0YIokHkr01nOzzCYVsCRRzVjgtRfBtTP4DLf/1kc5/A9OQlyPTz0M=@vger.kernel.org X-Gm-Message-State: AOJu0YzNuEDzVLmUIsFfo9YPCDlqicgsuo5CKODSxJnq21q+b0ljJBCQ bJRCrOoOHAIba5Wpe1M14b+ZU6jhnulKUw/Yu3+D/FoS9in+r5NIHMQJOiLPTCM= X-Gm-Gg: ASbGncupBPuqHqqRY8/zezBfeaQD6yCHk2ewGTBhGotaribMu2xCTA10KTOw0+5Zvg6 NTMVjhMt1EWf3Vpys2J60nFtE5qCS57hb9wF7VXnPuwnrfYaQKfibAdB1a2ZciMKdQKbZkTonAE F+DqE0H8Mzb9IfqVEQkc+NNruxqouUStu/NKOv/N096UMoleeqtbQVGn3Irte8p6vm3EMCkON/Y wI7EwJ993+HbE1ilFzS96LVx5afAS4XOycAbMknw+rvPJq/aA/wwT3MXk77krEo+LQmE0R7UfhY wLJYSRn8dFDiEebZQoS0Jx86d5+URp5DtA9yCFbgRIRlZZCH+aKqZLyedFi32LKiZ6HeDw== X-Google-Smtp-Source: AGHT+IExFwGVwiy70dxdymve015KK85mNqBLkZiOrbkOqWu5PPmRikLkCEYj40+Tu5kNQWOC4k/G0w== X-Received: by 2002:a05:600c:4512:b0:43b:c878:144c with SMTP id 5b1f17b1804b1-43d509ee50amr117578135e9.12.1742814380967; Mon, 24 Mar 2025 04:06:20 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d4fd28a46sm117236055e9.24.2025.03.24.04.06.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Mar 2025 04:06:20 -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 , Christopher Obbard Subject: [PATCH v3 2/6] mux: gpio: add optional regulator support Date: Mon, 24 Mar 2025 11:06:02 +0000 Message-Id: <20250324110606.32001-3-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250324110606.32001-1-srinivas.kandagatla@linaro.org> References: <20250324110606.32001-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 Tested-by: Christopher Obbard --- drivers/mux/gpio.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/mux/gpio.c b/drivers/mux/gpio.c index cc5f2c1861d4..d1607f287755 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,10 @@ 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) + return dev_err_probe(dev, ret, "Couldn't retrieve/enable gpio mux supply= \n"); + ret =3D devm_mux_chip_register(dev, mux_chip); if (ret < 0) return ret; --=20 2.39.5 From nobody Tue Dec 16 11:45:04 2025 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (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 7C64125DAEE for ; Mon, 24 Mar 2025 11:06:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742814386; cv=none; b=QolM1OE3CyPLa1SiZGCKXKxfwfJkQHNmN5f294N1diwFAy7wHSB0oyi14P8gdEylEXscF9CbGbLzbL00TcAUDs21jiSol+fHKYVQhhKJO58e7r5iEwF1vGLjLlO+5ROXao1k8YL6jkSr+BRMgQTZqYjiKu1rK7urDEdHl04vMns= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742814386; c=relaxed/simple; bh=hJEhHBHgmcwkLGn7ADU+TBJtnvqkH4aaspjSeICJrEo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Bm8RNHTUvX63fW0OjqPJKZMHmLgDBPFxoXbmOw1l5pdJhd80I9c3r6R33qMhslL/4QhpkMvpQDSTM3vx7w0P9G3kIPxyi1xH9breu/tEvAzkQA08P4+fpYHi5TfP+CGT24i1ulDOBX3pIT4BVdFpHvw0I0MzM+eibf9iroqxJqs= 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=OP0G0fud; arc=none smtp.client-ip=209.85.128.43 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="OP0G0fud" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-4394a823036so42886025e9.0 for ; Mon, 24 Mar 2025 04:06:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742814383; x=1743419183; 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=QPKG26aBT6MGmMvi54w+dEW5MMoDzMUIu/y68UikHrA=; b=OP0G0fudBOMuDTYpQc+MYNOslX8nCOMxukLCrbaoFrjTTgnppeHyj68+1muif1hQJu PDmuix1MuSYufZ6Ca1zILayG8LZTGCKiSGJURxDjYI7s7QqncpciuvKKnT7oI/YsVsgL JdJKJLR8tz5wEgTM9OHxgQQMEIcXyx93BTWwWfJSbOJSG9QdU3/1i7KR2MK2wAH6zjtU ggAbA3LzruzN33xx+Y5McfexHOButjSNigNCQ9/JvrVx69qZCrKjFPjNgmDldv1XiTg3 tK1ge8PJ96w/q0/VZW1gFWegyKuo5Btecb9cAtfKrK8lsvvghCEtqU7aSekdvZ8w6PAs zjDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742814383; x=1743419183; 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=QPKG26aBT6MGmMvi54w+dEW5MMoDzMUIu/y68UikHrA=; b=Ws7gVB5cTOZDIGs6cHNs6iHeMrcEMjEMawh1ITQvfKISOwo1LcjuuQryOt8MBBc/ft m1UFZpu6MRsW6BuibVHsTQbL7+othx6KmhrSN8f2kjrats39P2L6Zv60BXELDov7MnDJ ylNYwk39k12da7wcM9ofhSr9k6P5/WCtTJkMK3ouH2+m7kNW2dq8jh7Jqu29t6Yd4Nbx o+5U9iuRl4dRsVAc3d2VlCJ3UdqjxCD8+suzS4ulct3wk0q9+RMD7zJzntwyN394kc89 1lFJ0LaxP7O0yWqDF0Lj3yUf2CAqk1zB2Pp9bGBOJYcCPasWgQAjSDidGzXYtkXAAQVO iRrA== X-Forwarded-Encrypted: i=1; AJvYcCVqI+BhA1XWJw9wPrsrV3idxQVkggMboLDnu9wTHPvm+sL996XSn2n8AFC6owlxI/tSzWanKgRiIc/3Rn0=@vger.kernel.org X-Gm-Message-State: AOJu0Yy+cfGMQVG5zZUPtULeXQF8B1q+cEsOZFRkMHhhn/gmbGlYonBo eQfDFe32BL+a3LAgKHXaYSIVYubo9aj+8rcop99SH1xsjOlLMs7X0h4vfNtecvA= X-Gm-Gg: ASbGncsnvHpXr0csxGZHWptj2aFjW977TDgHNgPP3lstl5a7wzaT7AAc+m0ux259Lw0 cciylC8wWtNMB4gGRjGpgkbhGEFXuVrhS+k+2hib7CfYzQb9E5v0aP8/Zr5U+dTRcRiK6jMa02s R47EQskKbUoQbLCSAy0W+BrWyJ7aT9+2HEDNvjZH9Vs4nG8pHPPktmpp1MEGoVVJqxEQkkEGyIc hqEEr7z3xKOQpdCpFy1C2HrGNUdol1k62RJjO18/bHr04J8ktTjGFxKh3w/kfJLJcXLCdDkcwMB U6tYcDyawMBL0vrmML4zmn/SgYNDXnXvZdoXSkqkRMnaY/wQ6mAXd8lUDmPy+FoUAYCo/w== X-Google-Smtp-Source: AGHT+IE1jZHrjOD2g8W4miciXLAyYGR2Tj9IVw9a5z+cfuvRrt3sxt3ObBT0ascVcQycuA++hMQs9A== X-Received: by 2002:a05:6000:154a:b0:391:2ba9:4c51 with SMTP id ffacd0b85a97d-3997f939077mr11706700f8f.44.1742814382775; Mon, 24 Mar 2025 04:06:22 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d4fd28a46sm117236055e9.24.2025.03.24.04.06.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Mar 2025 04:06:21 -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 v3 3/6] ASoC: codecs: wcd-mbhc: cleanup swap_gnd_mic api Date: Mon, 24 Mar 2025 11:06:03 +0000 Message-Id: <20250324110606.32001-4-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250324110606.32001-1-srinivas.kandagatla@linaro.org> References: <20250324110606.32001-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 Remove confusing and unused argument in swap_gnd_mic api, the second argument active is not really used, and always set to true in the mbhc drivers. The callback itself is used to toggle the gnd_mic lines when a cross connection is detected by mbhc circuits, so there is no need of this argument. Signed-off-by: Srinivas Kandagatla --- 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 | 2 +- sound/soc/codecs/wcd939x.c | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sound/soc/codecs/wcd-mbhc-v2.c b/sound/soc/codecs/wcd-mbhc-v2.c index d589a212b768..4b7c3d6080a1 100644 --- a/sound/soc/codecs/wcd-mbhc-v2.c +++ b/sound/soc/codecs/wcd-mbhc-v2.c @@ -1260,7 +1260,7 @@ static void wcd_correct_swch_plug(struct work_struct = *work) if (pt_gnd_mic_swap_cnt =3D=3D mbhc->swap_thr) { /* US_EU gpio present, flip switch */ if (mbhc->cfg->swap_gnd_mic) { - if (mbhc->cfg->swap_gnd_mic(component, true)) + if (mbhc->cfg->swap_gnd_mic(component)) continue; } } diff --git a/sound/soc/codecs/wcd-mbhc-v2.h b/sound/soc/codecs/wcd-mbhc-v2.h index b977e8f87d7c..a5d52b9643f5 100644 --- a/sound/soc/codecs/wcd-mbhc-v2.h +++ b/sound/soc/codecs/wcd-mbhc-v2.h @@ -194,7 +194,7 @@ struct wcd_mbhc_config { int num_btn; bool mono_stero_detection; bool typec_analog_mux; - bool (*swap_gnd_mic)(struct snd_soc_component *component, bool active); + bool (*swap_gnd_mic)(struct snd_soc_component *component); bool hs_ext_micbias; bool gnd_det_en; uint32_t linein_th; diff --git a/sound/soc/codecs/wcd937x.c b/sound/soc/codecs/wcd937x.c index c9d5e67bf66e..b2fb8520c823 100644 --- a/sound/soc/codecs/wcd937x.c +++ b/sound/soc/codecs/wcd937x.c @@ -2646,7 +2646,7 @@ static void wcd937x_dt_parse_micbias_info(struct devi= ce *dev, struct wcd937x_pri dev_warn(dev, "Micbias3 DT property not found\n"); } =20 -static bool wcd937x_swap_gnd_mic(struct snd_soc_component *component, bool= active) +static bool wcd937x_swap_gnd_mic(struct snd_soc_component *component) { int value; struct wcd937x_priv *wcd937x; diff --git a/sound/soc/codecs/wcd938x.c b/sound/soc/codecs/wcd938x.c index f2a4f3262bdb..dfaa3de31164 100644 --- a/sound/soc/codecs/wcd938x.c +++ b/sound/soc/codecs/wcd938x.c @@ -3235,7 +3235,7 @@ static void wcd938x_dt_parse_micbias_info(struct devi= ce *dev, struct wcd938x_pri dev_info(dev, "%s: Micbias4 DT property not found\n", __func__); } =20 -static bool wcd938x_swap_gnd_mic(struct snd_soc_component *component, bool= active) +static bool wcd938x_swap_gnd_mic(struct snd_soc_component *component) { int value; =20 diff --git a/sound/soc/codecs/wcd939x.c b/sound/soc/codecs/wcd939x.c index 4a417a92514d..546aa88a398c 100644 --- a/sound/soc/codecs/wcd939x.c +++ b/sound/soc/codecs/wcd939x.c @@ -3215,7 +3215,7 @@ static void wcd939x_dt_parse_micbias_info(struct devi= ce *dev, struct wcd939x_pri } =20 #if IS_ENABLED(CONFIG_TYPEC) -static bool wcd939x_swap_gnd_mic(struct snd_soc_component *component, bool= active) +static bool wcd939x_swap_gnd_mic(struct snd_soc_component *component) { struct wcd939x_priv *wcd939x =3D snd_soc_component_get_drvdata(component); =20 --=20 2.39.5 From nobody Tue Dec 16 11:45:04 2025 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (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 0451425E466 for ; Mon, 24 Mar 2025 11:06:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742814387; cv=none; b=qFEYB9FP47F531cvCRA0viToIoZD6DVElD5oMa8KpCWmE+4VAwtECGGd/iB6NbRe0L0phSK9oAXZL7cElT+N6WzWsq13vBMLgzWXOCqF6UWQ4X3z+avTNLijdv8PhR2MV35udRTwzcTUiP2ZchDbGJaG12AX3E/m9hgSbpWgFlA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742814387; c=relaxed/simple; bh=kf+isSZ+GQZroxJu0G1Ja5oS+lqo6LQdxVZrCG2obkc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=PQGhdJvTkjjs1TBMCvNpBUiYWw3kMTc3NaV9qGKMgE62ptmyWyx56zv+2NdPMHLkck2ua6Y57iA/VU7op9FrKg5BG4m98HEWegAnNd0tC8hie1wUfZTTF7yfe0UvcurnpRa1U4bOZOpMbfGZ7v2LdLzSYqsvNku5QjEsKGueoOU= 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=Pk6txyZc; arc=none smtp.client-ip=209.85.128.51 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="Pk6txyZc" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-43d0c18e84eso18819355e9.3 for ; Mon, 24 Mar 2025 04:06:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742814384; x=1743419184; 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=BVoHGISMF8yznIukeGwdQkZ9ZYF3qlKA/mjLYUuaQaE=; b=Pk6txyZcch/aJES3YfKqzfG8MdYkZAwVWmG1rGfXfPyieuAGn/Qn767mC7xdM0iQRV sSr0ffZhScA7J3v35wPLBMLd2UDVMiYHbbrY/D9EqshMdkBw3AMxJTt+KUkWGFpSQIAQ NX1/TzR5vUtOcLbdCAwv1U8tkAG/GzMaMLLk/gi9FHWelpQ9lHo4An3ljAn+bliSQIUq ljm5Gpt3A8qkOhlNE+7B22Dph7X2jhE36HzRkfu5M5biMAAayEoRyDVqeJjT+m117s/N 1k9i9Oql6RgAQK+ruOyhLn8S7b5/R6mXPeq3XpgIcrpMuNDtA6CkedP7zco1mOid9Beo YfFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742814384; x=1743419184; 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=BVoHGISMF8yznIukeGwdQkZ9ZYF3qlKA/mjLYUuaQaE=; b=VBuEwznpxCytRojdNJLiB8z4XcLLp69aZWcqVDI+Dccik55lKO0AwztSW2a6TDJSII HpyT/cvhtZz+6NHtjACvy3hlwcjICU9PknKFHDjed7nOABac1Ug/CkHEfRThotEFF8jt uUOXfLYTIzh6oVcbg7K5Oa7N01xgHHrmdYV4KzwOTw/XREKuhynZCSFhInIj55tQvq9v VrdNVBl924oHfHI8736iDQHOqS3Bjr2+Njeh8qokZvfdKdJR/Bi5imGtebkXOpQHpt2p fgqsJ1uK8dhZ78m8UmiTKltZwRbfMJSqgvEAmo1VjZYpoiBm5Xo12dmFM9sY+x3RoDKm r0FA== X-Forwarded-Encrypted: i=1; AJvYcCUBlcRo1LZyUa1yfoT30p466JcaS+Ti60t1VRn5pngjy704grzVpbH+boHkrh1hKGb8igaQ9scJcw+wRUk=@vger.kernel.org X-Gm-Message-State: AOJu0Yz0A7OOLrvDzpU26VvXxGhKgv6bm1B8NsFIWhIHFZuRgaihS9r1 EE913MgB4DjtjUSanV/b8Dl/5QY0uj49gNW3lkC43pV6CyI+rjC/URJLmWoWlHM= X-Gm-Gg: ASbGnctvc3Cjy7ShYnnCuS0ROQgMk5lPSv4TzqpCLxrKJ7/kyrlAULJIBYOanhVlA1Y HJHgw7UGRf2yJrWPvR0Osshg4Nrj2jolOwZH5TatrlKoy9mHR8TmMj+MmK/5Xa+n2SBSMceB+Lu jFRiYAL4MuuqEZ2efCJfhAoNUqZ5V4VME3/w4ys7ghnjr9AegEpE6eh7XdqQlER7GQimmGgov0e MBD62Cve20z4M9SnplGah9ran4mgW/ihkUeV9a8xVss7JBXbfR9oUendP7jspPBWF9lA1vOlJdF OGE750f9Gd0qPhlH8yqWZuqd7S+04pSSNbo6oi8aeRxVn5rsXhTtlg+ATo/ml4k6WIWPMQ== X-Google-Smtp-Source: AGHT+IH5XvwKpEbYBwlRsHeQR/bbmwfsvDbjrTdTHYv5Tzne+9/8Zd3GE27Ynz9a8q2GSpnxGcW/xQ== X-Received: by 2002:a05:600c:3b9c:b0:439:86fb:7340 with SMTP id 5b1f17b1804b1-43d50a4ca6bmr105056735e9.30.1742814384123; Mon, 24 Mar 2025 04:06:24 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d4fd28a46sm117236055e9.24.2025.03.24.04.06.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Mar 2025 04:06:23 -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 , Christopher Obbard Subject: [PATCH v3 4/6] ASoC: dt-bindings: wcd93xx: add bindings for audio mux controlling hp Date: Mon, 24 Mar 2025 11:06:04 +0000 Message-Id: <20250324110606.32001-5-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250324110606.32001-1-srinivas.kandagatla@linaro.org> References: <20250324110606.32001-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 Tested-by: Christopher Obbard Reviewed-by: Krzysztof Kozlowski tested-by for builds... --- Documentation/devicetree/bindings/sound/qcom,wcd938x.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Documentation/devicetree/bindings/sound/qcom,wcd938x.yaml b/Do= cumentation/devicetree/bindings/sound/qcom,wcd938x.yaml index 10531350c336..ab1c6285dbf8 100644 --- a/Documentation/devicetree/bindings/sound/qcom,wcd938x.yaml +++ b/Documentation/devicetree/bindings/sound/qcom,wcd938x.yaml @@ -23,9 +23,15 @@ properties: - qcom,wcd9380-codec - qcom,wcd9385-codec =20 + mux-controls: + description: A reference to the audio mux switch for + switching CTIA/OMTP Headset types + maxItems: 1 + us-euro-gpios: description: GPIO spec for swapping gnd and mic segments maxItems: 1 + deprecated: true =20 required: - compatible --=20 2.39.5 From nobody Tue Dec 16 11:45:04 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 26CA325E800 for ; Mon, 24 Mar 2025 11:06:26 +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=1742814390; cv=none; b=V4MtJqbbam+IXh1lzZebOJZofPk9FhpxID9tXZPRxDSP6WBhN6LByNO+fZgjr53WTbD9A/XPEMWN1eZaK3NTvpaWDh4iH6+c+Fyns7o+kjVO/HcQLkIyFRodzexu4zZ8PazmpL/y5DaoLaXQnKsaIObgVVkENPaqqTtPwRei5gU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742814390; c=relaxed/simple; bh=nktXVZZVK2sj5ks05K/PZQORVrDJifJshcJ6Gwx0Vgo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=fnqyl+squOOqSDa8kxbfqYeg24KWtnTb8Jqvi7UVVCLrCREpcNZ9GefFt3c2X5Ju8YYKg+pUgyqnEniKHvUuZniyAJ7EB4eJUe/lF/zW1ZWzuVz6TEmIQgnPNYwA0AQhRRGj8NwGtH5xwfewpCo64nnd7He4u0bK7BcABVpdK7Y= 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=kVO7PYP7; 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="kVO7PYP7" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-43cf628cb14so32767525e9.1 for ; Mon, 24 Mar 2025 04:06:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742814385; x=1743419185; 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=CkYGp+yUUXL5KluJTZ2cEbi897SJOatbkfeU/8clakc=; b=kVO7PYP7gQWdll9HWyQZmf88wZZ9cyL++cWFdVQHihxQ3LmiBne2XhUXabuLXVQtcI DmcjUixu2Nw7GhYO/Izza2H1vS8FKKVjA60oR9mySoUCgSMrEl66elUQyaHJcYa0FDWf YRoqq0oiv2dsDHa/RYK71E7NMg8Wvo+DuO6VU40jv0axx6/RSf3e3M10UtCpBfstwamf rVo0Zdc219ALPeLvQULH9B+3Ph9uol6WsEclTDjG+r47EPvnubq6A8fOeCWBLcrckwpG xjVNVM4PiDBw0E7CpSxJo+xWrdIYLl8yJAAu4jntPhUwModnHODWuKqTd3OiDWy7n6aD dVHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742814385; x=1743419185; 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=CkYGp+yUUXL5KluJTZ2cEbi897SJOatbkfeU/8clakc=; b=VQclDcKswHnXGpj9YnntHWwYs/ce6r1+1/nBGDCqXPXshYIoXQFKlna5igjT9pNUud xiYIM7gjRUZ6XRi/9TMBZDo9fBsmVoX1jYFBukQqaNKgbXurMI7xGKX/L93ogsHKM23r Ko6jDNsnkiuzkZ8C0W9iCD9rkvLeTG2d/ntGmx2pzG49/ye7gBVm8/L6skeh1U+SJ4uG Vz6ig+dh95tgRsFGfHUY3M1uGskOkD0XszYr5uXN7PvpSYUoOnKRL7tVOUXceAWDh+xV Ou0CFRVa9MyLjVENSq8RPn35klt835ShbneFwKV+k631RALzIXPxlc8Yc2+W976AADgR faJg== X-Forwarded-Encrypted: i=1; AJvYcCXSzxxXGqDD8pNwx/z1DVk7noRyyPYSx4Vtgxn+z9FX24SwucrBGSWEUHtrRAoV82bD/9ElQAmjnH/FZ4g=@vger.kernel.org X-Gm-Message-State: AOJu0Yy4vxHDwYpB/QkBLL4HDZXuXSUtukOFdzXD4CZc/cxc7k3RbjM/ a4hfDBw4ZJmjyUlNDmACKS94T75FXthjcur649DSd4CODCZ1kMpgysCMri82QE4= X-Gm-Gg: ASbGncvFXn9OUZg5MgfdKcc70S7wNo5BLLH6qNfD4uQMdZYspheRZQx890236GwM+bk wcpmy/5UNii9Cqz0JaJBx3LzVcY0x1wjTKz1qMtErx0p+Rsw90qjtkEQ7/OXu7KUZSV/TXn9sA0 PKcnRsAoQoAQDtrnpYZEqZcEXXeTQDsSfyD3XSKdiSZLuy5Vr/5PZHX9kRMqX5s5vRSNE/w1t6f xm1Rn4j+olh+MnUcBF/98/Gp5iRWYb+8fRUcvtOJ1SytiCAJAq1kR79qsdNLUxRIrZcYFP7E9/0 59O1dp9U3kuH6Mn46KHD9PI0YRVjgWol+DU22SS1U1e80zT4RS5PN+PtsYOuY2uAvUBA9A== X-Google-Smtp-Source: AGHT+IFkqz3TkyW72Dlofx4AWfR6O0kT6HbA7qk3BC0dzeXLv2ZnZ2GDWRW4bucnsET8PXCbkEK32Q== X-Received: by 2002:a5d:64ce:0:b0:38d:dc03:a3d6 with SMTP id ffacd0b85a97d-399795567f7mr13655493f8f.4.1742814385406; Mon, 24 Mar 2025 04:06:25 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d4fd28a46sm117236055e9.24.2025.03.24.04.06.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Mar 2025 04:06:24 -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 , Christopher Obbard Subject: [PATCH v3 5/6] ASoC: codecs: wcd938x: add mux control support for hp audio mux Date: Mon, 24 Mar 2025 11:06:05 +0000 Message-Id: <20250324110606.32001-6-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250324110606.32001-1-srinivas.kandagatla@linaro.org> References: <20250324110606.32001-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 | 1 + sound/soc/codecs/wcd938x.c | 38 ++++++++++++++++++++++++++++++-------- 2 files changed, 31 insertions(+), 8 deletions(-) diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig index ee35f3aa5521..a2829d76e108 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -2226,6 +2226,7 @@ config SND_SOC_WCD938X tristate depends on SOUNDWIRE || !SOUNDWIRE select SND_SOC_WCD_CLASSH + select MULTIPLEXER =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 dfaa3de31164..948b5f6cc45a 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) =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 Tue Dec 16 11:45:04 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 BD19C25E821 for ; Mon, 24 Mar 2025 11:06:28 +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=1742814390; cv=none; b=nHAReboEvRbOkpCs80Vzt4n0VuZSdt11au2ofzTKAaJ4Twd0dIVwaC1dyLyaTpsF4hyri0Z5e751fiJr0cQBHt0T9XICtsIYEOvRbZVV+xbo/dHzjluO5dQESqpf6KLjiWjQsxuoII9QgAj2wmENAzSG1iemJ2TIbtJp6vueD98= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742814390; c=relaxed/simple; bh=4hK5NwvGZj3PELV41E3//V4IRXz5oGNBj9IGYps+vOQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=IIbZlLBHhVIdrLEKmpAJ9uVklo/VFdeZcRPmwKraqE0LVRjdbCDK2lpK+Z1rFsAqe5eK4ifIz0mKtSLge5J/A1Epw0rbxY0fNN+yhCFl5AfEUT/kP9Fz5SAVUlOgG5SoDMw6jy47dCMewk32bRGBAFZw4w/CBEGhlzxFVo2fA/Y= 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=UMWIOOHQ; 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="UMWIOOHQ" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-43cf257158fso27850325e9.2 for ; Mon, 24 Mar 2025 04:06:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742814387; x=1743419187; 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=LHH3q92f3jVI2cl1PwT0LmA+qhtDvCooULm9gmNkwck=; b=UMWIOOHQGxZ4zX+AuqN3iCirLQn945tcf5NzPm3jisQLhnN41SPycbJ3Hq92xoCskY TWHy9TS7qGM6vmtWGyhYMcsI3goitpYBeQSCVW3wYhG0lgJjTq/RETqyj8lqZZU62c/A XqYje+tOCYqnax4BbmUM3zeSWbYGHTNwzBSHlXNsF7zKaVw+KESS557Edld/lAs4X/7+ fVi2G6amEq2D+/fveEXRODs+Vy1glXyYbJ/+20jQXAZersciscTe43HH5GB6R1PWmMnL n9P4NeDu6+D6RWmoCPerUVk8QbQCFlmJAiSCl8anbEptp1AuHCyuGJAeWdUw9mAT9+P5 AQUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742814387; x=1743419187; 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=LHH3q92f3jVI2cl1PwT0LmA+qhtDvCooULm9gmNkwck=; b=hhyTkam/HZL1LjeumboemlAfSIe7zVVhNpPLad7g7S+rhPZuRoUb3vlVCSKqrq5Nae MJsS1anvAYT+Q5O2Pw+G5oO5MERuCdNGTaeN1oi19aFE68NtJSXfzQxp/TUzs3xEVbsv aCLalgbNXijq7oWEJLAKNmkdYdu7QaE5MlrQFyGuNNk4ZAtHyVuA6BiZjzSJ1ACdlcow xpOJbjqauG3AXJE5zN48Msz8KmAmIGGJ1GLD4IscRzSNfRVetKgpNFpMM7jMVWuGPqqk ysgCTPBvXsbT2jIcwgTXBf2ZG64BOsWVxUS+FzLMJdD8TjmMBdih1UUHe72KPaO1W/JH 7Tdw== X-Forwarded-Encrypted: i=1; AJvYcCX9lPJ4Pg4sQJR7fAMJBOh9iG8V185YMRM4uhNUBdqRZxuU4cgj2woikGWI5Pj31QlpE1/dRZvJCPuNLKQ=@vger.kernel.org X-Gm-Message-State: AOJu0YzpzatPma77wigAiOxU8/0GuL9b/eaD2+7Cta6IQc7iecqqPxTv FonACtq/OGg1XcrV+Thzygu9sXDi7998Gy3A7ve5L6vZa49LlTgaIs5jSdoqXLw= X-Gm-Gg: ASbGncuT9pqA1yzePJsb99dwwIDdzwoe2dQLC6jUzi2mLUc3Epz5pPef1UKAM5//n01 9D6aYBTJz7N0ZvgrcM8enYYF31qxlaaW/H/cBFiJDZN7Q/W/THHkPk+X+X3yqaxMEJzGN6CXeY0 4MOF5Rq3zKpmL7zzrMjl/knTc4at8P2fruAGjhJBC5hcagXnQl/n9UPjkEOHfykPuvLoud4j7qK T48ev6aRZ8TE9kublcVpGfvgWEb+MQxtA5s+OYboqrhRrPgwyRIqQwFJZKkx4Urz2KdmGjqQwT9 bOoiYlHAEO81kT3g5yqUIj3cC5dcRtuHqLJxEkB6tLufYeOLpNKCiAEgir4lWW2MStYx4w== X-Google-Smtp-Source: AGHT+IG8WBPlCvVyY1KQYR/9Iquhnkhf4Qaz6J24cTBFhVpXQTdAUekDB7RcQcJow0uNLB2tPbEp/g== X-Received: by 2002:a05:600c:1d81:b0:43d:10a:1b90 with SMTP id 5b1f17b1804b1-43d509f8691mr116342525e9.16.1742814387134; Mon, 24 Mar 2025 04:06:27 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d4fd28a46sm117236055e9.24.2025.03.24.04.06.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Mar 2025 04:06:26 -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 , Krzysztof Kozlowski , Christopher Obbard Subject: [PATCH v3 6/6] arm64: dts: qcom: x1e78100-t14s: Enable audio headset support Date: Mon, 24 Mar 2025 11:06:06 +0000 Message-Id: <20250324110606.32001-7-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250324110606.32001-1-srinivas.kandagatla@linaro.org> References: <20250324110606.32001-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.dtsi | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi b/= arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi index afea82616bc4..34d1d8927484 100644 --- a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi +++ b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi @@ -41,6 +41,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>; @@ -149,6 +150,16 @@ pmic_glink_ss1_con_sbu_in: endpoint { }; }; =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>; + }; + reserved-memory { linux,cma { compatible =3D "shared-dma-pool"; @@ -604,6 +615,13 @@ vreg_l15b_1p8: ldo15 { regulator-always-on; }; =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>; @@ -1461,6 +1479,13 @@ rtmr1_default: rtmr1-reset-n-active-state { bias-disable; }; =20 + us_euro_hs_sel: us-euro-hs-sel-state { + pins =3D "gpio68"; + function =3D "gpio"; + bias-pull-down; + drive-strength =3D <2>; + }; + usb1_pwr_1p15_reg_en: usb1-pwr-1p15-reg-en-state { pins =3D "gpio188"; function =3D "gpio"; --=20 2.39.5