From patchwork Thu Mar 20 11:56:29 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 875302 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 93F8421CA18 for ; Thu, 20 Mar 2025 11:56:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742471805; cv=none; b=O/vuCFsbzqqMo/3CEbbpjcG0Hemv0+tuycjgnHng1B411RnPin4yr3fgf2OOlcV+Qe1HxK2IFzzC///WQKqScUylenMOhCSOKNy//XqV9GbXzyWHXEMZvUyAU1MSFlbxJjcdWe7vrhihUZ0vmBjYkU2iAVXWj+mMBZxftEqJ+sg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742471805; c=relaxed/simple; bh=Aon4CSRLZAp00bOLv5cqnz1HdCAHQzSH1gGdjQ1+p2s=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=YopogWRj7i5sBfCCMuUp3Y4zYqz3uuogvMqQ9rBHK3IOKgpVPLBfzbVKVKUEfR0AXrA0ePFtojP/JdX+QrSmluvi1ym6wkAW0nwPb79i2GxMbcBBg1SRJbkCwett+bi8yCvw6eY2WwTh+YUdtCGEibkLyx3urM+W+EJLwlikYR8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=SJwQIkHg; arc=none smtp.client-ip=209.85.128.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="SJwQIkHg" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-43ce70f9afbso6783485e9.0 for ; Thu, 20 Mar 2025 04:56:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742471802; x=1743076602; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=eTBcwD7zMY77Gd6SVP9wN85Z8q1nB61DYTk+PAfaKwU=; b=SJwQIkHgEM7R1WTrjxpobSyb1vdk6Rz0QmdMccVtxj/JyReA8AwE217gHf/RAxD0kf yeqNsFxw/EvLoQ8/QZdgJozzsPBFfQcs11YRe/bfbPnPhJVG/cjxX8iM3CRgkJDsDJro 7GVfCMkvz/OwuH6r7LCyr7Hc6+3SbAbUIy3jvL/LgeTZzO3ANr9SOWQ75GXsdKzSUxi0 kuxM4uzz4iZW+nWICN+EsyLdexxtOIqTFZttRfrR3p9lSNapHqk/EAiIXEZ8+M8EJFUv JfrQAV+ntcUyLWVW5c6m2avoCH46AeC1eE/RW6f0CB/ncTOJ+NPhinuobkizybiYVFo4 iXHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742471802; x=1743076602; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=eTBcwD7zMY77Gd6SVP9wN85Z8q1nB61DYTk+PAfaKwU=; b=Ymm9c8rXevkkPY+7I5w8DeA6i5suCNjuf5HLBDzXm05OLnURWcRR8G/4MnN31/HRAO b/tM2cnYzQP7WYGOFYDzdjytddU7hkP3TN6D1Rkogr5pFvA+rIpGYcOOEsgFldY5R/pW Mtq7EAOZ5Ft9PtOxznItBRls8pKJRzz69lTDgDzSKsvUi7Q+Sr8Mhh9OIopX4M1jFrni lICexL69YdIInaO9LMxJnDLJ8X43fyH5J4i5VYoSu2oNKL9P08jckUzwhxf7bFDNK5T3 jIyyRspU4/bNzWreVJ70RbO+3BXQbVz6+E5Wu73X/EMt0pAcuzIMfQr5cPb2Y49gMyAo 9Flw== X-Forwarded-Encrypted: i=1; AJvYcCWty9GjWV+a11K1JKUFBob66pPGKl5YTyqPE2Z5SHNmSE5CAE5jzvU3Rsmdv5FWmYJ5qlwgWSM/ietAq+id@vger.kernel.org X-Gm-Message-State: AOJu0Yz3fSi5u+/FrbY+AY4xwYmZ6HzwIb26tA/nR3CIXW9Gn5D9Ai6Q CjePzccUFhUkOoF8KpHbkf4/MC6p5JhTGYZAa2bTO1uRFu7T3b0eEGL1Y/CHj6g= X-Gm-Gg: ASbGnct8D0BUsjK3ohuMh/zwvaxPPu67fWkkirfW+Qm88pnRryKd7N8QEQTdCoJsdeA WVrgMnViMdCx85ET9C48vAA9ksYQzV2LUvrcgGbA3nofc0WxhpbXTcOckXBz3xFNE5WCE+Q4nvq b/VycwUjObFqklCVZYXCdrGfQXdEmU83R3O+ach+pJHupGz6lp5y7pNgmPS5yUCPlEEgRUpSsfV t+BueMP9XPf6rrA3Rk81P2kzKMJYOz2SRM1cQP0l18A4z+9PNCSP5nEWx0lRXoQD1edHAEKjEPP B4OZSAL17pMR2U/FwnN3Z6j5S0LoIW3gABFKDkRVxvuBsZA45h0+WSEVi5GfMJ+TYqE0tg== X-Google-Smtp-Source: AGHT+IELSu1Fy0iTPGOQqguY/3CHrp5HN+wulAbklczgtP+/n5Gl76d1bxZyG2Z7RhRwAdDyddobKg== X-Received: by 2002:a05:600c:1546:b0:43c:fb5b:84d8 with SMTP id 5b1f17b1804b1-43d49549405mr24419195e9.16.1742471801801; Thu, 20 Mar 2025 04:56:41 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-395c888117csm23257857f8f.44.2025.03.20.04.56.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 04:56:40 -0700 (PDT) From: srinivas.kandagatla@linaro.org To: peda@axentia.se, broonie@kernel.org, andersson@kernel.org, krzk+dt@kernel.org Cc: ivprusov@salutedevices.com, luca.ceresoli@bootlin.com, zhoubinbin@loongson.cn, paulha@opensource.cirrus.com, lgirdwood@gmail.com, robh@kernel.org, conor+dt@kernel.org, konradybcio@kernel.org, perex@perex.cz, tiwai@suse.com, dmitry.baryshkov@oss.qualcomm.com, linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, johan+linaro@kernel.org, Srinivas Kandagatla Subject: [PATCH v2 1/5] dt-bindings: mux: add optional regulator binding to gpio mux Date: Thu, 20 Mar 2025 11:56:29 +0000 Message-Id: <20250320115633.4248-2-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250320115633.4248-1-srinivas.kandagatla@linaro.org> References: <20250320115633.4248-1-srinivas.kandagatla@linaro.org> Precedence: bulk X-Mailing-List: linux-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 --- 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 Thu Mar 20 11:56:30 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 875034 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 2DAA92206A2 for ; Thu, 20 Mar 2025 11:56:44 +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=1742471808; cv=none; b=qtFbWNfxiFWbYqHy5u6pL+sjFQp7IE0P62c1e8CBZSVRWAi662vp29F3lR0gEPPi6Q3E18dviXS0+i/9AmL08THBwKu1X5ZT8NTLOUDIktNDcyksXxOeJHxQ/TN4IIGsfsJWT2Txozyv2PrDKNinG8Kv7PeVBchLFJI50SeNVbk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742471808; c=relaxed/simple; bh=T2PbRRhtQTGvQFtJCRLISmS81biLegmtD1AJKN9+90s=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=jj7o+q6PbHflYpWGGVTzptMpBXxQwz4BA+DPntyxeX5qL2twsFb1DyS48YrQ7eFrRv59hkD+bjMlk1J5jl4CLdZuE5EpM8+D1yOKzlRRB4Ds9FSBRasazqhdj7b2zCY/oL+IsUus4HqZFjvSiAqQR/WZPLpmqZ5GY0qWCp7W6xk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=Eb+dSReu; arc=none smtp.client-ip=209.85.128.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="Eb+dSReu" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-4394345e4d5so4433605e9.0 for ; Thu, 20 Mar 2025 04:56:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742471803; x=1743076603; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=b1gFShGL18VkNSl91DJ8JTM4WvU0/x0n8rRRT7Ut7zA=; b=Eb+dSReumpURahzlftk61pXmRcqqigcVMFIXqURuGaAMljy13eWSVgJd34XpPUAbXq /WVE3M3NhGKKG6NTfU8IIaIXGQrvhbMMF6ZNfJ9tiRW8XKNJ5DFZfXY2Y+zUn3VH9vH1 k1TldGFpU+6MFOYaCSGrhlxuflL+fDqd/n+//tuEleUcbezdmbXSQE34BdbI6s2GvwYQ kU/P3CzJgO9k24vxRbfQ2wwQkfyBLAJI8ZAJFpp5wtCo0Hmt43e6fOeXUfIkJDiaqGKa WglRhe1+da1jAlCqdp28elRa6/negAcCS+g1dm7Q7ZW13oZZ+YZJvsA0TlKnwVCwnDN0 ZMGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742471803; x=1743076603; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=b1gFShGL18VkNSl91DJ8JTM4WvU0/x0n8rRRT7Ut7zA=; b=j93RYnei1RNmKgjD84KD6MhY88I7UP+cgBhRV7lLi+8A7rv7le4uvC1rdunve1zY+2 vzeXqjE0Wod8e3EnDz9bQ6lfBtzZLSKaN88CV5EXhjlCiDGQMkiHwFw/8YGBX0hiak+/ Q4i5qN4D2oDTBxrNnZacCz4/qRPhqIXWfcD0TGf5yCLo7adfdom0EwXXEP+s46zeufEq LjK3J8q/kxrBPJQFuOtqH7KjViU4sVG9Q6SkXA0PaSiz6j5apIY74Nvf6mAUHCTlX0ZT HIxPEn356STzcAKFI4qRKxuIywyGsTa9QcGD/C2f/clx6Sy6zOxzCtzv5nePsTz1pK9l lFgQ== X-Forwarded-Encrypted: i=1; AJvYcCUgRxOxHpj6cyRrjwiPGyxHN68JS2EIyVkXZBarVlQmft9q6qJPwQMXm0weDj6aN7kbSDuJR1QjOdjldt9P@vger.kernel.org X-Gm-Message-State: AOJu0YxkYAnw3gIqe3anQ9cipDVi6YbDp4adTDjkowSWax9LAVcHUrrv ovJxQyLrl/YvWy0QKj5TV+QpUxFJKJ5tVrLuSinoJBwp7kQ6xGEZ43/4sHA4TEg= X-Gm-Gg: ASbGncv8QCj1229Npd3gCIADCembs9WBy084kXRrCiij0P4yjug+F/Fp2LaC7HzOPTZ OST+I6ZkPw6kkwZAHcCiQFedXNEmQsJntmB9uO4xApHFut5cRq7N8GZ3fXL8FP4z1LwgdGo1ibJ MbgZeG857CI7RW9kzeja6MUb5UrZ8mtszOyV1h80uWt0PkyOy/4gADHfefgIFr84AnBcQ6OOqtH Pko721LvVekZHuITeisE8tuyHlamwCxuiukto4MLJIF5mD/WepWmySmOEPin9m5ormB7AD8Ty3a 6aIC3xIf58FR66LYT+UauN2gIlFEiiyR/YYZr56cr00lc4XXzM2GKFvhA13g9+cECF6eDA== X-Google-Smtp-Source: AGHT+IHDaRKUgc9HfZ/3hd0DCQIlmWkm3pZZLNqhOMPZvKa4KfAsekDz2fiYCxQmIc+NA2HX8qs4VQ== X-Received: by 2002:a05:600c:468f:b0:43c:e7ae:4bcf with SMTP id 5b1f17b1804b1-43d436c753fmr63116995e9.0.1742471803125; Thu, 20 Mar 2025 04:56:43 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-395c888117csm23257857f8f.44.2025.03.20.04.56.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 04:56:42 -0700 (PDT) From: srinivas.kandagatla@linaro.org To: peda@axentia.se, broonie@kernel.org, andersson@kernel.org, krzk+dt@kernel.org Cc: ivprusov@salutedevices.com, luca.ceresoli@bootlin.com, zhoubinbin@loongson.cn, paulha@opensource.cirrus.com, lgirdwood@gmail.com, robh@kernel.org, conor+dt@kernel.org, konradybcio@kernel.org, perex@perex.cz, tiwai@suse.com, dmitry.baryshkov@oss.qualcomm.com, linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, johan+linaro@kernel.org, Srinivas Kandagatla Subject: [PATCH v2 2/5] mux: gpio: add optional regulator support Date: Thu, 20 Mar 2025 11:56:30 +0000 Message-Id: <20250320115633.4248-3-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250320115633.4248-1-srinivas.kandagatla@linaro.org> References: <20250320115633.4248-1-srinivas.kandagatla@linaro.org> Precedence: bulk X-Mailing-List: linux-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 --- drivers/mux/gpio.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/mux/gpio.c b/drivers/mux/gpio.c index cc5f2c1861d4..12cd9b5c32fb 100644 --- a/drivers/mux/gpio.c +++ b/drivers/mux/gpio.c @@ -15,6 +15,7 @@ #include #include #include +#include struct mux_gpio { struct gpio_descs *gpios; @@ -82,6 +83,13 @@ static int mux_gpio_probe(struct platform_device *pdev) mux_chip->mux->idle_state = idle_state; } + ret = devm_regulator_get_enable_optional(dev, "mux"); + if (ret && ret != -ENODEV) { + if (ret != -EPROBE_DEFER) + dev_err(dev, "Couldn't retrieve/enable gpio mux supply\n"); + return ret; + } + ret = devm_mux_chip_register(dev, mux_chip); if (ret < 0) return ret; From patchwork Thu Mar 20 11:56:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 875301 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4F6C0221564 for ; Thu, 20 Mar 2025 11:56:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742471808; cv=none; b=jh9UTi9nVnia7iYg3nLVqUCccVf+pYxaHtGRzQJwz0HImnaWJ76CyEJdE9GrPcqJbpxU5LERRqUP1YsJvBSnqCjAxOH6cdJJjtCSaaoh5DBsVUyCaQqEDIh2yDZA3ypcAiJ5z+2NlgAOfw1IdFMKxksLoM0iYMzvssxYHV6vNVI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742471808; c=relaxed/simple; bh=4AJV0s7mSzqRnod0IJbbhHfzS3X7gQWivXwTjoNldIA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=InQhCKZ4vYmZhMbShXxsJwlfOHAe3T8BJ0XqGmLnzuanLdTcl3MyD67O84MmOfzACqQF7ocHf4MvjH4yJv+am3FsiZHntOGS0DuNrmxzXDFQOwkNxj41KpEsCBIngmG6u+q3a+BXnnK5fhRMMpsqVzNotzVQYEV6bSbbhTwcKKk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=Ifyhp1oR; arc=none smtp.client-ip=209.85.128.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="Ifyhp1oR" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-43d07ca6a80so3040765e9.1 for ; Thu, 20 Mar 2025 04:56:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742471804; x=1743076604; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=nBCmNhzniHSIN+wQEnk2+nLTiD4hT6KTCngq0hI3lqc=; b=Ifyhp1oRnnC4sN62R/WptYeQvZGEUBpVOp9IwgCL0J8Vbdffj5mff+BZtCOQ+lZzcx Ve40B7EKCfFRP5gtqLTHBYTOHjs8B2LGIUNgHgoLX3koqGe77jL6oZw1obd3U2cwKslz PIzq+RqYnlATD9rqzv8+n0jzuY9RLPe25dVoViMDxWhln+xMBtMxOO7GlJtxcK5FZMGS nt3iy+W7AWV2lAjt7EeoEAj4TqdaLx8TMuA3FUSA9MH10NDOblmLp7BnOcMjLXLUBJMF hmSjEcQdNG7BNO06qQfDGndDp2MDHNqoo7G3sns2l2JAYNko4km5Q+9+NJKbaW84GO/p hqWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742471804; x=1743076604; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nBCmNhzniHSIN+wQEnk2+nLTiD4hT6KTCngq0hI3lqc=; b=qdrQ3Xx97VpfJqvKF+oJ1Ml9U6EiuMGkFSNn9NlJhsBQCetUXffpv3HC6+4PZK3McL 59SJCUzD+400Fk1khdbX6VIw1VnlOHvDdcI8OTraNkMad/xOOX1OgF0tI3z5ijhQicsu WSboMhm0wLjdRaev+GUxmI+k6FmQUKbP0uu0Q4POvB8QmvMGq0bSJdX87tXrSifmLRGs rjTxN6Rm0LTCTS7EXJ8ookNSNbSKuFLfGDxXLZyrdnB6jwvislNw9Ehrw5ErMUE0lQ2p asEp+FB+T32vcUr7k8lg6kgtyJn2NRVDJqBiNVh2Ujjrx8wqe3/ZgZ2RtCSzGnbjr73t 2bmA== X-Forwarded-Encrypted: i=1; AJvYcCXSIdyEP47eh0wjN0FO8sDRfCGZECpZjiGfBFj8JQRVdU2l7X8zmeagrjapG8iFOkKaoYjeHjgltNpcVOUo@vger.kernel.org X-Gm-Message-State: AOJu0YyyoTSiZwdsGeQmeCXMabKSdmmtYw5BHLO3DyKxk2hjtzglfZYe kQEAqOk84Miiq7uju6iT9oP2VO5hxdksJ91emqO4OKEzKZbbp0nFtJTyrLPhadE= X-Gm-Gg: ASbGncvOG4ys4VQhDMQwikuebX9w6IE5ezu7IgMAivB++jVvISwbAsfDpuH19ho44yU 7VAV9UPRakOUqSc04wmey4eRheDUPLF/zZwz/K6sfu13LSm2hfr1tcYuLAr7wSBEs5vOgqr/Blb 2Dd5QW9SGC5k/seBM1Cf3Q01t12YXQ8EG4WNy73viXLbt1huYkEwi9Wey7Je4v+lWgIJoYQ0Vn4 OmNtzj6UEU0GHm68UDweTKr/ir6n5qqZeETD7QPftBls++4DYFsy0i32VGQjuaDWoSva37jqTVm XgQfUoBth0YLtnUCSfcamMPl7X7G+8wTb3DQ775fWnphzrx9sbDpyKthiGMWxfdPndVsyg== X-Google-Smtp-Source: AGHT+IEr/g/3zNNGsPb3MI+p5RQqCRdJkhbtB0m0pNpWH0rWHF6Zo3XyME4aG36BJnRg/WaBJjs9sw== X-Received: by 2002:a5d:5f8c:0:b0:390:e7c1:59d3 with SMTP id ffacd0b85a97d-399739b63abmr4972255f8f.2.1742471804493; Thu, 20 Mar 2025 04:56:44 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-395c888117csm23257857f8f.44.2025.03.20.04.56.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 04:56:43 -0700 (PDT) From: srinivas.kandagatla@linaro.org To: peda@axentia.se, broonie@kernel.org, andersson@kernel.org, krzk+dt@kernel.org Cc: ivprusov@salutedevices.com, luca.ceresoli@bootlin.com, zhoubinbin@loongson.cn, paulha@opensource.cirrus.com, lgirdwood@gmail.com, robh@kernel.org, conor+dt@kernel.org, konradybcio@kernel.org, perex@perex.cz, tiwai@suse.com, dmitry.baryshkov@oss.qualcomm.com, linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, johan+linaro@kernel.org, Srinivas Kandagatla Subject: [PATCH v2 3/5] ASoC: dt-bindings: wcd93xx: add bindings for audio mux controlling hp Date: Thu, 20 Mar 2025 11:56:31 +0000 Message-Id: <20250320115633.4248-4-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250320115633.4248-1-srinivas.kandagatla@linaro.org> References: <20250320115633.4248-1-srinivas.kandagatla@linaro.org> Precedence: bulk X-Mailing-List: linux-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 --- Documentation/devicetree/bindings/sound/qcom,wcd938x.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/sound/qcom,wcd938x.yaml b/Documentation/devicetree/bindings/sound/qcom,wcd938x.yaml index 10531350c336..e7aa00a9c59a 100644 --- a/Documentation/devicetree/bindings/sound/qcom,wcd938x.yaml +++ b/Documentation/devicetree/bindings/sound/qcom,wcd938x.yaml @@ -23,8 +23,13 @@ properties: - qcom,wcd9380-codec - qcom,wcd9385-codec + mux-controls: + description: A reference to the audio mux switch for + switching CTIA/OMTP Headset types + us-euro-gpios: - description: GPIO spec for swapping gnd and mic segments + description: GPIO spec for swapping gnd and mic segments. + This property is considered obsolete, recommended to use mux-controls. maxItems: 1 required: From patchwork Thu Mar 20 11:56:32 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 875300 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 963C2221D8D for ; Thu, 20 Mar 2025 11:56:47 +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=1742471811; cv=none; b=EH2+STuNOgb46qPER2CTC9JMJYMsO/s7swsZIANnFqGcahd5z2OvNUWdnCGHQHGaMAuTlLVerK6gc/uVjSNha8aZkxzSsvLYz0uTu5VK99HLLdStmnkdUI3g2Kh7IxTCU6IlpoJxPYFm2LsPj29hY1yXK7C8a3oln9We1zLK7iY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742471811; c=relaxed/simple; bh=yvgNHVdkiZ8LiJlUU/iGsobFDA0gqtsqkmq/p5wyTQg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ss2uSEp7JzGpefl/yRXHc8lW5xuhIeWPDIlj9T0+X6zjO74ybUrT2CmZ5h81ga2NGAv7ptxxv6sIpGkj+zk8mmb12RH1YrmJmnrzom+j2TgPtnPof/XB8JxnxcJyLfEkoNokUjWWC3jX4ZA0IVdnyJ9KfYn4tlwZzGVn5QCZRPU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=PVIzrMu7; arc=none smtp.client-ip=209.85.221.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="PVIzrMu7" Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-3912fdddf8fso1179642f8f.1 for ; Thu, 20 Mar 2025 04:56:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742471806; x=1743076606; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=vraKEqmcC/E7mmNCeKg6kwjdUWZP5NoZV1Iu308lBD0=; b=PVIzrMu71ZkkDjkAySx4/AAhB81SdXbz9TqvQso67v1lMDiNCXE7EL/4pabF96WGRy Q28fXiIFAvVk2vip5QTblswP7zek0CyN1+Pjc0d3vVdwbd86kKyML+FFq/dWENjeppA4 8oYsH0tgHsBj7Zj7Lths77PdNqvPAc6bpR2pQPzmja4BVF41U8ac10c16ZT9NZIUII+d +C0LSMZ8c6c34aPbliBnAR9H00RAktAC7G6yzyPa63EtwZggp8QOG7Ywp6YJIJ9TOVSD ZvZkccu8csGfJCVYOLzAKQApsEzlu4JxmDQZMjink/hPVempLpyWN0Ks9vOtHwK4RjgV tGtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742471806; x=1743076606; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vraKEqmcC/E7mmNCeKg6kwjdUWZP5NoZV1Iu308lBD0=; b=q4GKGm5m5sX9CvVdJSjQXwFOQh4/B5+CyAuMEItL7jgOwzpgU5/9tKaU34i6jECQ83 OEIc8HgyQd6Qp1Reg+xOlzVvwyqMPCTQsvlcDZBIVXCdiGkGiRmcmtExaK8Ikmbrh53c tDGIa6+FIDSmNnIZi/EGINZnrwT8/Q5kAhHsqAZOCaNr7VnKZcLDC3oNtO5/yhmrOPzW oof5/mBhTlSkonaAxtNqYDhxoENdFsqsznaf59EcLO8ojLuXe1GleKwkPRj2Eu1b9D2N CYKRTRr3cjsT425tSegwLY1wlOY53jdOS7MAEWg5OZGxQ2bPqlCn7Vmm16xoITIobV7T idtQ== X-Forwarded-Encrypted: i=1; AJvYcCX9eRVQFK7ALTSis3fo4TrPZ5RtTgjHj5TnX2GbybHQpJMgo6ZOc9lIMwHZmD71FQMF8dgi9BqLJxxDmcb0@vger.kernel.org X-Gm-Message-State: AOJu0YzUXgW4YZRNRDPcP9MLCZEgbdGL9Eq/nX3SqCA17abLziYaOGc1 UoKqgfvljkJwXEPecbkcAFKdIB1UfZV9ZGVbgSaYrzha5OWJBjvAjY4fV3g3PlE= X-Gm-Gg: ASbGncslix4Y6ZDWTPOQUSJov9RCfsMzXWUWrdrvfWARXghdzaEseboT7JvzQU4akCM 26AWd2ue/74vZF061imbl8ixw1DAccjM72BMy1ojtXm/H40vfCEwwEmpfoi4qp8BAneozb8t7uc OOXVd91B43b+7dufVRvN/CySV7TgEJTFViMGWTEs7XYPO4/HABXF69FRr8QqAvnCr5dOxMqKb2t eSthTocex1GM/q4dg5JRlEv6x2nBS76OCKI3ZhpFkk9do4t05OqlsUQtHQPM9T+Ux2IVBB0dJ3o Fp0AT5g3EjFUmcwKJkzciPTn8iA1wYdRJvjwzaa/lCNug+J97N3/ScfLF+5jj4GrM435iw== X-Google-Smtp-Source: AGHT+IGvPqYatEOZ7s/DtVYkxePfO1souYepItqxJFiXynLgFOg2g71i6mfZpTyGlVEIP1XfsEl3lQ== X-Received: by 2002:a05:6000:1f8e:b0:391:2eaf:eca1 with SMTP id ffacd0b85a97d-39979556712mr2649359f8f.2.1742471805708; Thu, 20 Mar 2025 04:56:45 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-395c888117csm23257857f8f.44.2025.03.20.04.56.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 04:56:45 -0700 (PDT) From: srinivas.kandagatla@linaro.org To: peda@axentia.se, broonie@kernel.org, andersson@kernel.org, krzk+dt@kernel.org Cc: ivprusov@salutedevices.com, luca.ceresoli@bootlin.com, zhoubinbin@loongson.cn, paulha@opensource.cirrus.com, lgirdwood@gmail.com, robh@kernel.org, conor+dt@kernel.org, konradybcio@kernel.org, perex@perex.cz, tiwai@suse.com, dmitry.baryshkov@oss.qualcomm.com, linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, johan+linaro@kernel.org, Srinivas Kandagatla Subject: [PATCH v2 4/5] ASoC: codecs: wcd938x: add mux control support for hp audio mux Date: Thu, 20 Mar 2025 11:56:32 +0000 Message-Id: <20250320115633.4248-5-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250320115633.4248-1-srinivas.kandagatla@linaro.org> References: <20250320115633.4248-1-srinivas.kandagatla@linaro.org> Precedence: bulk X-Mailing-List: linux-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 --- sound/soc/codecs/Kconfig | 2 ++ sound/soc/codecs/wcd938x.c | 38 ++++++++++++++++++++++++++++++-------- 2 files changed, 32 insertions(+), 8 deletions(-) diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig index ee35f3aa5521..b04076282c8b 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -2226,6 +2226,8 @@ config SND_SOC_WCD938X tristate depends on SOUNDWIRE || !SOUNDWIRE select SND_SOC_WCD_CLASSH + select MULTIPLEXER + imply MUX_GPIO config SND_SOC_WCD938X_SDW tristate "WCD9380/WCD9385 Codec - SDW" diff --git a/sound/soc/codecs/wcd938x.c b/sound/soc/codecs/wcd938x.c index f2a4f3262bdb..b7a235eef6ba 100644 --- a/sound/soc/codecs/wcd938x.c +++ b/sound/soc/codecs/wcd938x.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #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, bool activ 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 Thu Mar 20 11:56:33 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 875033 Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EECE6221F34 for ; Thu, 20 Mar 2025 11:56:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742471811; cv=none; b=U+fMv5MVZzgp0odEQsBh4uDzEkCMkZJJeWpqR2Z+7ezTqaSXMNSCJT+fKae7RigvasnS+rfrADZsiUHp4xYCKC2PVbT5bLMz0OSv2bb9CPX46cAJEqfwW8odJO1wtGUgf+XCxfhPwnKD/jtC7bGuebqpzHzuWEq8fbyHh8t+DXo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742471811; c=relaxed/simple; bh=cqZk3AtNNaRSyK3WSkjjmRwxCoEdwQtOrf4qTgoOi30=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=cjc5Z9IsqZ4jRFAIt1Punq1qX3ujjdA7PHamsO5fGbFaCgQ7YF2v85h05IBkmg2M2T1Mn6z4dkmtv7UBBa2mhvWEljpRKZXrRWFK56ZmK7TXC/O2SMiB1HO5VSvVo6OJzrWEeqpFMLq5MSu31TEYSzuzJ7CVZ+RtsClR84hi/jM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=d9JYz6hj; arc=none smtp.client-ip=209.85.221.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="d9JYz6hj" Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-399749152b4so285448f8f.3 for ; Thu, 20 Mar 2025 04:56:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742471807; x=1743076607; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=eYk31Su+89lU6oJN18njTVNWWCpqg8vmtkTowip21t8=; b=d9JYz6hjtqL0XlLwEWRt1o7YbNodyVIv4a8rPRJ7bUJT2kCtpD2cQEzlL7yPJYskof VWCWfz3QdDWAf5bZvClMVdhDbeQU2j2/8rx6c55Zx97Ml5OkK3XOa8Qno3hpo8gx+6se xvGJmUS4ij46udZh4cd5eDJ0vZO4bztA/RG7KsCAcy+g2pNSDJ/9XXwmfL20+INMeEr0 mUMyu2HGF5nauDuq7lib4t6veeaWygwdaEIEKai17oWoCL7RFNMxWQywbT7G2DE7ft8B ll7ZfLjU4cFz5gK+lmylS6EobB+tikBgphxSuiWV9bCHIf6CXw6KjN/Ew32JTSAAGnSI Qkrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742471807; x=1743076607; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=eYk31Su+89lU6oJN18njTVNWWCpqg8vmtkTowip21t8=; b=la2KPdpJuPwYzusc5GHBgC5jQ9sFLfi2UDjWLcZ5dzddcEkzcVx1rXuNBNOOgFYx0k RA1mIGFcF7HBwOpj6yWHu0K8txA6DIh82ol8wTO3OT0CGCsMx05U1Pqo24SCynbE2FG5 0w58wqlxZKRM1FjzXcai1DIFkdRqks4TFsSBKm1Gt01YtwY1iPn+P0xG5JCIr2pbu9QJ yUTxLDHN3b7CDcS3bOX/IDHZDGq1HPDRsVLk8IMGmmxZOdArwVmB2LJPZX2CsWjItC/W PLH6XJNleCulcIknxIlBE15jUBtj1seWsCjDlEJa/Hu+k+nfiEmTa1suoFKv/HQVKJPk amdw== X-Forwarded-Encrypted: i=1; AJvYcCWtp0Ctfgw80cZqIau8xb5/I336B0WjGi580c9M5qItzHgNPcZBC0fAfqzDJCZ5mQUuYEHyq23w+TI8aJT/@vger.kernel.org X-Gm-Message-State: AOJu0YweUi0QQkvNYBEznxTYbEs/DGpq1B7HroH/nUbjo6OlL0Gb5Dge QUtvPZ5Uu+aUqlMrhzkjdfeDDv+vX2+rRa3OLclpgl6datJwMAGQd7BWt6MkfOg= X-Gm-Gg: ASbGncudxhEOvCObb8sxG+cUJiFc3701Vtf6PJkAFiqLXVTMzvNTV+xSKGBtQ5XqwLd Q6L6kWWi9WntjFB7yh4dpPzbQTtABfnOdWWti1gD9GDcu+yPm2PeL9Jz7mpjix8PNjyhmrHNmo4 ltWJDHlOFC/o4K5pZmtzADqwiEf/oSxnro1IAXkwFbr2Bt/0xCUwWt8M9PgOHN8J1dA1QyQhI6q tRtNAIk9x7pIb8esuIBMzzwL7Gk281tsoAowB/GaV1XD3RLfrOH5TqWjEe7f/Va7hCwUXlH14Ti HNYDOOHG/3VbU5p7SzfOcuIXPh6Too5mpe1uvcyCNJTAhTNVFos7iz687R1taM325ouiBg== X-Google-Smtp-Source: AGHT+IGbXLSBtSTdwWHcTNezYYv5v0xUo49S544UTd7/7NFqCyxLiZZUUSnqA8Pb3yJx5M6ETPpJAw== X-Received: by 2002:a05:6000:1785:b0:391:c78:8895 with SMTP id ffacd0b85a97d-39973b32028mr4631527f8f.50.1742471807037; Thu, 20 Mar 2025 04:56:47 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-395c888117csm23257857f8f.44.2025.03.20.04.56.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 04:56:46 -0700 (PDT) From: srinivas.kandagatla@linaro.org To: peda@axentia.se, broonie@kernel.org, andersson@kernel.org, krzk+dt@kernel.org Cc: ivprusov@salutedevices.com, luca.ceresoli@bootlin.com, zhoubinbin@loongson.cn, paulha@opensource.cirrus.com, lgirdwood@gmail.com, robh@kernel.org, conor+dt@kernel.org, konradybcio@kernel.org, perex@perex.cz, tiwai@suse.com, dmitry.baryshkov@oss.qualcomm.com, linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, johan+linaro@kernel.org, Srinivas Kandagatla Subject: [PATCH v2 5/5] arm64: dts: qcom: x1e78100-t14s: Enable audio headset support Date: Thu, 20 Mar 2025 11:56:33 +0000 Message-Id: <20250320115633.4248-6-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250320115633.4248-1-srinivas.kandagatla@linaro.org> References: <20250320115633.4248-1-srinivas.kandagatla@linaro.org> Precedence: bulk X-Mailing-List: linux-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 Tested-by: Christopher Obbard Reviewed-by: Krzysztof Kozlowski --- .../qcom/x1e78100-lenovo-thinkpad-t14s.dts | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts index b2c2347f54fa..b40775c20493 100644 --- a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts +++ b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dts @@ -19,6 +19,16 @@ / { compatible = "lenovo,thinkpad-t14s", "qcom,x1e78100", "qcom,x1e80100"; chassis-type = "laptop"; + /* 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>; + }; + wcd938x: audio-codec { compatible = "qcom,wcd9385-codec"; @@ -36,6 +46,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>; @@ -367,6 +378,13 @@ vreg_l15b_1p8: ldo15 { regulator-initial-mode = ; }; + 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>; @@ -942,6 +960,13 @@ int-n-pins { }; }; + us_euro_hs_sel: us-euro-hs-sel-state { + pins = "gpio68"; + function = "gpio"; + bias-pull-down; + drive-strength = <2>; + }; + kybd_default: kybd-default-state { pins = "gpio67"; function = "gpio";