From patchwork Tue Mar 25 11:40: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: 14028404 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 02F2C2561B3 for ; Tue, 25 Mar 2025 11:41:05 +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=1742902868; cv=none; b=kld/i+BR+C1gxRtBFDfXda/CF6N8lMZ8HLHZ3iTLZPFjJRDa7jCE+0fG38k5TDcJhCZufI5VUFPwClhpbOmlmErMHAEtQBgIOEtrY1oN4m5LxH1O7lRQi4Uov/ar+n8n8cc/2wgdo9RlSG6eX0wU5lUyil48kVsZWPSqlh/oZJA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742902868; c=relaxed/simple; bh=nzVmJfufed+ekMZEjdRDlysNfkHvhI2RIGmGqRITGrI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=uD965V0+Kgmtka4EGSO+vFu50ZSR//2UImZDWPcOncQSKPvqWXRHW1Rw2K23kLSzGTfbYFKYLYOY6wJ2STFGPVymNj1xBN+uPOwQ7eZnE5jePs5dn5p+BnLpRqWUh+K9hvbwduISXOSkCfWKFJw2QkjK7c2lgp7TJFUf30qV/kI= 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=ffWRSv8J; 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="ffWRSv8J" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-43ce71582e9so37598515e9.1 for ; Tue, 25 Mar 2025 04:41:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742902864; x=1743507664; 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=fGhDhYESbCVLGZrKJ7EvUOhY/AIfq8zAGCvPtzsm0PA=; b=ffWRSv8J+GPpoy6DbNK+oKp1tY7WD4lq0zW2WzZjKmfy9AqtHmFqar8PY63iyhyqpY IJ3v31dtWrDJ8IGoUkGogdK1ezqGXD/4+8flP3qusj1Sdn4m4cQVmxmZHFm5Mg9VY49G Gw6+qTpu41rj4/dc3srTpCkgaV+SjikJw//DNigemL8yyZNXLVuo3u4/WVAgBYQmMial 7WyPLZuIZjknB3KQTQ4M2Yh/oH1cqUaZh2lObK/ug7O5ouDCvXxoSOumxIlloOyQ5gGM j8AhfR2J9xgSlJkekOtSVcglrViP+rnDcwH2ZX5+YfSoO/wpz0WAJUCav2irLGm4l4zb SPZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742902864; x=1743507664; 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=fGhDhYESbCVLGZrKJ7EvUOhY/AIfq8zAGCvPtzsm0PA=; b=RC67tuybMMb2eMI3945wybUW8IBTxeDD496bfIlj+stz+X+xcOEMxZj+3eF6Vl+exD hOGBb/MZt8GktiyVFc/iZhzOJe6Pnx25gEmCHOPPaGD0Tc1o50ctjGq6Qz6AianXe7oy 6L39OIvb/RceuQue7ZSAAaa8u5i4ZnyO8xtRRD4PcBBGflQume0yoY7fRRhRHQv6XAl7 DKSX7bT5nYw+xBqx1MgT1lHAaLstFwD8yShYfDxgmbmo8BVUWxNqezBr6knPZlwb0ymc 8AbTcggO7mmTAb0tpOX7bIpwy4Kkao19SikjRb0yQCIbX9FiuZyKxfDah7EYSHefS3Bq 0bhw== X-Forwarded-Encrypted: i=1; AJvYcCViwruaowdIbanuTZh94uoOp1+v/J2DG8XMAxLaeCGG6RrDyfso/vclShxkUhZB9CkOCcOz+AHTJt6RH1hC@vger.kernel.org X-Gm-Message-State: AOJu0YzARKeJIToGyLHuTQZPsaiBy1xgqxPEIn+3hp3kC/TjRyrMUOa5 9d8y8aEOkrPRB/Nal9jfLmZlHnML3G399QrfdK1q0bQdhul9mwJmJuNuatBq22o= X-Gm-Gg: ASbGncv1cYIMertNo7i5vjar0XRiydrn6f9VoRB5m24Zq7x/4ZaUodHP+Ukaa/a12/G ZFS3bSmhFtlkaMf2rmd57Ixobz1KaOcb36LCTiar291SoCNpKEOA8I8wYM65I3hxeAG9I3Rfp7u I6B9qrNs7SsFXjaY/QkgF3kYQRugQA0M9sSK5pg21/Rt2pkNRz/s1veO/k9XTtuLaG6Aeep9Ftc hNOS9TPnSxjIsoo47q/d2MiImYF1kQ6LRMqLL2v9XK+bEhAPilVXVth6GuyJk0UtWeUaUch4ctK JXDfj+Jwv0LOizFNSYnkGDEolaxfOUeNb5oi9N15PpJW7CJraAxFEAzKwFjqj6VAIhO/IQ== X-Google-Smtp-Source: AGHT+IHnXTKa7PclIfoxNwdAn+abeRK1ZHaSvsObkxA3nuEMe8tz977mZM57XF3mqVcCCaA/t91RfQ== X-Received: by 2002:a05:600c:5021:b0:43d:1c3:cb2e with SMTP id 5b1f17b1804b1-43d509f6788mr171568615e9.17.1742902864348; Tue, 25 Mar 2025 04:41:04 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3997f9a6326sm13213330f8f.29.2025.03.25.04.41.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Mar 2025 04:41: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 v5 1/6] dt-bindings: mux: add optional regulator binding to gpio mux Date: Tue, 25 Mar 2025 11:40:53 +0000 Message-Id: <20250325114058.12083-2-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250325114058.12083-1-srinivas.kandagatla@linaro.org> References: <20250325114058.12083-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 Acked-by: Rob Herring (Arm) --- 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 Tue Mar 25 11:40: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: 14028405 Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) (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 799002561D6 for ; Tue, 25 Mar 2025 11:41:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742902870; cv=none; b=mjhG+ps/SXU5tVSzUqAVIFeC7JpXq+ojE2DHzWmr2SvTBnapXbELj9NGitqynPLW/qHa2Ko7e2D9EISTjCjE4eiHxhZi/p0+8BPp7WqfWJqidzlGS9z1IVUbeMJ6vwQveBd2lnF/DPmHfbqs7E6gCYf3/JdnfSgvVj+8sB8hDDc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742902870; c=relaxed/simple; bh=5X1aPO2z0jUPOmAmxxbRnG88+AZ4I5yT718/OM1HQtE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=r75UgJQ4daBTk/OMia1VXIIqJrKsi2nzXF1tJkeQTTiATM9GYGqMz5Msx3A9ShzR9NqOG/UTsCOi+KO6So8jdtUIzIRNmYEESWP43HSO6l6o+NcF9uSeIvGw8kL1DIfiZbPMxpJMQ1SnwZeKgzxHdxGo2JcarsfOC//nWpT3Cd4= 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=usKXiX65; arc=none smtp.client-ip=209.85.221.46 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="usKXiX65" Received: by mail-wr1-f46.google.com with SMTP id ffacd0b85a97d-3912baafc58so4338107f8f.1 for ; Tue, 25 Mar 2025 04:41:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742902865; x=1743507665; 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=usKXiX65vIWe7q2d7htqljwhlLNAbcNC8d+RPpW0XIPTuELCE68RrY/B7D0vW3fIU0 HR5a93xtJBjJRre9zzsTSbTA+JOPmc08bAVizY1fVVD8CEvo25qR7kTk3iDndWEm9trn NbF/Bquob1YR23U3anxQ4jKhoGuB+NIOhXraQWoRL70luThMNDKWJafMMvpOVtVsTtQx QMR0I5eChNE9dl2wSy19R8u9W9yeSaIWlyjCuzYUTGPYf5PUc9+VifBc0teGazFPUXzc DhlglhqJWE3+CSQs5fr8drisvfzv8oQf/m+6uAWHEDuZ0L/fvm+G1k+R+IOrIc1EgQL5 f+7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742902865; x=1743507665; 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=vwYjZODr/SSXRo38iplZqiY5LwaFjzprOoBEznVX0hqKXoY34jEnvukU3ECcDxxc5g 6sBWi6dSLauN2ZcIihvAis8iQbF6TMpTqYVJc3+t8qlNASQX9t6r+JfceFBQ7sMa3brM hTDVqQCdptgDsjtVI08tXeU7BJgciCc2wCc5koEouckkiB4XSOtlTDjowg77aTk76px4 Ux5shB0xmyQqBIin1uAnalImHwCa/yMWXcqZQWaHo/bhjO0ZEuGvVJ43doe4rQ+A6/9D ZT2d/oHauz9cICM1Cz9OD05xqx+amn/PvnsQcRN3c/H8Sh5CIiB54B+rLOK2dOTrAho7 0XVg== X-Forwarded-Encrypted: i=1; AJvYcCUD7jYZPrhHHebz4Mw607EI6jYLTWqXts76JiXdAhbK9wV/BebbZ2GojEN5lPXI+wgy8el4B/yhR5+gyS5L@vger.kernel.org X-Gm-Message-State: AOJu0YzdyPlwV+uA4Kgemz8B/e8BtI0kTvZ4ckojmzpu75Fp+vxjS1pk geLaX73NvAuxfLKsveHw+kXyLpXxP0vLjmvlWPmf2+egsP6zM3K5Q8BQO+UqV00= X-Gm-Gg: ASbGnctwa/Y0Q3aWEpY2K41MCneAEAqisbHAPBpeYsXOyNHfCevWrDHXB7jo80gkJvG bDVETTj2kYicSUWlaVw4k1q7FeF4Q866y9T92ueOGGFt752D5l7vt+m0VzuWaozjW+8dDIdHLWT NUU00DCax3bAWffAZf3TG1X4RCS9i1vv98LdSUVZ7zSsi69TFU2dsf8/hjUoRCkw7+12eXLc/6b Wf5ZOq+b9ZbHAPTOQj5oxA5SIJLGuMmYWJ0OJdl8/f6nrt6SltCB6My3LN64qL4wVaiCdkxuoIb iwCituVccAJBAJtMpak3Dg/9EjfGzK1QNOAC4x2lShNudzxgUAWXE/9iryFIH1py7qxh2A== X-Google-Smtp-Source: AGHT+IGX+E1xFo91m0AYrkO4kkEoY2JQnq0F/cboQi3QOCvL7ex9DY7qp1H7fIxNEBp+thnIa9ixkA== X-Received: by 2002:a5d:648e:0:b0:390:ee01:68fa with SMTP id ffacd0b85a97d-3997f91287emr14148949f8f.24.1742902865471; Tue, 25 Mar 2025 04:41:05 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3997f9a6326sm13213330f8f.29.2025.03.25.04.41.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Mar 2025 04:41: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 v5 2/6] mux: gpio: add optional regulator support Date: Tue, 25 Mar 2025 11:40:54 +0000 Message-Id: <20250325114058.12083-3-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250325114058.12083-1-srinivas.kandagatla@linaro.org> References: <20250325114058.12083-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 Tue Mar 25 11:40: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: 14028406 Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1A14B2561BD for ; Tue, 25 Mar 2025 11:41:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742902870; cv=none; b=VQFj1b4gu2H0tfnuzfTCS10s1/odTu6svhRLtNDPaVpApqF2NTzbrd31YbOEluUDOsk4gnVTGltuU0aGamFMJlLZTehtjQdtJZDMb/BDYIaV71dIvrxvtcrN9YlXXdt9H4IM2igRus++hOxUxDeZ6fvJVH4TEA0b6xJ0KcsLLbY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742902870; c=relaxed/simple; bh=hJEhHBHgmcwkLGn7ADU+TBJtnvqkH4aaspjSeICJrEo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=lIueJANDq7SKSmku02QAZeDtA6OIHc+XDA2sf/ez95Uq3YnAxclsr8trB6cCP+ma4D6ji0QVEoa4u96+S5BXWTvcubye5g190pheYLdwY0yLkJe1AD2zqbCq5wa+PMNBUBtH+kX7BBmcRp4nHK4XctE1Ts1Z2u9Y6g65WYDCwyE= 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=flRyaYqp; arc=none smtp.client-ip=209.85.221.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="flRyaYqp" Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-3913d129c1aso3915866f8f.0 for ; Tue, 25 Mar 2025 04:41:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742902867; x=1743507667; 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=flRyaYqpIoHDWb/GhPNgMRLoc0AvD/ObTBvINIpHY09sagiCxJdWtkqYkMyUp8P5Xp ktvCxaAPQJzafUDmnsGdzElQoMZNtaHrR6v9KM1tw8K5PZlKlmwD0FdN1hqjltA1Usit NVP1p+Kl5wB3u+9Q/Kwh24rMloQIMbnOmv0RqeadXLU35wqL5uR6HwbFTFf9relFvVHB 6QZ1PsreiTD4hbOxyluudh+p8l0Rs1vpDDqOlHtIVIVBw0Qz/Tz94oBYM3+08d62fYCP vVLSJMnqks3lI5/RYa8Rb+7BZO88TGFpVp/TNDN0Q2ut74bWeCst17MMQppyUVl6zZAl 67vg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742902867; x=1743507667; 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=cGbn7+aiOGnUg4vkcv8AZSy+yEgOeU1ZlNlXWnxwO3V41WGCNnk/llE8/LBqNOgLbw 0jBiu4KIHYFHs9olgQCmP8H5beuVtHxatoNWN81cm3mqUtFm8Tn6RoxpulAQMNgaYiLp AzmXKbz3GsN1bnPnNKCRhm5EqIlSCMVVlU6RZ7dDzQIKH88a6w+rTPzoDeF47nCbSGke ht5/O/eut4mmJ7nIqIDOcXTmisCDmy+Oy4Py2Xc9jAdbwXf72Hss63YpaeO82GKeES6W H2X8x/nQ3i7P2+GE3EO9osKDXin3eHsyVVn0jh8RaRhHKngdKpa2Ng4X6fNNloM+KhqV nnPA== X-Forwarded-Encrypted: i=1; AJvYcCXpJuHL4yMmscrRIkCDEOzzGPjwVBDX/Z+ZWY9q5K24qbyaSzIyNt74jb/QeypubnvPyFZe6Q7yntSC9w61@vger.kernel.org X-Gm-Message-State: AOJu0YyqPxhBGXVnjmM/6Rb6RgiEJA2jJZy4U1tDk6AOLC5UtbKzolYo 95y3UWgkMgOPBK5UWbjHUAWEO610QF2Z2RsDg+sMAq5pTLTnD+W1GgNDRtiNlpU= X-Gm-Gg: ASbGncuLlaG+8wRfN+FoZ5kFGwg2cSTaMniTWGtG6XmsJcoBDZwkzwwkPceUin9pUpK jeBV5OzMgtH51QMtxlFBCIniGzFfvB7jF5KlXnglJfUxz2mwYakOHQ5So9zHCLZX9+pJGLYsX3P L0ZnRGXAN8qN8WbmsBiAFwnpAaCXlaS5GElZiM0NhZ0v12RVfD7Jl4v3X5JsxJ3nGhy/9sGf6tY asb5DnVcXwCM9sHdPK3ua6VsutsRqRBr7hXAGTjv0esHyv6RC3AkBb2onqfJUhuFHK0yxLF5NdS 8TOApBuVUc2bQvKWdOdMye9KqZ78nwsIWtrZaKZLyJ9T5gNfuh3thElrwwabIr2LcVvkyw== X-Google-Smtp-Source: AGHT+IFqEVrx5mCJtplG7+w7CWWWndtmmBeTngl+nxKo8qHTXdRc7GMle1DFI7FxDeYhfsG7z+7Agw== X-Received: by 2002:adf:9dce:0:b0:39a:c9ae:9eea with SMTP id ffacd0b85a97d-39ac9aea552mr1090347f8f.10.1742902867202; Tue, 25 Mar 2025 04:41:07 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3997f9a6326sm13213330f8f.29.2025.03.25.04.41.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Mar 2025 04:41:06 -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 v5 3/6] ASoC: codecs: wcd-mbhc: cleanup swap_gnd_mic api Date: Tue, 25 Mar 2025 11:40:55 +0000 Message-Id: <20250325114058.12083-4-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250325114058.12083-1-srinivas.kandagatla@linaro.org> References: <20250325114058.12083-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 Tue Mar 25 11:40: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: 14028407 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 9FCF0256C94 for ; Tue, 25 Mar 2025 11:41:10 +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=1742902872; cv=none; b=NuNlAoTv+QHhyewmIsv/tXx4EAYr4Aw2jZfhj+yenxLmvjolywtmjL9LyB2eegk8UX49jiIUqmcZ/7GDt+dxyLRNz/wJAbcDwAm/GfIKcZGmbvsQN+xUr+P3nJKk34uznmQulsDubU9SbR9jsgceEss6uuDCU0i2rQF1keKLRlQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742902872; c=relaxed/simple; bh=SaEurHg9my0SgGDfooWj4uP1HnHehhMQjbSphU85xtU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=TXc6i1TrWYLmRJLKhiOSO6VyQP6E20be0y72oumqH79Qh5qypbIaaCgj56auB/d4Mzvvyr62qmnobknPmo5Fg6H7aB961zps0LyqmgEMdwUc9JxupH34Mz+dzKaz6EkfRBSLAQLWrynCQmjvjACe9NHalNuab+Rtm5+PPn9DjTU= 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=sNiEq731; 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="sNiEq731" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-43cebe06e9eso41105735e9.3 for ; Tue, 25 Mar 2025 04:41:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742902869; x=1743507669; 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=sNiEq731KTmc1jjTcm9F7gE2NNji+grJtIKmNHJ32ZmXJLv/+37Ls9RS2WPCzmPXzz rxosFbjIq4Tt3l+HHYcXACz92l76Lc2zYqYZjs1GRYgqb5ubRUnjBkWJsdrAuCHZNN/t ItDoHUTRGt+azghgSgnlrabAk2ez4U1eg1CIprAAMlzJdaAo64IPldLV0YDotlUvWn/T /kCKnd7Zh2z+rBhmzwIaoy0bHQ4tPoKdTxeAqDM6OEDLLfaMfKQo78VgKrLiaegdWWO0 yM0sBQn0REvebg6R5befbv3mpjUyC+6aWX6AvrUObxQ3X1cR42tEFVfn4Szz1JEV4YKx Jrlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742902869; x=1743507669; 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=QJlx0AEOU67wPNsjApVP/cOVItlVf7uAv92mYEvTeaNvYdEkaVnudo/8eEKxVCSfWx y47Qe7Fhu17Z5dHVs2izRhVACFYffXD2FAl4PcCRH0qISjHv3XSny6DAOZe0vF2A9Nze RD+KLsusfOqpeJokSio28USYxg+8rlJ5demKXT5ngTKOv+CsfyFoQn6TzRMvjbKjPThs CdDFrWgq7B8O9h/6UdYV0Ll1Bar6YramlAvhsmUYfqlrzfPv2dVsRbDnVeMY4//429Z1 jWQz7QQinkX6lQ+3c3C0REhKElwh8kv25M1ySI5rb9h51PsSPKlfk/JYzXpahmBCw7DZ llDg== X-Forwarded-Encrypted: i=1; AJvYcCVdsl4X0scfnztr1oiWYWcHYEiM2Y5X1YplHaJBP8zigXKyXVldyzNje7IeAsM6r0u+om9rSzoqWnMin7gk@vger.kernel.org X-Gm-Message-State: AOJu0YxgewMChD8hM1arqNMzDeBfBCNAVIxax8HIdmn+d3hunnoAGnLb DSCVheeRsHE3dh+BXLF9ObZXndhaLMPWzpcg0kpkUdeF9AiNuO24yPZCr3K258w= X-Gm-Gg: ASbGncvELOrrLWgvVFGyhBWznG983fb3dPU9rBNSGVw15r902iGEiLp/pVjDGb88uUU TGK0zlZ9JiaLOdq7amGHnCXfYjiunBj2MN9aAjqonfCbGqFw6YJM7uBkilfh7ud2VnbTMPLfZo8 oTzxH7DkcQHOpIVbFlL2TD/Y/eQCue2uPMWxSIbob8iHyZh2t3KNWJRA7SIGE7Sa3xAD92aRRfw R7Rt6ZTPuxR9ovas9iY5hdmaH+Cdc4bY4hSRI9ip4N+BeRspy1IA4k/ttx884sH4VU01JNYG+gO R9StUs6TbEI4OokiywgERVPTKYbxUby/zmyiJiEY9JxUId6vLiPIeKG7qAJ8kfcRd3gNQQ== X-Google-Smtp-Source: AGHT+IF1Bqa+5FDwi9MVrJZo7CYKuUtOKzFgzROxuovQWzOm+8iaGpshZQMW9c6GASBDXYEB8yBJ5A== X-Received: by 2002:a5d:5989:0:b0:390:fbcf:56be with SMTP id ffacd0b85a97d-3997f892973mr13392870f8f.0.1742902868882; Tue, 25 Mar 2025 04:41:08 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3997f9a6326sm13213330f8f.29.2025.03.25.04.41.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Mar 2025 04:41: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 , Krzysztof Kozlowski Subject: [PATCH v5 4/6] ASoC: dt-bindings: wcd93xx: add bindings for audio mux controlling hp Date: Tue, 25 Mar 2025 11:40:56 +0000 Message-Id: <20250325114058.12083-5-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250325114058.12083-1-srinivas.kandagatla@linaro.org> References: <20250325114058.12083-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 Tue Mar 25 11:40: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: 14028408 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 BF3A62571CC for ; Tue, 25 Mar 2025 11:41:11 +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=1742902874; cv=none; b=tg3Bqw9GNYgiE+M19Wyy27Pxrexspaf2D2yF0a3tyJSYsMEexC9RldTcai7euFkFYr2pOMPOjwGmiFgdNpVNj0wDw705P5S8Vo4z+/A+9UEMBukMF5Etz7ibrGp6SmNKbRSAOkfpR8Uu0HR8I5Aq+VisSLlykgsnwpHHEdwy9BY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742902874; c=relaxed/simple; bh=A0WtHTs89u0NRiqeb7jtxP3PC6SiQD+qIJMNWTfSuvQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ONuMTz0PT2KnPMqFWisd/eF/Z51Bztlun/Bd6XMFUCdRT++11NSGJ1BV3OFOc/x1wixlWLkDgJSOY+wtUpLNsYyIxyd7nAFo45X1Jg2jO2cQqKUZfvdTqc0OGsYAy0CLhaeYAauQpd8HWx6P7Cq7byyI+2//Ge+3M0M+UAxyC5c= 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=wiJ7JQ22; 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="wiJ7JQ22" Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-399744f74e9so3396738f8f.1 for ; Tue, 25 Mar 2025 04:41:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742902870; x=1743507670; 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=ciCsmE+euFjZCUyipJS5apSViu1JxNfFN5bCQJg2zCQ=; b=wiJ7JQ22WojqGzrhJ8Pl+cTT8qIbgdtpPw1H5fgulafVZdOcoggMP508EQlSHIugSy u4FUL4udk5AUOI9r/sLg3gYySlqPBblpBL+7njJyH8DEdSzvpNtSsea3sqeOdIVQ4P9K Ry45Iv8R19LXzFe/A5PJYShS4xvTibjZt/Scr/svzlzqC3NRnvoMG27Pjzw5slBNTkBH tgRABLHmbq4zdLOVLuqlsim8cGrJ9kIKyLC4kl5W7hZgTRAjktbsLqMlEZcqBoS3OJDl ErZhxOiLn9DNv6fzw8/cgQJDlS4IVZLqKQ53AJ7oKZIG77CE8APAD6bYJDsvbtdSzuId R4HA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742902870; x=1743507670; 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=ciCsmE+euFjZCUyipJS5apSViu1JxNfFN5bCQJg2zCQ=; b=HFQYaKQiWNXbB//WC6h/OGrYnzcBPKuomz8xUDORZrJ1Q65oFSXtUESlJNsQwIFEnh mLM2XAqvUHBJCr66ZGxga1T/1TLx+qtIu5N68hKt6QaTDmGvgJe0in3ZJAs0CojZYMsK /lpIk4WtUANiMwwTpJDSrRk3pwOcSRIETOJN5I9FBTODuRnNSo2hpYMD4eGcrppK6L9v m7AAHhOU8br82yK6wiQaClUMedq9z6uNnSsdoDtpBVDKI4g4UaydH69twNquXfyR/0mi bW9q9Se935IpWVA2t8W5WBjYan5gGE0yVEz3RxP98uyzV4BKkTWmh7NVwpG/Sj1CBBOj NT6A== X-Forwarded-Encrypted: i=1; AJvYcCUKHgXy03qo1IASyhuz3eWucOma6wn80Y2W+Gt8kQ9u0Po5xongwWwr/T0PwsNPUWJqy3zcRT6ot5AnHERa@vger.kernel.org X-Gm-Message-State: AOJu0YwAJfA19zpDh9gu+DXxQsTOuMD4i47eW3GzSrcXv21YvVLKSHHV GtgdSZABWSi22XpZysyEPGZcytVnIAw70TrFD3okr0xBm3X1ZLRxb1jqgRq5h7U= X-Gm-Gg: ASbGnctEGhLbdXO36tjuUt/1fxqBRx9D3MPVyDC/iDCyKEEbLutQXB64Zdk6ZljH9D0 tPIx0VDSaGEUJSk0Lcne/Hc1ku8QzsUqjOsouDPWyFBgLVJF6tMWRZ8SHu0xi4U6q/lJbOeNFAi ZTUNTzq+gv0qHhJdtj64EtGcHqofGL6oDLI/VCGAF4xy5sDbagEQUTNgXTPGQqpvHeou069SukJ raXgZaaUx6pFV1vTZ7sPylUb6RNXPwsnQbPAgbvd4uvQ8TQHriBfHYmDeFMfppOvg0WHxyTTNZu 4ksf3prbkzEjFroBUJ+fAwVmm3339nZQAei+32E9E9FYjv7YIOJK8pDkWL4buTWCl4mWXg== X-Google-Smtp-Source: AGHT+IF0JTdKEiQNMaj66CfUpe4bYsSfOE4aj8Z5HReCu3uR/s99pqqLX+H/2CSyYdeTC/sC6+XkdA== X-Received: by 2002:a5d:5f96:0:b0:391:2fe3:24ec with SMTP id ffacd0b85a97d-3997f91072amr14239891f8f.14.1742902870048; Tue, 25 Mar 2025 04:41:10 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3997f9a6326sm13213330f8f.29.2025.03.25.04.41.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Mar 2025 04:41:09 -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 v5 5/6] ASoC: codecs: wcd938x: add mux control support for hp audio mux Date: Tue, 25 Mar 2025 11:40:57 +0000 Message-Id: <20250325114058.12083-6-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250325114058.12083-1-srinivas.kandagatla@linaro.org> References: <20250325114058.12083-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, 39 insertions(+), 12 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..209d0b64c8be 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; + unsigned int mux_state; u32 micb1_mv; u32 micb2_mv; u32 micb3_mv; @@ -3237,15 +3240,22 @@ static void wcd938x_dt_parse_micbias_info(struct device *dev, struct wcd938x_pri static bool wcd938x_swap_gnd_mic(struct snd_soc_component *component) { - int value; - - struct wcd938x_priv *wcd938x; - - wcd938x = snd_soc_component_get_drvdata(component); + struct wcd938x_priv *wcd938x = snd_soc_component_get_drvdata(component); + struct device *dev = component->dev; + int ret; - value = gpiod_get_value(wcd938x->us_euro_gpio); + if (wcd938x->us_euro_mux) { + mux_control_deselect(wcd938x->us_euro_mux); + ret = mux_control_try_select(wcd938x->us_euro_mux, !wcd938x->mux_state); + if (ret) { + dev_err(dev, "Error (%d) Unable to select us/euro mux state\n", ret); + return false; + } + } else { + gpiod_set_value(wcd938x->us_euro_gpio, !wcd938x->mux_state); + } - gpiod_set_value(wcd938x->us_euro_gpio, !value); + wcd938x->mux_state = !wcd938x->mux_state; return true; } @@ -3261,11 +3271,24 @@ 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 = mux_control_try_select(wcd938x->us_euro_mux, wcd938x->mux_state); + if (ret) { + dev_err(dev, "Error (%d) Unable to select us/euro mux state\n", ret); + return ret; + } + } cfg->swap_gnd_mic = wcd938x_swap_gnd_mic; @@ -3581,6 +3604,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 Tue Mar 25 11:40:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 14028409 Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.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 702C72571DC for ; Tue, 25 Mar 2025 11:41:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742902875; cv=none; b=kycSB7WSlYi7vLP7B5QW36+nWc8+RUGE17cMJ8L0pyAUJIfgAP/R23GKoNDXtiq0uZ33y807eL56uAKRe9VZ8FG7Hj62MgHQyNDoJoEqRZzw/1WYU6bsk86CceySq9YiwLqGJ3aQESENJh07LcFaCJN48vWM1nInnq/eWDLnIQU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742902875; c=relaxed/simple; bh=4hK5NwvGZj3PELV41E3//V4IRXz5oGNBj9IGYps+vOQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=OEYfhpQdQ5j3rnusDa1GNY6xrgc5Dts1ppxMeIzMUxDRTAM+3ADZh2TsCbYcuEoCkZB+WiFavYZNq3w4Vhg1K45u1eGTVap0B8oh6hOxgMqetEFJ+wnLMY8kcg6DUxrmbuKT8VSErm+8zR7i2sBV6E1az8ZvMnMpHEZrE0FPn6s= 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=O37S5wV+; arc=none smtp.client-ip=209.85.221.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="O37S5wV+" Received: by mail-wr1-f51.google.com with SMTP id ffacd0b85a97d-399676b7c41so2938038f8f.3 for ; Tue, 25 Mar 2025 04:41:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742902872; x=1743507672; 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=O37S5wV+iqpX8LHQLqDuBub3v39fJGQ1jyfFmU5HgS1AsV6pBmA00c4M0oJU2vSSSy RhQnb2/5QHg18hkf+Ayg5tGQkQz7U6R8jui0UnBLcJWv4COW6MTfyrqDnbtJmk1IYWaP MsNDYDcbEClzxgGIVWAjY87akqe7w5eaZHTM63o+jNya7GNn5akIBv0Bb5tVpemnQYul 8ycHGqhi7H9cQ9s8d9V3MkC9NBl6n+7213xOjRfFdpRG45ZyXYEOqv4UAtlCGeoDOsUy cqJYWsGLq3QhZnBtCHjzW3O5e90rw/1X/ByTdSfPPwZOnf/ePaZ8wd2VbVqO6qTmyKBq KYjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742902872; x=1743507672; 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=H4v6uzIpUNGGQxhk0MIyU6A5im3NCz2QIhuZapO4vAfS0/xuU86m6uIBCX3DwVw0fM QnaSFRcQyewsB0RuY05y3zqFQgOGy243eeG9e5Fi+Zo6FVCHLVE8QBEEOT5ZOj/onERl Iv3d3Ht1GWz+4lsvX+uEC3jCRuRM4khZcpY9kX3q+vW2zzB5qt1Lfr64IlMuEO5659P+ mb9wJSBAiG7kMYwN4qJtJeUGG9bxHZVK/SqJ0Bppc0yi0ffEIDf9nv7C1+gGM8AHbnkW GmANg0KswskR63ZD0fNICw0D8EaLkrWJjnEbjWeRevDT3U3ouyYakfZn36FkIclpgWia x4Lg== X-Forwarded-Encrypted: i=1; AJvYcCU1bfAhI7gxZG2jsfP+WFs4NnS2m6HHq5HQ3zNpN98zv2Eo+/7MgMPuZ5Z7EV2uGA9sHbY6ChR6ZdTmb7+h@vger.kernel.org X-Gm-Message-State: AOJu0YyDMFe6IrZTc9VE1ORCQkxjRIG9e3d/ZtHg4x2iSsOzwTNT3Qkx BhcS0sfFob7Y7ofgW+1KzmpRikpHmqdwJ9X1p2r8gf7gFqHekG1/62IZSl9tlo4= X-Gm-Gg: ASbGncucAsi0smGuwT4xm5DLH4rz2+jh2RpLZ+JdaBuFmML3cqvveKIbcxolJQndnJG P4SQxwE/FTMe+VdYbsC6yB36m/BQM37VYNw2pwABA1nUgiFxos7nMMbNi+snRVdZ+Uj8kB6xR7E fICkem59k4ndf4Dc/2OLnVXhzfeT/6TTUruTKtYNBXeeZep2aY18EuFHzc7X4D+UxhKqP9gZF7I NdWZu31PxG1VIVmXswjcyZhXXh37fHIOPvINhWhxWCHOOwZiy2HbJyPTms2BrgjjUeovcIB47Ri 1RixS1Map9Hlt1tNLDXwvBuJ3UqPEcpRN6iYnMUMwI+O7hoBADuvJNTdmkr19kyGAOgTVg== X-Google-Smtp-Source: AGHT+IEMuI1g0ZU02+lOgr8fYYCjQ7o8X4OMjftQEoVT08K9es8AYYCt3BGby4k10kE/8HnyILx4Lg== X-Received: by 2002:a5d:59a6:0:b0:390:f6aa:4e72 with SMTP id ffacd0b85a97d-3997f8fabdbmr14153166f8f.18.1742902871718; Tue, 25 Mar 2025 04:41:11 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3997f9a6326sm13213330f8f.29.2025.03.25.04.41.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Mar 2025 04:41: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 , Krzysztof Kozlowski , Christopher Obbard Subject: [PATCH v5 6/6] arm64: dts: qcom: x1e78100-t14s: Enable audio headset support Date: Tue, 25 Mar 2025 11:40:58 +0000 Message-Id: <20250325114058.12083-7-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250325114058.12083-1-srinivas.kandagatla@linaro.org> References: <20250325114058.12083-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";