From patchwork Mon Mar 24 11:06:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 876090 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 6E095250BF1 for ; Mon, 24 Mar 2025 11:06:21 +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=gid8Ds5aIRxBFUBXxh4K6XzF5lTt+Jsd3fC3R09EcG7xJrdAbuTzdWKWxDGF4pQ2IGJMBbgDuQdrzbDRlzygKBpStW7QvMMOeCd7RNfz1U1RPm9T4AGnnWUOt8eaUNFwoKkNo6wEv9Z/gTxEIRdAnfuiDWYsg/YYJv+o2HEkUxY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742814384; c=relaxed/simple; bh=4KPz2dgcK6oAYA5wLTZGtAM7Mjdv3/Gv4z1Ch84MYAo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=CVnIC8EB7IGjWHAoULxygiISWDJYbEe9Y+VHQl0/Www2+rK8f14cfSQvE74jCT7LaavVapmvJij0ysaHrZjAl95RyvkAcbWA01NMstyOUqBCsGljXuBlKsPgOcnDlTfCIOSCLcqVcFOiA/UqFfA+a+aVqeqEPyqBtcoDYYCeZOY= 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.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="jv+7hI+k" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-43d0c18e84eso18818795e9.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=ulz9DH59GUfFP9EL//fNDDHPquBlrhuXoFZVRUlFLMjBn/P2U71DL1Xbcu9eA224tn U1hGN7GxBX85QC+4KG0zSazwSDNfbP/pPb9KdHuddlQ/hD+dr7f+8Qm7f4nMrmzmean5 dPYlszpqvWGjFasGgqoAp1rlA7mlnQsyW4oM5n+N9/Mn3BjdPR4ZhOmExUR3/5CB65K7 O3kIvXxy++9LG+ZrSsAmj67CAAkGdmAyE26u61006XaUgiet3XWoq1+0wiEans9wM0YW lG0zBzqwLbAdA0K05WtDVgTHR9LTpac+fvEveCFVevkPKzpeOg6oPO3G/qBBRc/NMdAg 8JVw== X-Forwarded-Encrypted: i=1; AJvYcCUy38bGouQcaKQDVi2XYPyxiQEmqO+gBzvKUdMGCbbNRY1XN94fNXiqoYMn2e3ZgdD81Nzb9ff4nwu0VsOt@vger.kernel.org X-Gm-Message-State: AOJu0YzUM4qfVL5wUap42uYQFL3imoZh9PzaGjResYLU/H6lkUiAVGPO XCGG7h/l0pryNbAo8djEbAI4Mx8u5KQZmPiO0WSu5j8/K+YCDiQ9C8HLX4bzLrA= X-Gm-Gg: ASbGncu4uLbMc97uSnSIe0yy7MF8NvpEkDDjpfXCqX2QKyv/BnL31vHajQKxRanwbAj TKaPX/wA2Qa/iwztBQV71PINlhAQxAIZ+FEPFPa+MKWYHEiBXDaexuj40XixicFnvDtKa0nBBrd J9Tm29jxocOSiBgYrcyw8MmLX4biGDRFwVEb3DbHDlAOfLHVUoQPd/c/R9e8NQz5vWenvdHhQK7 nZyazYkym8xyv56njJM10ZQYHaJzQxhOnr/rPr6CMM+Hv1Mw8pudal6+BsGOQySoYl2R4dn/iM5 2cxLc9Jq4gVUQFpi42Xe0cWlUODjwVHPfjx4ZJ5AV3u3AtGAI0iXpOBrdALtGysNPtckeQ== 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-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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 regulator. 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/Documentation/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. + mux-supply: + description: + Regulator to power on the multiplexer. + '#mux-control-cells': enum: [ 0, 1 ] From patchwork Mon Mar 24 11:06:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 875828 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (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 EF0BE25D91A for ; Mon, 24 Mar 2025 11:06:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742814384; cv=none; b=GyMkrnXkwGcIHGenFzoCm/g48fUxzT1n1pLUzk0qMfTb55lUY4iiJfvRz+0yRvCR7dwxDw/vdhSsr6YK9sqe5dITDIkyYrum1Tc1BrTxT8m1RAUZG8+BlXPyjZ3ZNARwBIyJn29ULxNLOH4qno+90S14Lh4NFhetMhCgxVxSxoc= 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.45 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-f45.google.com with SMTP id 5b1f17b1804b1-43cf05f0c3eso26572405e9.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=n2RtVdb/rWfwcgOOjwCfqr1gfa/lMETITG5WIlG3xeee6dJPE+XVwJRFzjj/9Qabng E5H2nxb18x1Ai7ZSBQiOskmDjpSC9tAvINlcFjeL09sjduQggGgsoICYcpp5b36KB/nf 8AlSM8caGfgGd7pRykmfz74Ru194hlP+Dq4Q1eBhWdVLU7KI4QLXl8a/CUWa232mCXrb RABHyooOKRjVI0jbn9H11YG4SjluhxkkJ26Pf+bG2Q+P5DaaMUze5kjhuH5f3wjAabym Ic5+FhdMW6kUM2xY3qEZJgDLf/0i7bQaPO7GkOmkb2OuXyauji5sFiWmFsi9hYvox7sw HZ2Q== X-Forwarded-Encrypted: i=1; AJvYcCVyaXIEC5/Zc3JvlWWJYhN713UXI08Rq4xEMH9dGe4/i760zQqSX0S2b4ydgxNUia+W0arufrbFO3oWnBst@vger.kernel.org X-Gm-Message-State: AOJu0Yz2OiI0Oa9qRsNbQMFzdN7C1uFg28lAvSif0hx0citzxUYr9hmW WYANfcHpy57Q/M7Nm6e1nyXsRh3xHekTJ/5LmDqPmyW2WV+TUao26i+4/LmiNm4= X-Gm-Gg: ASbGnctZkdF2P7RGBOkQI0gsl7odrjwifzsbDPMRkLElQ/rN86p/E8p8T7BhVrSK4Ho Q6aFIoYnJPoKxnAI+kYateXa3C8R6/Hkp4ncwcGBiswGbhPkozJ0cWgQrQoGRV9RrJtR9dU0GJ6 /p5uvZdXGSIHMF+N7+gdHXphZaP9EgaRQtmADTc42Iu/dRQo9Qa3jUWu3sUZ+ibKfzakYzIzm1O 1TVFcSmTzo43ZdH5sd/B3hrsytwqmUYkFycP37WNlszrQv3qGDV/YCgEfyhPp5kWiwx3CB/DbLP cLoHzy6ubNGDZQqNRAK/dnLwh0vikRmTQfPd77oHglPvu+OZNAf/RA0ZUkVtyUJZQUeNCg== 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-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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 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 = idle_state; } + ret = devm_regulator_get_enable_optional(dev, "mux"); + if (ret && ret != -ENODEV) + return dev_err_probe(dev, ret, "Couldn't retrieve/enable gpio mux supply\n"); + ret = devm_mux_chip_register(dev, mux_chip); if (ret < 0) return ret; From patchwork Mon Mar 24 11:06:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 876089 Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) (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 9BC5A25DD17 for ; Mon, 24 Mar 2025 11:06:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742814386; cv=none; b=pd+uWBev5nk38B9uPGR5Z8p3lRDUptbRlZTvTG+t/daqs8j/EDV6SjisX6zIACoMSxxS9pRxRIP+fSNtgfF+ICC9kBf2u6LNo1t9Ieuf/ronxWWdd4DpZ3j5wL9FSHH4AmBvjteG1d3PXrymBDHM5fvxX3kalQqVzX8/lqCngdA= 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.221.52 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-wr1-f52.google.com with SMTP id ffacd0b85a97d-39149bccb69so3818518f8f.2 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=WH5zTQY6OeLac/FiaC2maFGbinYZSBGpXLpq6hd8WdQfGp76ereO6ZkpGg8un62xVO 0LQmy1pLznVJAcHyFIASgW2yLgkicEr9PBctTOshVzpdJ5rSfLtraADcLWF482YYWBgM KOOV6fwmZg8wGRkd5UHk3xjNn+FS8uDIB7EySXgFCfnlN2xElPPAK91OOsj41QwzpHTu iDVDrv7LHzQAYe+A+MOLl6CRrHaO66MiE5dljyMmvdtHdRscLvH9bww6sztu7Mi02SZS K3SuFbgB7JT3lLKUL9XM/d/DqP5vVbEzcjy9mY3cMsqFLpR7KZmPi9uFftg1w502h8PM NJnQ== X-Forwarded-Encrypted: i=1; AJvYcCWYwaY9Np3FGKXq1ms4zsMTq03DhjDEBIy4UgQOnhb/t7j4FEeqa4hkQ9QAGqtj67PPvS67/kdMcIJxZWqm@vger.kernel.org X-Gm-Message-State: AOJu0YwjTOdqjRqZEFUKLSIlEV9iokb6u1t73GZgwRCEjhsI8n9yPeeD vTJL5uDA5moLVS5cdffOCFewYf/3xOfm9kJg/9m6fZezdJTHSKknr1fOfZXESs0= X-Gm-Gg: ASbGnct9Rlw0BQ7dwv5Rhq0ANH7nWevcHu48bSYLLFJHYoHVpYuAcOh3qrkb//acTY+ bw6Y3aqp4l7R+KUwKlF+Yp1BXWPYNTW58rrb2Ep+tRCSmzO8fMpoR6nI85mZYayEDxQHZ5Pynbb oFDTHgOQsITOZmbUa9t12U4/6mem4xIKFbXZpa4s1o4VQrNo/MdxBtsDtf6h0C178JJt22+vTv6 Azcx0jjDoSII9UNpJI7TokYO3VqSEBLRK7wag2AXAQQvUlYo06pGRXRGxx/dLUqfBbi8D7FxV7J mykUwwCqLCxA5q3jZlZFCdisMC+/h28fEsN+L8EFUeM50Mwnkbm2OCZuuPbberoqvPY2CQ== 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-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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 == 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 device *dev, struct wcd937x_pri dev_warn(dev, "Micbias3 DT property not found\n"); } -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 device *dev, struct wcd938x_pri dev_info(dev, "%s: Micbias4 DT property not found\n", __func__); } -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; 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 device *dev, struct wcd939x_pri } #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 = snd_soc_component_get_drvdata(component); From patchwork Mon Mar 24 11:06:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 875827 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.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 0108A25E465 for ; Mon, 24 Mar 2025 11:06:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742814387; cv=none; b=a/sUUaFBihkQjaCd3wL8eIVtbvYVSQz0vfuSN+0KnqTOat5yrcKsiht011ekd/dG63c7X6xzVNehUr+3cqyxnu76oDUu7NP9pr69wCf2artYHOJlYgv5ZJFjQ43mbskuLpjMMLAnlU12Jslo4wnIrNKUghf+NrMTYVTa6yOi1ag= 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.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="Pk6txyZc" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-43ce71582e9so27708915e9.1 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=d8RO14uGZ9NkKyjHpWGdsRwQG39ubplkhE6B0zx6jW4/VBzH+GYexBDaquU+eEgswW 8DXIgie7rwFZ7g21Ik+CkJQm/PTJIn9IiY6C7ezkuO6KcFIDljhhhWcdhd2KjlciTdDj z2INrvpVBMiyqdbse1sKOhmWRujzl1QnCGhwOcKBf9D0NtHFjXcMVS1jQvpn7+0gM7Ww G6UomQjOxHNnfWXk3Fw9OyO+s2iKp01RSlmvyGZLebbX33NlHroY4vv3ttdjra2wG7tW a4tGELhPXIqIe85StTgiMhESaNH7d6oFcFmwVWKTDw7GP7/4yfGJuUJlv/3Bhn74x1K4 INRQ== X-Forwarded-Encrypted: i=1; AJvYcCVSvmi8tLIi/0JXOpv/k/QV7fqx/RTlu6GsmvHv7EqbRgrW++n6C3ONXb5Ttufu8zBDSGT1pPlRtOJBsWcm@vger.kernel.org X-Gm-Message-State: AOJu0YzBH+6dWJCFsGCsPnANQJoNwAoBA3twVevR/fZsyjmAj10wPr2Y 0+ot8Uj0O29+2X8vWCf7KqiIY51eGdHCnN4X2AWhX6ORkwzF+Nj7Ve8EnzSgskY= X-Gm-Gg: ASbGncuTELj0GRi1gArASBDdv3sk06r9JpEK7O2G4FonR894FRlHKQ5Bzm4F3l92uOF m8cpz4Fj7/MXIadzjr/r6oJ+Ouu3mTM2akR4JsjnIxSUcl7wdJIrUGSpP71xpBS3WSt5f/GCwh0 Tzd/ZV41m2pfbG68gibIiPre8/bW4xV+xP053qkZ3OLNbCyvVZ231F/CN8PSUfxcoaFDqYzVPFj mp9LQUnqyrGPAn67kyaz59xSGElAW8xcZhLkUj/D+cbnsR1rmfNJMsOS6Rty6FHIGwUnQoqnGS5 Zh0gUaFgAe2m9Nj6ls5c195uH9Wu7TlCrG26UmOMjJI0VNVRjr2NfJ+hPrChT0pKG27raA== 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-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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 --- Documentation/devicetree/bindings/sound/qcom,wcd938x.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Documentation/devicetree/bindings/sound/qcom,wcd938x.yaml b/Documentation/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 + 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 required: - compatible From patchwork Mon Mar 24 11:06:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 876088 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 3C88E25E807 for ; Mon, 24 Mar 2025 11:06:26 +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=1742814389; cv=none; b=m1fId8NYWT6t68iCD6WL+2DLbXPC+7AGoaqb3SK0dxZ7YwSIi6z5gSER3qYdIul4B1tWIkm3cP6/pqn1n2+j//yYN+Ke9j74IwkFpDKE+qfepTTaX/WL0gxtNZLt+ivwP49Ca+2EWtKhs2t66FnZFG75CZFlbjiZjeGPQcMAeaE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742814389; c=relaxed/simple; bh=nktXVZZVK2sj5ks05K/PZQORVrDJifJshcJ6Gwx0Vgo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=LQYEeh6E4pB2yEFiY8VBtzCKT+xpgZWaGPfyG0+rtJaOPDnNR90zmtW9wPLtHhlnARhPYBZOnldlnvWGkDM3e1yt2gtzJVULNxXjGW5M5k+KsrllMPWVY9W2f2A58XK4UtgF/4shd49V8tvHVmAVKk+5m8H+szzF16tOo4kCwog= 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.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="kVO7PYP7" Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-3912fdddf8fso3190751f8f.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=wmJDro65rNJgTnz6Dyfxsb8N6e4SNeL1nmU0daY9zZ/hdJjKbZIm713fuzvuZUcNs+ 4Y5VvAjMnuD/9+Q3THL+bWZaLos0QF3HLplfo21T4k6PA9l8oLHpox1hjWTahnv4ggFj jMwfnfYC1J5Veln5csfpTpZpDxr7ZWY+NJnJ6WG5qdR2u+77fj2M7AT4bxdk8C+5dLFs fbIks+A0mjkaZVBTaxqoLGzCLZo/Jl94UdQDKzkTNxu5QZWuqrekFMWTCLMHJlO73y0S Ho4j4cD0gqswZUYZ5yN1xHsURzQd47dD0mqZB2RqhGRjm7+CheU/EndCbOej6zizei+P c/wg== X-Forwarded-Encrypted: i=1; AJvYcCXFGuQFsq2YhAbtDqT6Rh/yHLRorRXzHAbwarKgpJs3Wl922dZpWQKszK+pFmkSVu7iuQwVj2N1jiie+LF0@vger.kernel.org X-Gm-Message-State: AOJu0YwlLWQOAiFxNCh7nwkzDovNmahacL27OZYg7/fQNW5dNQhjdW18 vJ7X3ZyolANh0yvVTx1gLsBMha6shbu1aoINYq4FL426qY1jaVmN7bm4ldef+RA= X-Gm-Gg: ASbGncs+C01EJERoPTyWKFNOOK2dGHE3HKSS+xuxgKKcoM3euaxIbxVuF3S98bcCQxR +kHNcWkHrPW9H4l4xA01WcUgEHR5t0ZFbjBHcuMsmpxaPmN9KFyjdMCtOXE6wMQmkgj3KRYDImj VrT7o6CyL+xXKKpTDhA07r35Hqa/Ra+CSSmFi5K5/632YhS9Zz+qcgOgnI6sR2A2XRnuiQHzu/+ fBLkheMj/gYpDrhFHb7f1TawBAzvJN0uCAQQpb1wjjNBkIVyKx/nb0/U7bqfNpulCMVhTk+9AOg 9EOZe3ENa/18tqK3YdcamzCX6On1z6oTC7WCf4bwNdD2p4BHVd07B93IFeudZ36p5LCPmg== 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-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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 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 #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_component *component) wcd938x = snd_soc_component_get_drvdata(component); - value = gpiod_get_value(wcd938x->us_euro_gpio); + if (!wcd938x->us_euro_mux) { + value = gpiod_get_value(wcd938x->us_euro_gpio); - 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 = !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"); + } 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"); - wcd938x->us_euro_gpio = 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 = devm_mux_control_get(dev, NULL); + if (IS_ERR(wcd938x->us_euro_mux)) { + if (PTR_ERR(wcd938x->us_euro_mux) == -EPROBE_DEFER) + return -EPROBE_DEFER; + + /* mux is optional and now fallback to using gpio */ + wcd938x->us_euro_mux = NULL; + wcd938x->us_euro_gpio = 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"); + } cfg->swap_gnd_mic = wcd938x_swap_gnd_mic; - wcd938x->supplies[0].supply = "vdd-rxtx"; wcd938x->supplies[1].supply = "vdd-io"; wcd938x->supplies[2].supply = "vdd-buck"; @@ -3581,6 +3600,9 @@ static void wcd938x_remove(struct platform_device *pdev) pm_runtime_set_suspended(dev); pm_runtime_dont_use_autosuspend(dev); + 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); } From patchwork Mon Mar 24 11:06:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 875826 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (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 DAFDA25E825 for ; Mon, 24 Mar 2025 11:06:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742814390; cv=none; b=DBjNDpCpfHoUeWXY2Tg2rKGYH7MjyHxQ4NNm5aAIBDcOetZ+cdqkUbdlJ6pfFL4AA2UwLhVdvlrzyT5s6i1pg0Lp8TMjPDOhz1WL5874cyvFdRXboAP7qwTmG/XmfUYsjSRtHeCTuG6SnLZjUsqEj+lLcCBAqddbx/QUbLSnCLU= 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.48 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-f48.google.com with SMTP id 5b1f17b1804b1-43cf257158fso27850335e9.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=Sm9BxV+/XN74eYhAl8x61rO0l8ru1lWWCJKYcZxkYhCN/42ZpcDGdLiXQd6QYO6IrD ChHwxJZ9595gUsXXKFpoF65nQunpnTWnUbbSEqN0LZWca/IZf18UkrTCO+0I+WHg2L6V gQfX74eSv4v0l8qYl3iA5U0xe96DsVMTolqXsqL1taXuBIETiMp5y8XZed8b31SezXPL 2D3cv6hS94A6JgBWv+erlglkONURfapVVN6bGe8Sz/VzBy9vlv0YB2pDTTr1tBU5HD3j XoFur28QSBwAhJ52LAza5yxQWrjamPcVqP5OwqzJxoZ+1jYERGEarw15Oj7tqu2eDfEa mZ+A== X-Forwarded-Encrypted: i=1; AJvYcCWapAw/F2t+j4z/qophxm218rfmZtRU103WMaHWKO0QWfBJQPCH6HpGIIqF1oYNHIJmR/EVW4lkdjUNKTGr@vger.kernel.org X-Gm-Message-State: AOJu0Yxfw56fFX0TRFii+jWNU4Rp8/UClk6Gzut5z5UY472VVoypD1Iw GzhbEpGpNQESVUVYGZfjZHtocv3TS4vd+Ezrq+e9zbrro6jHTTTvfoZCgcUGZX4= X-Gm-Gg: ASbGncsAa/najKFRW559eSLQ6P6YxaR03d4mkjoGPiQfr1tBauXcUrXcTbY1srh2o+c nZcxvNwuOHbweeQXirmMAVbVWuImmx7ZkgQ94bHk4y4cT1gBQz6/bPkHfKK98Z++K0DhPmpVf3g qvuUHHC1roG4szLgKCAz/DgeIWcm/3f6JNWAQW0nA/QaXq3Y1SJ1LHwnBnLS3h2Ic9qTTUPxDqD cdu6uzjZyCf71KPmC1KMSK+9xJEws6bV6s/HAVylW451O9YvCAEZ9ft1Rb+LNLW5tqVKU1iLd+y VOS7RoMn0cyRyT8QDS887U8WOKKnFq/E76He24qRYSVCR3VBqs5uo6Yh7c2zBBA30JxVlQ== 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-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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 = <&wcd_tx>; reset-gpios = <&tlmm 191 GPIO_ACTIVE_LOW>; + mux-controls = <&us_euro_mux_ctrl>; vdd-buck-supply = <&vreg_l15b_1p8>; vdd-rxtx-supply = <&vreg_l15b_1p8>; @@ -149,6 +150,16 @@ pmic_glink_ss1_con_sbu_in: endpoint { }; }; + /* two muxes together support CTIA and OMTP switching */ + us_euro_mux_ctrl: mux-controller { + 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>; + }; + reserved-memory { linux,cma { compatible = "shared-dma-pool"; @@ -604,6 +615,13 @@ vreg_l15b_1p8: ldo15 { regulator-always-on; }; + vreg_l16b_2p5: ldo16 { + regulator-name = "vreg_l16b_2p5"; + regulator-min-microvolt = <2504000>; + regulator-max-microvolt = <2504000>; + regulator-initial-mode = ; + }; + vreg_l17b_2p5: ldo17 { regulator-name = "vreg_l17b_2p5"; regulator-min-microvolt = <2504000>; @@ -1461,6 +1479,13 @@ rtmr1_default: rtmr1-reset-n-active-state { bias-disable; }; + us_euro_hs_sel: us-euro-hs-sel-state { + pins = "gpio68"; + function = "gpio"; + bias-pull-down; + drive-strength = <2>; + }; + usb1_pwr_1p15_reg_en: usb1-pwr-1p15-reg-en-state { pins = "gpio188"; function = "gpio";