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: 14023837 Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.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 918511E5B8B for ; Thu, 20 Mar 2025 11:56:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742471806; cv=none; b=VDZQOr4s6Nm3JArbonnvcBJlbYU3BjixP6ppW/eDu9alfULaDNYCBgzWxMykimnkhs6mtiM+L7FCp2aQHBzFQ4/Od/b/hVwwp+Upu4ICekhGGlqAU7E8fgkkwel2Bs2C0akbdazmo1pCeVHpLU4nXx53ajJo5ExFL/NPFZqqmSc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742471806; c=relaxed/simple; bh=Aon4CSRLZAp00bOLv5cqnz1HdCAHQzSH1gGdjQ1+p2s=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=B1HlL3HCO7XkaKeFLVoPXYySjKw50ILrAVqPKS6BxHo9Isx+2rLVwKwu4WO8qmaWy7vR6dTDkU6r4qWQv+wGyWyPShqT0s9N3zp2FbKOV+VS7OiuJ2dMm3ZaY2IvrJCb3Ee8mxAoD3NtrWjeRxOwo1HYYrS2O7YJygcnhtDvgOc= 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.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="SJwQIkHg" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-43948021a45so5733655e9.1 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=XBwFLF+Z2nbke5wDa7FjO1yuIeg3tou3cZ0KkqpGNGcTVl9FUBfhymaz6vpVq4+lSi L4rQxuamYR2UIg8Kh2Uq6w4RThfLaCu8zWEX8ZqU/ezgEAhVSrhu3RDFRYJ+FtT80o4r aZZ5B/gEyDZFBdJa65peOkQ/BVig1/kNUI4nl22PgTLl0yffUaNyP1OMpqOvQBwkpcJM SdsUu5fbfjmllN+38eFwTIq02+SX++OO2i3yXs0v0NKBvgygFi4EUqAQ6xA4b4Wc7dYU R/sssLNYtRJyKaeljiR7XSiv0iKG5nQ4YgLELkkS4TwEYZ+B2WyGAmrSCgbCWWhtpkEO zD2Q== X-Forwarded-Encrypted: i=1; AJvYcCWq/MneiSK/WCs27q1U8FcycLYC+XHSYHYkS3QEGfc1KMo8tOaERIDWXTymRKF2KpDsdfpGeDC7hLdLdQ==@vger.kernel.org X-Gm-Message-State: AOJu0YyLTMwq1jhNockLc+Hz5If6Aa/VeGNHs23JRxcXChavqUQOCha4 +oIvCvS9bDA/+8JUj+X/7aWgh5m3tJX0nk8fVh9vNqQfhMXkugPYmMdYizMRd2o= X-Gm-Gg: ASbGnctyUiS4pN4F98/gcw1wwqQPtl8CBHP5bxuXvf788zk6qJh1+90BBaOBBoDdVnC PFYoi65AKbddJ5MDkWwh+USyusW3C16DbSwFeXFTX+IOrMj6t3IZFNZxXT9TzQ+xAee+zW76zc7 5Qn3Kr5vAT8CVA83ivnvZWpWoJvCBEXz+HYn1xF8N7rAA7W0cGa5kE+VlO4ZcP/DlJn+8k0mPnc 5ZYgPI2dwb/A0D5LtoXtt3ka9AiBH3UEgtYO+2Fxj1le+/alI6tGohyT8lob8AgTO1zoPqV7Vii rGnwN43Eaa4JWMvyqFtYUpRcrBe/KQ2EWOqFBi9dAPbKE4UPpqW/pOJokq+cvL9mgtQ/BA== 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-sound@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 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: 14023838 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 25B05220691 for ; Thu, 20 Mar 2025 11:56:44 +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=1742471806; cv=none; b=oYqOezHkav6Bi81kYjONwhVlpvlHgdbdAjJCrvZGgx/rS7d1N7BbCD0dINu1GGZt8gBQuv3boyjIbD3Xki99dnecx6vBvjxpiy6Y3+u/pSi6EGw3P/kL35ZB0QXAbceDg2je9MbHR+p1+Xu27pKRiqxJGTKx9cefavslKYXy2iY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742471806; c=relaxed/simple; bh=T2PbRRhtQTGvQFtJCRLISmS81biLegmtD1AJKN9+90s=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=jvVTH4GDL8xD16j4ODCy4xhnEKhIrdh+LT1MAuyyTTowlQSt5T4PNGfMcRGIHP0g2h/15ihUvx9blVyjAQopDldFBGvy0zcmCz++IKoboSSFbQX92FtV2LtLQo8+P2wQtuQYDQShFuBbLSt5nyKEM2kvBV5Ns9PZ4Jg4pbhBzxw= 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.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="Eb+dSReu" Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-43cfdc2c8c9so3835005e9.2 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=Wl0sxxwTeA2Ln7tG1Hw/MoVhDBEnbc9rZcfLLvtTVgL1sIRFgQNHf3XDvtgMHm2laA SlGVlL4j1b3NEpnGCAKckBvQ1rdZDMqnR8T3M3w5U0bsiKhbFxJEKsmXNVBdqzZyapsX 4kUjIOkQhrk9gwgWMHCaNiHvw2GY7ko++eBo7zPh5gDJ1q3HvojxBC9+fZAfMtEWbZWd YauBOW9WWi2PsJ2A6RRVoPFIWDx/3actxfeFgNM1kvOnL7PU4hJdmAsiyxUbsWAAljrU XMLKGKfu4dBJrOmTtIpHXjxuKCP3n5uVEYmHZvH2h9ADe18xs/a0IMunS/F5kxZrmox+ eX9g== X-Forwarded-Encrypted: i=1; AJvYcCUwsPwd5t7DbzjY0qaX+3u7qR8v5pH/WEuWAWXXqMDkZbgmc+3gjbPyl9ihKrMXzwtyr4StyAh9iOGWSg==@vger.kernel.org X-Gm-Message-State: AOJu0YxXa7lsONTkus4GJ/OZFfqOq4+Fp+E8tcWDQ09dnyn9k+tQsgLT pIRqg3hL4hbodA1RmuIIpST/BTHMl/7XJH8admkNjshlaO796c+EfSrYta7Z06U= X-Gm-Gg: ASbGncs9tUR7s3vZDyh3fKLNNBgDqDS5Eg/U7gj1FdakbJuRPTT9s7+ILDFOGEb0ap/ Lp15E0oW7upGCnWtbzr/5jzzTdAM2RTGtNy7qBL4Rtdn2O0EVYMeHKbr9cvIRGXmCjk5o8ZsPA+ sPh+aDZObQgZpz+JSWs6Rpa0UwoF8Jcwtft30QF5N2CFl8gbGg76sI5mclWGn0CzyfDYEMrUu9G 94j5PtPzdbiKqWnMeWxAAZgLQV/9dTtpwqBspRayzX2r+vpVbuynIJkEn8fSNn7WfB/LagJhUTF ga5frjoWo2qlUyazx02hBu+N3NY0WrJsgZyNRCnNVHVTf6f33XnST/51YOLTi3tKD5JO8g== 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-sound@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: 14023839 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 36133221738 for ; Thu, 20 Mar 2025 11:56:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742471809; cv=none; b=rU/BTkElDYF9SfKVJwdVJW/1YGatz9zhnmtBaNBH0muyGkAPL/PU/7SOLNovXqWXY8LkCVHc2IgE2bV+eDBRpK0vG1BFy04hAK+vHYNZjV4IPyIAtzZgqWRNazMdnUYKprhQHbSVrzg4B59R3XC0gi6T77r7U9IrZ1l2m+VpxYo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742471809; c=relaxed/simple; bh=4AJV0s7mSzqRnod0IJbbhHfzS3X7gQWivXwTjoNldIA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=iNmaA4umWs6ab/GLKr7fvAwMw1o7E1FUVwcJ1lxfCgM69y3lkP46IwjMB3Wk3fNBwk2i9/z5dyYuC4uaCr5ysu/WSBGOq9q6ixQJU6deChWUZKTfeEiJSiYppztYAK0dtdhBItfLpgsnUZrc9l45f41VtHRDRF2Wun/oh8x1DhE= 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.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="Ifyhp1oR" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-43cf257158fso4288855e9.2 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=OKNK9U9iElMTOKzwvMW1DBipVoOdAmLV7mFMBBI+d5frQbxQL6kcDm5t0tOfU7PBu+ di0qHZ52Ci9Kp1u5TOV+38MbawDZcnPfl/cT0UcHqo6W/r41go8AQWuNX+edvjWhgYap TZtIjpOnDwAeZ4eOkZULildpD0KhZgzuXYowxq/0qJPiQW5rHxf5MLpGgCDeJ7Pc+0qe eqvwFZWebtxcQ5N+RSGqS059w5uKwIimEY7KIup3VFx6lc3lAhvKImqqbYVN5a8b7lYd jfNQdgk4YU/4KxTz7NzCVqfiSx8FjrCoUoUDLezsFIyR0oMS9hxhn7D2mPOwlGDr+6XF 18Lg== X-Forwarded-Encrypted: i=1; AJvYcCWZlKCS2TZvLbHfE27ZN3waQ+ZDC5zccmpe9yCADjXyXeS9dk6DrKbt7O5HsMk5SBKnuy5Rkco11lsO9A==@vger.kernel.org X-Gm-Message-State: AOJu0Yy6Dn5voSKQKDUAqxUdRwBEAEqWTVW8T7dusqhSGuaHF7YtDprw BuSHRerkc9ai2vkrQ75ksbb/hH+WJIu/MwYT/95CvpxvoAkx/pjh1lHSOSO1luo= X-Gm-Gg: ASbGncsaYPrz93FLRfY7L2MHXfANq1whQr971umjr4yZKOeKCZFbT7rv8qKpUFEZNeX sr65bHYpO3zmGzFhFt1ZN20lkl2it8pWBILFAR289jYFfiMZuhVJz65j6X2dm9JpMrq0fqJ4BlP l/v61FKtajNrVUh+nGdWTxXzeX5RGD7Odmgpf8QcjmTqutBcZkEsko0pnfCMvvjKRiz2DiKQuX7 eI/ywmm9hUlzQQohyMW/YyIAJYrsVXqgt5QXJL1eUjFISLPg1UdIqJssZ00Xd4sUYGHYJs9hi6S 0u5KQQtZ7q6xP+leSZXYGvpmn738Ite9jKNmJoAcaEkiUgLd8/MRc/tkwGvbd2Ay1ES86Q== 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-sound@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: 14023840 Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) (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 9EC6A221D94 for ; Thu, 20 Mar 2025 11:56:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742471809; cv=none; b=bB8/WhnuaE9DqqCYuzqbES+YsQYihuRRNwYH2612HnM0axhtLRFUrY8KgGFHmnYBLppqyT7b+YTYLsrWv4o6tuz1phpoXl3euZdfYZWue/inO9F80OSCrYifyRf6f0e0795L3U3n0b4O/BOWFOr0ko1dJP+vRDgcPwptRLV9hEc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742471809; c=relaxed/simple; bh=yvgNHVdkiZ8LiJlUU/iGsobFDA0gqtsqkmq/p5wyTQg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Gv1/emf3VD8X917/6O9Ae1DfG672yXwDiEF+6IR0kdWyfywRIQWtGc9hzmdxqWFuuaiBmFsda9W7W+/XlULUnik/U0k/ZLxFgsDk/tdfZq1sGTKsLe2uZXnmBjclS+bToyXXEV5IE0VEFJn9yK0aKr0bSuIa+4DcZhHZdw3Jths= 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.41 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-f41.google.com with SMTP id ffacd0b85a97d-3913d129c1aso458878f8f.0 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=K17fhopvk+mfc+xB3ZbsP4i0h8Dg+J5AvJVrJc0xEyuuAAoCKhVfOdA40kVMSZTG9Z naOuun4+jxLjQH0f6UN/2o1N0oJCGX5nPjcG0mJwTd53ZREaY7JZ5nILJRT+/wwDIx9T 4QfFhFqMbiwKIK5vCtnpY71tFcvQvU42pFjJpMCgj3NNjxqyYFW76luBDrZASAtgXcnn SeeXmm6BBK57CKriDHiHYW1hKnBw/r8zIsazsrJwOXIJWUbm6G8T/0p/FcuBnN29QS5Q 7Fei3o06zQunJJOc8lXSisDtqSaxU7TTBekupg+xM8wBQXZLxgSN5J0OtqUV5WLebBRG Zcfg== X-Forwarded-Encrypted: i=1; AJvYcCU1zpuqe6Xw7l2m+NE/j03neI0j3BTxZzwfQqg+cWFt5e4k2QdinBbQzLU1/ir0h9fmpSdwRR2FroPgxA==@vger.kernel.org X-Gm-Message-State: AOJu0YyNjJ+nueWCBQb8hob3pPhQLi+qR+j1NN4ve0WJYIn3QOca2FTn 88qiSgJaslRET8mUjhOU0k6XXAKzPKQijWjilQ71PoNUqQasG9omjN28G2xx0po= X-Gm-Gg: ASbGncvb+1ILKTbc1HM8uTie78neVX8Eu6wLxhvmQNBNTV8a1ltp1Pfd1laynhJ5v5H yPELrSuXmbiUSaODFvEyTGS8m3yiUn77bOoxcTNI722pyJ6bxZLYf+jOyGO6RImPAj2lJtjFtl7 zAcrhGsd9h3sBtYb9FVnn5/f+mxddZiuZcBovyLuGmE3z4K8US5GDszVgya4tgGMPjR46FMKlON RQRo5zNynjeJnus8Pf07hV6xTAwBC5qboKEzAPfsDsHt4AwJ6J5JukNFGLdGn0tLLz70rd74tXy F0xR52K5ji2etbzmaLdOm6e1iILGJmRdTeb6txTdrwSDaWvOWQnmg3u96DctZV6UVufFJg== 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-sound@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 | 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: 14023845 Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.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 EED81221F35 for ; Thu, 20 Mar 2025 11:56:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742471810; cv=none; b=nSQfFi29jx1CjF1Z40Cj6VDFM+vawZCOiHsYufx/v3zuISQaRU8Cd6XdNbe7vr6v/0DpXQbEYxq1NQYi36tz/IGEAODEJ4wN7kGsKGDV/7/2u7KLKERUNLSxT2+ZezWrzVcM1SLiPnlhPNaTVGeO6ASh7SMnJ2Pwdoib4BfZdnc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742471810; c=relaxed/simple; bh=cqZk3AtNNaRSyK3WSkjjmRwxCoEdwQtOrf4qTgoOi30=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=eeHIm/avCCPfBaPbuxO59p6wjmHeAGsV/P2JK8VwCNQzQGIt+XsTAckjL45Kp4OgnK3rvBrpwGeppMjNxKfKE1e04dj9SwvGOywH4043/tVuzWmoxBpUTAWG/7bGGnPXrbxvHkVV0jlcHW/gqA0+E7M94qvgNnWHWll+dwqLzIk= 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.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="d9JYz6hj" Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-399749152b4so285449f8f.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=bkwumnRyWbgbsmVfxHXay7t6TBNpqGknxfwDkYm/7msnBM4tpXJZOdsTzU1hB0/op1 raYPM+WmWnYmLdB1DaF81Svo5fkABwSMAVIMoaSMkvvy2lPP+zMa2pPSKHK2B6bTO9Om SWNq6RHrgbdzPFq5WBLi5+xS7z+LKLxu6pWTYZ4npIDggb8AlJz4H9ekkcIQCeRh5FWC OV3f4auEma/O5I751TcuekP3szEJmV2hEHBKDbW39Pqz3PkYRK/Asi68g2N6R5DLk90r TbI/812XPXefr+sKN/uBJ6HUta4tGgsPi6SWTDXiJfReI+HS31fB5LxGCncOIQuJQ6nL Xm+A== X-Forwarded-Encrypted: i=1; AJvYcCXUdlH6WmlzqYnCNyP/pscvQ+Pas/VAyVNmGd4xY5JCsPXxc/BfvYgjLtEj7KM0yhRQjrZLE1iUhfYiIA==@vger.kernel.org X-Gm-Message-State: AOJu0Yw0vzyV2hIKfKgbaRqEbV+g3otwZ7ZuCQAk4/TArhYMhIDyqsjw 841JfKRNsmfewBN3RwNCP+yFp7PBxvjXVOiTK8iwQx+Rj1SLixrlYq9uOQ0LXUs= X-Gm-Gg: ASbGncusgxST2a7y1WycjdSTu3W0ZP1/PSEDqX7MR2dnOZtM518C++kmu+d1fJLFycV v/BPH8AaX9HkmBeZAvaGhSCfUUSLc2SKrRjxudISiLIAK7xFfAQdN8G+OpyX0o6Fr26WkIhHlV/ aOeWP78xP5/34LWxWwcGQHatKhVT3bODXiMTuSu0go23KS7DfGXA7DSTxqEQoS7Me+V0eZ8kHht kqyGS5sueRnuhwZ3oaM3Cg+GOOTFXqYrFP9T3DnlCT+0KFiMVOQb3qE/qhMekcSrVRH3RW8q8E0 I6+naedgM3IQkPK7K0yn+DfrV8/Qq2AhxIhci1PCJGJbV/ggDMrTkh00yQeITd5k0thdSA== 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-sound@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";