From patchwork Mon Mar 24 13:00:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 875818 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 DBF241C6FF4 for ; Mon, 24 Mar 2025 13:01:05 +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=1742821268; cv=none; b=AcRfakkZlKkLYdr54UIOLNhc4iFYqTm3AyY1+ANxW9ayhbypGwI4PeY4U6s8v71TGoMnfvd6vg0JqFzt+O7Me6ZkSfp5fuX5Scpl1AuFpAS9L7WhC6c+8LkWbJawzqqunVpTwg2pJl4y/bh2Tg4gJlgfZL8TnE7+Ww1ItA+ZCg8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742821268; c=relaxed/simple; bh=hfdMYkI1wSY3YPTVRxCMq5RnZCB7Q8NWRrwf11y3dFk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=N2Rqa+RDG2Nh9lfhim8yaP0Zxj4H8j9ZbHIBEs7kETYcPLQ8GCIMetQc0XTz/BXq53OYO4s3hQnPOTedNzpwU3/gUUaUFpro42NcsYJExBWqhzYn8SqQM7JMRmYervtkC+Zlin1jf7EsqDM0Kjt/VEVbJO0hnVj9Xhnt54deJ+w= 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=o4//6K7p; 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="o4//6K7p" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-43d04dc73b7so46429585e9.3 for ; Mon, 24 Mar 2025 06:01:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742821264; x=1743426064; 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=dx8vnuvBu7CvSAoy4lTQTdohK7w44dk4P3RzF1FDAZw=; b=o4//6K7pf7K6MI9VsRIUvoKHD2Zwh7PXdTDM7VgOJmrC8sApVEyh7ljoUpk6wyEeqh Su0sr1ZCDk8zMaOJjHejMPPLmAQDQT/YLOMq0t1DDtbuQH0OC+1sKJ20KEKgPEqS7i0b bE336d2CKA73r+au571v7e623LApknAA5BXwK7q54sdalH/7tjOfWmhbhQ8igd31bzuT h8Ox48KbNF8gm4n95wo88HW5FI/hjKShvVdDM3ECjaB5btXJ97WSbwOEmRWa9rqf0qu2 ThyLa/M4mCcShfrF6674PfyLZxGUHkvzfArzPLxOWUd+w4XbP8/aQ0rZCsDs2UbKzbo2 HehA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742821264; x=1743426064; 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=dx8vnuvBu7CvSAoy4lTQTdohK7w44dk4P3RzF1FDAZw=; b=f6zSMrv3+IzgXC2KwtXt7Dn9xEh/+l4RdKgYi0EG0ZqQl7OFcgwv/3RPnLqVcCobQs tg3mg3GkzswPyxgLpfeS8bGOYWXuz+dw68rwAxhrMhZV7xIT5gHDgBaN8zUX1l1VK8m9 BTud1S3pDDpUx4S4lTBTxq5OkWxJliPk6ZPFn7KbM5BZhVy8zqkhDhWxHDRhCox+QTo2 K+oycSyQaYQS8EeZHtdpX1hI2ZEGxOusjv7liHBPCw1spCnbiWrJi2gSu2wLiadxLwDH AjbePS/lj0rlg2cPfDfkuj1ePzrFUuvdv0Ak5N88k+7bu/bzmuhFUtvZVCVD/TWHYHEX 53dg== X-Forwarded-Encrypted: i=1; AJvYcCVPRblL2jTEfx1EN4fDannAdcbaBe+rTIWlFCQXE6LyUmHSB/inGt16htOCOWzVseBUF0UKduEWaVHMg3RP@vger.kernel.org X-Gm-Message-State: AOJu0Yxs26irnBydIofpgjPXwXTcZ7db+dFE+EpsEvfq9fh+/HgRK6SC Fnq/SRAf+DaMyPHQCFKTS4sNOAz/vqNM972X/OjSpkHqvKuHKu4MXFKvvolkpso= X-Gm-Gg: ASbGncuIhtVSLi9HXrC1Q06etOdWmsEc8w4mcyHXtBrJ5j5vQJ3IO63/wgXjTrrESlj rfuYZdSliU6NhlSLXgFFPjQV2QYQZGeXFeJCdeFpVgsdW6XzlgYBtCl2wO5f/h5QM+m6HGsAIb0 S2oeFEc9FlyTm8IOTCWh6E70phzh9VCMUnyaPrm4OqciRvhdPwjq5ItMALXZcnp5cTLtqj5Fv/C 0Ati5caOeqQg7RTAIR1C6mHcT/2GSdW9kO1T9090yqT3zUeQWCE6nqOj0khdqX/2ABjBuTbvOcS SJiCFPr7npRGW9hFcyR4jk2jqP18w7tpzN8Shwfq8lge8odRjLzZXvkkaPC0TyRdVF8C4g== X-Google-Smtp-Source: AGHT+IGs1hed7eFfngKtDdIfLF7CUa5raY/UTLvoWGsHn1iu0AT2ObRpnyWdq4Tep0xWDphEI1SbUQ== X-Received: by 2002:a05:600c:1548:b0:43c:fb5b:84d8 with SMTP id 5b1f17b1804b1-43d509f2ebemr127044545e9.16.1742821263769; Mon, 24 Mar 2025 06:01:03 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d4fdbd1c7sm122275975e9.40.2025.03.24.06.01.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Mar 2025 06:01:03 -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 Subject: [PATCH v4 1/6] dt-bindings: mux: add optional regulator binding to gpio mux Date: Mon, 24 Mar 2025 13:00:52 +0000 Message-Id: <20250324130057.4855-2-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250324130057.4855-1-srinivas.kandagatla@linaro.org> References: <20250324130057.4855-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 --- 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 13:00:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 876079 Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.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 6373825F79D for ; Mon, 24 Mar 2025 13:01:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742821271; cv=none; b=c/+6a1D4H5l/Qv0HtHoBxfb5HqGN6mM49m6qYJV64zQ+76ogrLaGJwo1yYfdJWYSRVGy6lsDOIzgr/N0QwBVpFa1OljfCoO2JQcnmw9IN0njxFPQSq6yrWCR2CgLVf1EPLbjLigY9zmF7eu+N79iGL3dDn9Jc2nBJcfBTky/EAM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742821271; c=relaxed/simple; bh=5X1aPO2z0jUPOmAmxxbRnG88+AZ4I5yT718/OM1HQtE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=qy+VqvH9D75SZacE+dFFcTzkHEtj8soroy10uKNWUoXArCYqHZ7JG/FDsFPU95p03EjuyifuNVngGLMqGUjIu7Dbyalw6RQjVaKQXSu3ZwcThs0dovZxyj1W4dqZbO9b5d0OLMpsnYjA3JZgzOaxP2qnW8tCOl7ripklvt3xob0= 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=gkdr4tIY; arc=none smtp.client-ip=209.85.221.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="gkdr4tIY" Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-3913d45a148so3525292f8f.3 for ; Mon, 24 Mar 2025 06:01:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742821267; x=1743426067; 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=gkdr4tIYNaYtGLfueYwe+BXm0YZMNQPuN9fulFxz+wES0nRz6YXp1ywzIspR5yEMsa Iord4zxa/YEocp0if5+ep5KiH9WTqTt4RGn1mYS7A9QThN47VuKnFHwXf1vLvOA/1ud8 YP6LX3JOqqvj2zdSgLcIRD45bcHCMDllKoYeZVP723ai+YcSCHeCIZTkVKPYjUt7EL70 aiF7HAm9aUSBgyJu1Fa0A5BuzV6hb+veZApFFMkH0MTve6UQjAY2MDYN7/0eDHxdFxI2 /ErSK/LdRc9eIXtRtaRflLdVhqbv6iSQgSqNAXmVD4VYwwC2RmkeYym6rfHij9flVeuv S+pA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742821267; x=1743426067; 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=pxYEige1BiRDAMlNi+0S/u4fl9p312GSUol68oJBaa78WS6eyKWnlkknGzkX11ePSq RAfzMfM0W8suUwbuOGah58QnP1ebnzmcl2hDccI+MGhBNqcYYS/wsqJJPEXkLOpllHiD i/h+9LIgyPrMfKfPs/kTLCsozdMCSlt80LlTsOcT9pLBhE5sZd9CT/UGiC8qyzGav8LS r+/xXRgefnK47ysqDcqTmRzNWvsWk5TV+6jdpq5TPHCf8obzIEHBCdQ53QXNCAmUiXKc 2qA4Y++pyL+pOTd1rdt2EcGBaE+pNzMHJ4Qvocmg32njg6t3LmEbv8Rc3zGRe4dYlFq0 /F3w== X-Forwarded-Encrypted: i=1; AJvYcCXBIilq6puRJ6Q7hwESQokxzq59bIA3AwTATILzDIYAwhAXJIt/xKTUlLzxjddjp9TCfL9Z1hPlLNCzzfdn@vger.kernel.org X-Gm-Message-State: AOJu0YznucMsnfJ2GITwAMZAzXwBy/or1huF60AbobNRvSSbDyNLdcb6 wk2DoqH6PmxE3t+7TIaakd1bzERInJ+p2Im3ZUjJiFIJ0bOXhpwNXjOP2aiHp20= X-Gm-Gg: ASbGncuabkHSkXdlUVd7usZbNvVQd1HWhry3uYTmxIJDwIX6GaBOqplB8bmcBlY34fl UKM2V2nJYlzNWGXTzyM0GsOZIIoIGcplABVjsTC7hbIEboCpXzp6ElRGCnimCOPElfLyyx+e5iG DUe+k44x2ElvV3tmr/KKrana39fr/dpVmVIsM7aSls1jbVLh39s72nE/N8N2Lq6qcoDGqdbccdT mt7urhhyFvTrHk4uJQkAllKNW2c4JRPdqI+0W+4kTZl5OqcicMQQdOp51lOkMR1+XZ39uZtD9lT zhJvU676FDKyuHgYrEc9k5Esy3+kGY7zJOW0rpErW2GSv90VIFLWCxZg24kKCkIDoxa0sT0/NRG sDtRS X-Google-Smtp-Source: AGHT+IH/LCQKWak9xUpo8rkhPabLxUJyhK8s6nWMq3T7RoU4G1wdnEPytthIr96D0+PMYfRTxPKOwQ== X-Received: by 2002:a05:6000:178c:b0:391:47f2:8d90 with SMTP id ffacd0b85a97d-3997f9017e3mr10499945f8f.20.1742821264799; Mon, 24 Mar 2025 06:01:04 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d4fdbd1c7sm122275975e9.40.2025.03.24.06.01.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Mar 2025 06:01:04 -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 v4 2/6] mux: gpio: add optional regulator support Date: Mon, 24 Mar 2025 13:00:53 +0000 Message-Id: <20250324130057.4855-3-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250324130057.4855-1-srinivas.kandagatla@linaro.org> References: <20250324130057.4855-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 13:00:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 875817 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 E9B5825F963 for ; Mon, 24 Mar 2025 13:01:11 +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=1742821274; cv=none; b=npkk9dNy8Kakzfss5vRLvN87RFgfgS0iciZlCHf0/Evp7uuTMeEIrmWW9Gu91p7wisgvGr5nsK5U75ZgB7i283o4r4iKUYZDQxcO1QdZ2w3AUrR55/cKqXlKo0u/bQE+OfdXcTjtreTXLpvveOjh0RrHE+caO8FqcC52EAez9js= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742821274; c=relaxed/simple; bh=hJEhHBHgmcwkLGn7ADU+TBJtnvqkH4aaspjSeICJrEo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=QgRR9k984ZISfyW348B+4duCCaPcqVsWXEofubI8w3Sq/nJwuforLZX66eIan8EFPy2vO6yXty6z8WyZYFVUYCVF7WuuHkqbd3mDVHoHaxYjRC6k4gphtGAjkeMlvhCZbPd4SrHy2XhxwkYk4NzFFVH9EmuAVWcaM+jxgFXEfBs= 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=yF4H97lg; 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="yF4H97lg" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-43cf3192f3bso37373835e9.1 for ; Mon, 24 Mar 2025 06:01:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742821270; x=1743426070; 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=yF4H97lgOgtwoiahjN4IJAz+CdapyCJKa+TvD3oWLnsleyRiM1SNDAXOf13AFmOooJ DXvu32z7f5I6B9KMyVHKwfzEL2Ja0LUHKhJdaIjO5T2TFBmFRTIYcB+QYYvZkklEcohj WQQKbLN3ssmGJPM/4UE3oLjSIeHPcxHQdfjU9/KzT8pHhe73RRa8pXnXAXGbuAVE2LMn mDYS9po+8jGYAQHE9PLh+IBFKGPej3uaxlfXgsk49jbJP5FwjUZuJWgF7/iiVsUb3oGk fAe04U3AvsQsO0rZMH2mOJfPPrA7vuZjEloUmYsDojA6vqCv9HsGoSxZc/eXF/gZUbzt qndA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742821270; x=1743426070; 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=a77ryFvm7z1K9sOMWfKQ5qd/PgKtx4KLJ1WQG3rKk9Scqu/zoHnN6Lre0D/pYBcRja EK9nqPBXjpY0Xnd+/z22cCvCunNjiPomN0z8MSlRgG33muqJ6vWOWWl5P5gZNdNall4k 5G+9YNIaADuXJRpg8hEMR1B/U2hOZTlxNr39BZEQKXFgh2fvsmJ3ESSqYRLf1BlCghHD w1jS2hzeluZALEbNYZZL52ppGUPnYto7QdS7W9sk/6K9XTQnB0lF9NE0OixjgcHlgTEc Nzt6ckW6VEtH5JDrQokTTzj8/B6PlelK/+tiMe9ObZ9cRTE7ZFPSj549Iea+gS275xfe 1F8w== X-Forwarded-Encrypted: i=1; AJvYcCVje58hmo0171QZn7fIu5fPkIBeJC/zQfCPLmb6JSMMRNeEYOGc0EkGTzMtwRGctnOrqRiUzOKHAcPV99Fi@vger.kernel.org X-Gm-Message-State: AOJu0YyXahXNsvgTA501dyg/KddAIrKXjz2e3Gl3hVDwUuABoV1gL8W+ pHybAjkcmafYI8aynXa9qzRIyCVYsqxm8c3aHoNF080ug9K95ux6u2Vn/YNDoNc= X-Gm-Gg: ASbGncs1LL48op2xt6r3dZkLo6xSrQnoTDaAlEnkfAtlKieLFVFhqskVCsH9xbexmiu zxCnOEsnCIymJEzTiEN7eYXqbfxaYpMKjvshr4MJcyuZ5oSOYQ+SHxFk1g7kW3QtT124FStYwWA /jOPw8zcoc4a/HZBFu1tnAh/caFq0BAKS3m9NAZp/u1WJ9nr1lk7NUVQ2fY0Td5Bv+4+8FezLYf QNXDQunWRjPiaYrlNggxD6ti9v9qEkkVoEKp6YPr+y6ugewfiTPV1qu4QBGVjosySkVj6OZS/xM n99Yx0oTfb+MWKdZOk++lqCs7EEtBFHmVtW7NjscOn+Qq4+zKwdifqgxEloMyPlIARydLQ== X-Google-Smtp-Source: AGHT+IEHylwx4qlkPIxjxGRM/SsWCTC+RRiS7Z7WGB581zySgV9XmANjiM7Hap33tyQHXG7s4q3FgA== X-Received: by 2002:a05:600c:3c82:b0:43d:45a:8fbb with SMTP id 5b1f17b1804b1-43d50a1d1ebmr98894065e9.22.1742821268315; Mon, 24 Mar 2025 06:01:08 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d4fdbd1c7sm122275975e9.40.2025.03.24.06.01.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Mar 2025 06:01:07 -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 v4 3/6] ASoC: codecs: wcd-mbhc: cleanup swap_gnd_mic api Date: Mon, 24 Mar 2025 13:00:54 +0000 Message-Id: <20250324130057.4855-4-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250324130057.4855-1-srinivas.kandagatla@linaro.org> References: <20250324130057.4855-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 13:00:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 875816 Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) (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 BD16D25F979 for ; Mon, 24 Mar 2025 13:01:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742821275; cv=none; b=eHZPnLgooqK1AhKvJQO0JZ7tcR5cTgivkRK2l+ZUT8fc1CFogIlpPMN90uOC3dWPHKtHGtKAsmb9ziX9JLszGg1evAorSR/HybA3XZ6oV+Je2N/OYyzSW/iE6+wCLorHDtTFCsedKgXQIyKPCMFUq+0th7zPv7OxzRlh4DcPb0o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742821275; c=relaxed/simple; bh=SaEurHg9my0SgGDfooWj4uP1HnHehhMQjbSphU85xtU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Ut+hCSRzQkICuHYqy5YXerwv9sNTnE/Og8F+FmT6OPwJB4h63vkiRti53H0ry4LAO/Vi5/N5HQ/g3GCKrMvF40QbYRxZTVPWbE7UEu67LMY1uMUlJMuV1rhFmvVcDP3XXawU5/VVSQLWTKVAqHmkmqg+ayYOtsDxnKhcvIJCGPM= 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=Ans7DUZR; arc=none smtp.client-ip=209.85.221.42 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="Ans7DUZR" Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-3913d45a148so3525399f8f.3 for ; Mon, 24 Mar 2025 06:01:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742821272; x=1743426072; 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=GZ6QvHirUebkLT0cLpo0Lkee0nQc81mUaPIyQl+HrrA=; b=Ans7DUZR7qXgluMtEIn9P64PZkNjsyxvWBGuWYRTGRpKPojYSC+tH9ThvN56z13Y7t FoMtvrwDuAGRtPj33qnkvOqazL7LfiJi4lq0qKI+2lFTx7aHrXElIbAfSGf0bdgLc491 oF5FlkYpHgki7vIung1WuRiEwoB+WGko2vGnv54UBUqfbk6VkduALElcJtx+tGbfR63s B6mBC1Z/P3lroJjQh2KZKlPyZB2CE5XLgJBnQKLATrobbFexLzab0RcfEcAwpwXw9oay w96vtdEoqL0rIYhm88JZoGO7ZYvgXHZgNc9pohYI7O56DnG9MaiY3gu8TXqm1GpFka+N qiew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742821272; x=1743426072; 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=GZ6QvHirUebkLT0cLpo0Lkee0nQc81mUaPIyQl+HrrA=; b=JHYNdYH99Ga+iIHO/Wf4BGbZDqorkdVJ/lW9OGIS8bXr7G8Sc3sWUPnuqheC2I6QlW OaSG4x8NN/oOyRIHoVCK442KLK0mqOVpoAmMVN1LYW8VkY3gIhfM+4OALx5DqioRUcGl YdMx+P7VDamrBDmclcAUYlnc1nbHJSQLURmsqX/yCtXQbuWcwwVqdP+UbHq6XpiSkdBg a68EIf+KBeiEhF8w06Tj6EIkHhNMmlUQ3VWzyaCDVLUV6d8xr4ysk0FMNrtCi2zX/Ncy U0Ker1faAistLVU6v/+YDHzOqjtwfg5nKM5Md6nOSJqzq/XSqS0U4oOzHy3FEf9P5Rr/ TDag== X-Forwarded-Encrypted: i=1; AJvYcCWVggX1jpx8cDvPTb24SQhUKhq8/6MSjaQaT1Iu7IsGMFQUYMbkzZcQ5/nIpiaEyTnJzHmjfSEbVGePY6Kn@vger.kernel.org X-Gm-Message-State: AOJu0Yz2KOuc3kC0DO7K0Zqbv2bNXV5BZ61yhpTfbyhrXKXSgHMrBvpZ QntSHUrLrHmRBXC21AmjjBPhFqOWZ3eOwFCQPsqkmJFknZblrasdfvGgu14MVNs= X-Gm-Gg: ASbGncuo8gb80qG3LaYc2Hjt/nF6VwuoXRh9MePzAHpGdr+zGdcljaNv50TJnm3NAAj gYVamD0NZxeS7LTCFeEk83gXEowbtZaJR9ulmiN+W42ZFjQsQFsejprnK8f5dpHsS3xkjyEeP88 Bmvek3246LQu8ksy5FEAPrQExP7o0gmTa7BZ1uy1pQly6zrAf0nTe66ZbIzcLWtkcO4piKxcPmg KZgaL8+3P80TsM+66nKRB1IrjqyNxDWsdt030/+go82H1lY0NUeok9Sx2zmIbiLEOnuHsg+HD+O xhasVeQSxI1TCCVrjKMP/3udBXej0TNtpqSA0RxPXRobRdMQVrkddM7D1r86pCZE0OEXyo18SU8 dWZc+ X-Google-Smtp-Source: AGHT+IHcZdjKo+W60+E0889CUCSjzvCnQTNGHROcaLcw11SC7gzeWcB55np64KwhSuLoUJuyekwy5g== X-Received: by 2002:a05:6000:2107:b0:391:3d12:9afa with SMTP id ffacd0b85a97d-3997f90391emr10016304f8f.21.1742821269598; Mon, 24 Mar 2025 06:01:09 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d4fdbd1c7sm122275975e9.40.2025.03.24.06.01.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Mar 2025 06:01:08 -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 Subject: [PATCH v4 4/6] ASoC: dt-bindings: wcd93xx: add bindings for audio mux controlling hp Date: Mon, 24 Mar 2025 13:00:55 +0000 Message-Id: <20250324130057.4855-5-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250324130057.4855-1-srinivas.kandagatla@linaro.org> References: <20250324130057.4855-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 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 13:00:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 876078 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 92F5225F96A for ; Mon, 24 Mar 2025 13:01:12 +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=1742821274; cv=none; b=mwndbFAfnVary5qqI9U+l6rgbfFPfKshUw1YR24ooBPv1CnqgueQrVnkaRTk4kGQkxTHzSTfbHXTjakY1QLMdjtifHMyooFy7tyuvQ794bZrBiPEpF4S8DgkqF/fWn+5XcpBwHWeq4tyU6SLoKE2/VQZM+UEZoyMwkga+RJdgmY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742821274; c=relaxed/simple; bh=EIis1g6PdS3f0AOhNeshL9YKCmmKkSkIVunOteFUnBo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=edjG73FlOdKgCKJk+iRfxqChY/MyKik+8eExBFo7qarinI3ZwhnPZMn1jiewd6Owx4BsrKpBqzUlK1p2EfJipZ5vek2+CYWIxEQ/D8Fv7QfOH7L8w580SsL+BZJcR3wEfkzzJMa/k+BFXnFeQN1lOe02+DPyyIz4JeEPe5Q8608= 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=LXH4m8zD; 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="LXH4m8zD" Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-43cf034d4abso47801285e9.3 for ; Mon, 24 Mar 2025 06:01:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742821271; x=1743426071; 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=CIxdXc3XxbQbeeDfHw+WlqIL/H9ji4aLpTo3X7yPJCk=; b=LXH4m8zDFEMeHYO5xXSPRwIVafTHXP5UGcRE8RDlnLSkrXsWwZRz+EmoqOEIRVLFtr eNp4JDbFIiJdCMmkQi4xWqDwyg0Tp6800AjmUc/WWoOWsRMkUdyfADYfZkEbfwgwUwZ9 xjDlMzqxMAxahQxsEy2Do369LIQn9Qpo48IFShEAvAwGeO+WwyuJ0OkZoc8HlCjm+Ag0 dyQ+GureGoMzz+rdv6uWNEu9miex5E/rO+7cpVPLovTFsOEYhpcQCpxMDzz8s0BAhBpg +HVURpggVTDHZJMEM3hDb4f1pH/FvwYfwJfwM4iOdE7HEzLP+h+wLPgxWZ9b7EvYaJgd R2cA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742821271; x=1743426071; 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=CIxdXc3XxbQbeeDfHw+WlqIL/H9ji4aLpTo3X7yPJCk=; b=TSDAFeIEMw30FXFXLQFH8RXMMgaxTOw6TSSBNj2UeharcpmDxtgdDE5Tn4FwUOo5pJ 83z4awOMB1VSn2rA9x6KGhfp63cidcJJPxeIXFdKKOzDXs/f6TiCsCyYNR/bFTsjPSMF FHP6koD2CmkMtdpDm2j6LdOs+dqN7MWPjyMtnSt0Mn8+9QNIR+VOT9UnD2vtHdk4KPLf B80CTaWTx2sDZiIPmZ/kwdCZRs1OeBRraIUp+xk4VFGT1h5Rdjw3y/RdArgtsNrvZC3d gqnNGwz/BkdDiEviRV4ok/zJIysreRSYCBxzitor4ZCoWZGiIWEiyu6CtszDsDfreZST DjAg== X-Forwarded-Encrypted: i=1; AJvYcCVd3oBZ8vFgQ8f1fa5U8zz9SHYwAXq6HjMkMljA8EIut9Qh7XT/gsT+GjrSWkWNWNnIIVVa5lLepuGSKhpv@vger.kernel.org X-Gm-Message-State: AOJu0Yy3y0T5E7BL03UfxZhpcQF4fm56Jr2WV3nhJjGBzJ78g4XVwTWD tY23FWMt6fbTJUOp2lHG+LEZCtWQlptaPfMiKf+xIMXKJXJ+bk32Iwkfp6SwIfg= X-Gm-Gg: ASbGncun/3QlO/1LGB+QFbhsoxEQ0uf03UMqNujFuB26T+6ycqUAIMzNgyVOSxRE07U RoBAQDEH+W2Zt0L1vnAB64+S0MVxfXbdKFsC+50leNkjxv1/t6PHjsNbSa/t6DGy3dlQ012B5wu 1LJGyZzkLJ24MhBLWbPkXrh8CBUpmJvBr1TxVPHRA9TlpvQAxQo41gT2B9a4vlBV/PnP85QpdNJ H2U03oWS1mnyhKDzv6dOPM/ouZL5N083sK1cKQnRfemJN2iICyciKExC+iKSFSIR7HcEXRwO1mq Qc2bq7dyX1cyTwSAZxOidU2EOBusO5Aj6PjmAxrJBel3MuRY0+cmBI3Q7AGBjuVHkpOpxA== X-Google-Smtp-Source: AGHT+IFs97yEJFrcQcGHdF61b11+D99EkuGXdOkKnHbn/qoC7JXgiu6gUj9xe/poo+JHd1PrEG2cvA== X-Received: by 2002:a05:600c:331c:b0:43c:f332:7038 with SMTP id 5b1f17b1804b1-43d52a8ff41mr52077115e9.21.1742821270695; Mon, 24 Mar 2025 06:01:10 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d4fdbd1c7sm122275975e9.40.2025.03.24.06.01.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Mar 2025 06:01:10 -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 v4 5/6] ASoC: codecs: wcd938x: add mux control support for hp audio mux Date: Mon, 24 Mar 2025 13:00:56 +0000 Message-Id: <20250324130057.4855-6-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250324130057.4855-1-srinivas.kandagatla@linaro.org> References: <20250324130057.4855-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 | 50 +++++++++++++++++++++++++++++--------- 2 files changed, 40 insertions(+), 11 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..88c758efe40d 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; @@ -3235,17 +3238,31 @@ 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) +static int wcd938x_select_mux_state(struct device *dev, struct wcd938x_priv *wcd938x, int state) { - int value; + int ret = mux_control_try_select(wcd938x->us_euro_mux, state); - struct wcd938x_priv *wcd938x; + if (ret) { + dev_err(dev, "Error (%d) Unable to select us/euro mux state\n", ret); + return ret; + } - wcd938x = snd_soc_component_get_drvdata(component); + wcd938x->mux_state = state; + mux_control_deselect(wcd938x->us_euro_mux); + + return 0; +} - value = gpiod_get_value(wcd938x->us_euro_gpio); +static bool wcd938x_swap_gnd_mic(struct snd_soc_component *component) +{ + struct wcd938x_priv *wcd938x = snd_soc_component_get_drvdata(component); - gpiod_set_value(wcd938x->us_euro_gpio, !value); + if (wcd938x->us_euro_mux) { + if (wcd938x_select_mux_state(component->dev, wcd938x, !wcd938x->mux_state)) + return false; + } else { + gpiod_set_value(wcd938x->us_euro_gpio, !wcd938x->mux_state); + } return true; } @@ -3261,11 +3278,22 @@ 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 { + ret = wcd938x_select_mux_state(dev, wcd938x, wcd938x->mux_state); + if (ret) + return ret; + } cfg->swap_gnd_mic = wcd938x_swap_gnd_mic; From patchwork Mon Mar 24 13:00:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 876077 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (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 3ABD625FA25 for ; Mon, 24 Mar 2025 13:01:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742821278; cv=none; b=nEGRp+ePctXJ2M+0DFc9ER+L93dv0iY0D9ogeKy++GH7YwRgbKusCW71nbyHYyBK3cWwy/Dr+I1BzRRKxELfl3X4pitJv1UnV9HnX72G6l41tUcqx2ooTFuRl556tfNvine/jUijpgXmebukzd+urU38hDmicQJ/Lb9qKgCn42I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742821278; c=relaxed/simple; bh=4hK5NwvGZj3PELV41E3//V4IRXz5oGNBj9IGYps+vOQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=cM3mrGbd/i807HQh3ko0Eixn7uImp8YFruxfg+u83Ib6jbXFWWyKbaONml7CIYrfWN+FqK/5nd/LUBQca+F/qTDBdr3RriR5D4bKH5IUGCparMVhONUHGlrgI6oXBVTQTcO+vKxdyPBs+QfsHU44eSZDzUYhUXvvJZ866+pj4bw= 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=XMXdQK2o; arc=none smtp.client-ip=209.85.128.54 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="XMXdQK2o" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-43d0782d787so30999125e9.0 for ; Mon, 24 Mar 2025 06:01:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742821274; x=1743426074; 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=XMXdQK2omOUAqBS6EweSRdMI3k/1gGcvPb6WOQc8Mjus2qXhQOBdeqyWhLcS/GzjU1 SWuaZ3OY/S4zYpHL+/8fAolcDm10TWkV4hNUVTl1eRQBf65GU8cTCtCFMRzU+JUqFzzW fq6TQl/Tf129BO1EjQJtHN16JJKLJADIRBOtaT4f1RK2fQXxJ2WC5USqCN629qefqPiQ YTk+21Mdv+sZJHMOQR5wok3IuSLXqAl1pHReg0Vrl2JDxqWRU33NEIfSx8+TaM7DIPk7 IN6SpT1jResUy1qWDzIsPqr+g/FHZUmOmOFgp0NAWEuJbUzDaFi+/5gFrKCBBQXEqtuG 2fMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742821274; x=1743426074; 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=ux3BqqUSoYUFKGk1EY6vIZxT5XMoM4+FD0wcqQuE7JpFEpj0GO8K3s9PKmhbLNI0eA 9LrQSidOB7pC6zfqE+Dol58X/O/0p7SVCl740FtDymDS7dvThrBtQDHQUeZKM3TzD5ug lNlMaacDA/Ijf+mrjIwAmHKPY24+ScJa7qLhLu6pCplDOF6HdzG0Eab88WjHTgK6zx4N 9+omAtJXg3t1hTT9Bw+EVH6q1SIFS7o5JqSBDeTx7ivrDELDNdtBJCjBc7A1j/TuRi5r VfGa/Ml1XRcUGmg7XLUS7ORa3TXlLNBO4zL4gTZDmT7nwvAxK++Qw02Z+8HRIR4JRieS ljoQ== X-Forwarded-Encrypted: i=1; AJvYcCWp+Ehtl+Z7e43yYrb8p40XxSa041sE74WWMiWogSRCq7Vg4awu/QLAaa6IG41i1Z5pMQNJxtlK9jOOQnIl@vger.kernel.org X-Gm-Message-State: AOJu0YxP+1lsEDk/UXib47waHl/B1TS2vI03hwPPeGtTHhktZczdy9xA ASJErTYMeD3hVootyvK3sc274ClbiXp1mv6R+KOMvGILowtPR5O4T+ekSZGtRsM= X-Gm-Gg: ASbGncuric1O28mibD9vLOqzUqck7vQQJBUXT4lyGsiyA8QXfpWZPBTr/Aj/yx3F4Aw fQKbgJNuV+C3XKj0OjG50xQnxoYjUt5Tq4fmulFnnLsv8Rtxmt/febQL0EDpb4l2UbH7Shdp4DC nrUfcRyZxedchNlMTzT1Juj2c6cpSWL43VvrRDs77bI5JkqZ/yJjL2rBHA81D6yTDIgE2dFE8p+ qPDcd+HB7UieafhakxQznjjetPEpz14SBMRfSU4dEQqKOY2uWSZ8fuQvk+9Yvx3vfYmG/1gJjdB U2nZ9PL8fxe7l8J2+EvF24T4q/yV7hKwYfJvSiDmJDcwskMe6BncL+QhQmNKZ7Vm+LFaIA== X-Google-Smtp-Source: AGHT+IGeenGXBUxGWQuSKN6iBis1h2PL0x44PYgwRi+E3q/OLy/gfMO1oiAs9uaXyCp/vP0FDPrvPw== X-Received: by 2002:a05:600c:3110:b0:43c:f44c:72a6 with SMTP id 5b1f17b1804b1-43d509e3394mr108748655e9.2.1742821272912; Mon, 24 Mar 2025 06:01:12 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d4fdbd1c7sm122275975e9.40.2025.03.24.06.01.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Mar 2025 06:01:11 -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 v4 6/6] arm64: dts: qcom: x1e78100-t14s: Enable audio headset support Date: Mon, 24 Mar 2025 13:00:57 +0000 Message-Id: <20250324130057.4855-7-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250324130057.4855-1-srinivas.kandagatla@linaro.org> References: <20250324130057.4855-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";