From nobody Thu Dec 18 14:34:06 2025 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 DFFEF25E466 for ; Mon, 24 Mar 2025 13:01:05 +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=1742821267; cv=none; b=V9oRoFMWgapVsPwVvr1uF/S6OoNhaZGRfFsVCzathmGbTQivpBlonEgJislxwyjIm/XKRJCfF/knwIM09mfLODvD+X6HuSkp5FqT03BQMheT3hHmEL3RTXTQ6uq4wSo0/eHx6gSGZbIu/9fQvcxSsURFj7n29CX5ZeOV60Hwdq8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742821267; c=relaxed/simple; bh=hfdMYkI1wSY3YPTVRxCMq5RnZCB7Q8NWRrwf11y3dFk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=YH81tsEs0I4sq28TE3SnfpvDPBej1VuEORK7v2TboC+pE7JY3y/SDuNO8GuR0E7UGIqxRaPkc3GMh/f7/+1MJTMQcnLWWV5jmIsegsufkbdDk3dWMnp8Jf3QiM9RD29R0pMSR7vIywCCPWggQsId4Co1KoaK7oDjA05Eoy6+0r0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=o4//6K7p; arc=none smtp.client-ip=209.85.128.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="o4//6K7p" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-43cfecdd8b2so34832675e9.2 for ; Mon, 24 Mar 2025 06:01:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742821264; x=1743426064; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=dx8vnuvBu7CvSAoy4lTQTdohK7w44dk4P3RzF1FDAZw=; b=o4//6K7pf7K6MI9VsRIUvoKHD2Zwh7PXdTDM7VgOJmrC8sApVEyh7ljoUpk6wyEeqh Su0sr1ZCDk8zMaOJjHejMPPLmAQDQT/YLOMq0t1DDtbuQH0OC+1sKJ20KEKgPEqS7i0b bE336d2CKA73r+au571v7e623LApknAA5BXwK7q54sdalH/7tjOfWmhbhQ8igd31bzuT h8Ox48KbNF8gm4n95wo88HW5FI/hjKShvVdDM3ECjaB5btXJ97WSbwOEmRWa9rqf0qu2 ThyLa/M4mCcShfrF6674PfyLZxGUHkvzfArzPLxOWUd+w4XbP8/aQ0rZCsDs2UbKzbo2 HehA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742821264; x=1743426064; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dx8vnuvBu7CvSAoy4lTQTdohK7w44dk4P3RzF1FDAZw=; b=qR8C6mYTfWm4jGngwengNR3CWlHpqdGctSr2f9+Y7mBb/eQH4KhaY48YpR3mKw50x5 zY3K24jlh2zZnsIEHcyLgYvOAZgXJJSajNHhwh86XCU0Qymn0Xxi1uJGz4dtJmyy6kIy TUwEfOCvqL8O9j+wOOpfjbrU5oxYW36pUk3E6wN4/z8sSsFtnIQPPLdts7Z3G0qr50R+ LDIEA0M/1jhCbD655SuZPl0VSjjuZ06nfcQfYTf+rE7EZaLurBDSsh77xlrKC2ACSpBe X/ieiGvZdA3PAeWEuOtKDK72N6uurjC16elF5DGuh6Zr5nTCkJDO9JUJZLu3HQalBwjP 3iew== X-Forwarded-Encrypted: i=1; AJvYcCX712Bx1YOWsWp4jkvfjbG+/3IkcM9xCbl0Bdm8OKsDOCoRFF2we7F69928jfUMKj3+LaRyySikylWv66w=@vger.kernel.org X-Gm-Message-State: AOJu0YxjCOetIv+ek/Cvh9/Iy8kymss7pa3Ev/qBEqJaZcAyOoPO7kPY Ohgnj18VHz561VLW2f1Cas6FeW1aqhVBjZpupt2OgJIecw9Aw4cEy+8V6W+bL8c= X-Gm-Gg: ASbGncsyBYI5f2fjynbxc+niOqSfxRJ3AXL3gtJJc22P3us5/SmwbJpnaQHUUMS2FlI 0VGjuUG5sfn+8x8pMi0g4h7sKPhFHybeJ0HhSZPpeSkm/G9bCawEtLrHVBAu5iar/ugo7IM0rzo 7pCv5zL9zEsHLZjMtzku0WcIM2+eb0DLi9CgMMczSnybFmqOgDbLhULAXAISb2agmw7vNhiPZbk aXRwR4UzkjC9PIt1x6er1TifW2DiSy8v0fLgfApCUOluBv20EZ3b/OB7EL9YzJVXJY7DrreQ2cn KHQGqAb7ekdel4oyoekaG7cRKSIN3nYtPUveMDbVvHZ4J7HqwCEaFp0w1EoKox4xURxrrA== X-Google-Smtp-Source: AGHT+IGs1hed7eFfngKtDdIfLF7CUa5raY/UTLvoWGsHn1iu0AT2ObRpnyWdq4Tep0xWDphEI1SbUQ== X-Received: by 2002:a05:600c:1548:b0:43c:fb5b:84d8 with SMTP id 5b1f17b1804b1-43d509f2ebemr127044545e9.16.1742821263769; Mon, 24 Mar 2025 06:01:03 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d4fdbd1c7sm122275975e9.40.2025.03.24.06.01.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Mar 2025 06:01:03 -0700 (PDT) From: srinivas.kandagatla@linaro.org To: peda@axentia.se, broonie@kernel.org, andersson@kernel.org, krzk+dt@kernel.org Cc: ivprusov@salutedevices.com, luca.ceresoli@bootlin.com, zhoubinbin@loongson.cn, paulha@opensource.cirrus.com, lgirdwood@gmail.com, robh@kernel.org, conor+dt@kernel.org, konradybcio@kernel.org, perex@perex.cz, tiwai@suse.com, dmitry.baryshkov@oss.qualcomm.com, linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, johan+linaro@kernel.org, Srinivas Kandagatla , Krzysztof Kozlowski Subject: [PATCH v4 1/6] dt-bindings: mux: add optional regulator binding to gpio mux Date: Mon, 24 Mar 2025 13:00:52 +0000 Message-Id: <20250324130057.4855-2-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250324130057.4855-1-srinivas.kandagatla@linaro.org> References: <20250324130057.4855-1-srinivas.kandagatla@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 regulato= r. 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/Document= ation/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. =20 + mux-supply: + description: + Regulator to power on the multiplexer. + '#mux-control-cells': enum: [ 0, 1 ] =20 --=20 2.39.5 From nobody Thu Dec 18 14:34:06 2025 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.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 7B6A325F79F for ; Mon, 24 Mar 2025 13:01:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742821271; cv=none; b=iny89K1KpSMv9xLEAKgdGLFBeMl/AqSrEKg4+g7vkwklqHMigMB+zAQ58utxBB9MNRk0D+fdgHDZLila9vrq5V2JnI7tL2RWDEydqDdMmXeFZQz74XqhD0iG/XJehC4Nz0m8kfiOII8PzqVEn7EC5uCIlsVGoDaNZ6waJ4Ub1l0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742821271; c=relaxed/simple; bh=5X1aPO2z0jUPOmAmxxbRnG88+AZ4I5yT718/OM1HQtE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=qy+VqvH9D75SZacE+dFFcTzkHEtj8soroy10uKNWUoXArCYqHZ7JG/FDsFPU95p03EjuyifuNVngGLMqGUjIu7Dbyalw6RQjVaKQXSu3ZwcThs0dovZxyj1W4dqZbO9b5d0OLMpsnYjA3JZgzOaxP2qnW8tCOl7ripklvt3xob0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=RgcFYcYA; arc=none smtp.client-ip=209.85.128.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="RgcFYcYA" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-43d0782d787so30997875e9.0 for ; Mon, 24 Mar 2025 06:01:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742821268; x=1743426068; 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=RgcFYcYAqI/Rueu0Gg1gB9noHvAZ4YhyivVcGabUH88aDS3nwsElnyCFrfI0SWyuWz I3sqzD5s2Ti3tgIXfXKijsEgW8dJd2KiOv4BPbwWgZ2QCclO7dbhdEA5cZFh8jhhaLxu Ja2DrOWbHfb3d1+CP8TKH73CGCoExtZCV5QiaedEkZ0EamVOZ0pHiDGwtPVvoreJOLcb xbsPhyvSbncXJScGe8ttIDnXOcnjFOfNhQnrdWTBSujV9AW19le12jMUscktZMzOVDBa W0CTAFnQIOLltQWaSOlN5kL1uEoWG4v4nmN5S07G6TPxt4z02aTD1dszVtjCbxulo1bh CAeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742821268; x=1743426068; 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=cMVy0W0jt2zOowhiyKAzJjKRxyZmauTdxur0gVpj/CLxOnVj/EtklSzWOo0IhjCSKJ n9luxf6sQy/MBQVXhNhmyD9OOU58d+KL+PlZd0cY2nM5Y6b8EU5l+pgnjrxPPUHVTokh T2IGiaC/pRgZ6wuBCQKEQF6ijIvORem7R5FPzYAfPrRyDgGEROZdU81qVqo3u/HZm/bz aR7KladBB/hJ0OMrGgAfby2P24ki/tCV79eqCMhqzGl64380OfKVYdcP044i1nkyoeBN 23x5FBs/dzU3u8OMiFHcgxRWShboMMWuWkgGuo0taJ5xGrZk/Ivao5ZEfeYzB7PtuTxp jixg== X-Forwarded-Encrypted: i=1; AJvYcCUoeMk2Gg+D+YtFW2Pw4L82e8kFCQM67v5GtHE7gT0ArKx7Plsbr2z/iP8V220JOaXoDXjvldtThiNat+M=@vger.kernel.org X-Gm-Message-State: AOJu0YyatdPjK//+4tyoqghcYDXCgVCaIp2ltsLf9yWjLIgKykx+lwkR JmLdfASnUfC8qA5dBdOp4Z3RLpAWRQtGlvdZvDNrmvJBRFSvjpJWZ2s18z4l7GU= X-Gm-Gg: ASbGncuxdAGTIXPl6IQxbxHVyll+9714JgVGOlaFmNjZ80q96qm6U3wcmi+i2bKpZFU 7bxl0L6N97vvVFfi2fPipIMGEzwK6WctPhonidtWNjY0odTsAlV7I0sg51SSX+hL11rh2CrIv37 TQJRf9VrjmTDjH+g5QHb1bH1JnKaH8qy/ftVJnTSWmjfOaNgM/652EQNHA9nZ0G8OMxS5H1v6d+ 2Zl1EWYEA6dP+pHebbVSngvc18sxXKRxhF2LNhAdBkxJoIcyTV8sqyGvLYBn1gUfqBYlGOI7TJl x7AcApaSC7n3r7AdVB8ymdsZuCpKYSiBnFc1q5GAaWhjCceOD0mIYOj1BvTI/uH61BZoMLPMm1L IW1eP X-Google-Smtp-Source: AGHT+IH/LCQKWak9xUpo8rkhPabLxUJyhK8s6nWMq3T7RoU4G1wdnEPytthIr96D0+PMYfRTxPKOwQ== X-Received: by 2002:a05:6000:178c:b0:391:47f2:8d90 with SMTP id ffacd0b85a97d-3997f9017e3mr10499945f8f.20.1742821264799; Mon, 24 Mar 2025 06:01:04 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d4fdbd1c7sm122275975e9.40.2025.03.24.06.01.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Mar 2025 06:01:04 -0700 (PDT) From: srinivas.kandagatla@linaro.org To: peda@axentia.se, broonie@kernel.org, andersson@kernel.org, krzk+dt@kernel.org Cc: ivprusov@salutedevices.com, luca.ceresoli@bootlin.com, zhoubinbin@loongson.cn, paulha@opensource.cirrus.com, lgirdwood@gmail.com, robh@kernel.org, conor+dt@kernel.org, konradybcio@kernel.org, perex@perex.cz, tiwai@suse.com, dmitry.baryshkov@oss.qualcomm.com, linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, johan+linaro@kernel.org, Srinivas Kandagatla , Christopher Obbard Subject: [PATCH v4 2/6] mux: gpio: add optional regulator support Date: Mon, 24 Mar 2025 13:00:53 +0000 Message-Id: <20250324130057.4855-3-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250324130057.4855-1-srinivas.kandagatla@linaro.org> References: <20250324130057.4855-1-srinivas.kandagatla@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 =20 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 =3D idle_state; } =20 + ret =3D devm_regulator_get_enable_optional(dev, "mux"); + if (ret && ret !=3D -ENODEV) + return dev_err_probe(dev, ret, "Couldn't retrieve/enable gpio mux supply= \n"); + ret =3D devm_mux_chip_register(dev, mux_chip); if (ret < 0) return ret; --=20 2.39.5 From nobody Thu Dec 18 14:34:06 2025 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 C16FC25F7BF for ; Mon, 24 Mar 2025 13:01:11 +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=1742821273; cv=none; b=EGvReRIN3PV1480fI1Ley55guUjCdmoul7+a+g8r1pfctJ8YYzgdelqHPzyDytEMDETsQHG6LJBYHr1Lc4EVV2EBJCttPcrw5usl05qIylhr3xlHNyi3nluPdUjQgWV8pTtrWaRa86ffrLSz2cqdVcZ9KdpFR9yppmEdsea3dvM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742821273; c=relaxed/simple; bh=hJEhHBHgmcwkLGn7ADU+TBJtnvqkH4aaspjSeICJrEo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=JIC4hi+4Qdcgbe6lyybg8zEyMAcvXAyisfdZn7V5R7p+MG+XzB1RgC2RfdtFyS81cNELMeDfxW3VsSif7u6pDoBMT2IYPLGpjKP6Rjyuupdp7TcOZJ7+r3uAWutJP+MeB1aLkRhyTxvre5TW6LMkApEhuWGOo63P7uk8Rra0KvM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=yF4H97lg; arc=none smtp.client-ip=209.85.128.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="yF4H97lg" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-43cfe63c592so42097495e9.2 for ; Mon, 24 Mar 2025 06:01:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742821270; x=1743426070; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=QPKG26aBT6MGmMvi54w+dEW5MMoDzMUIu/y68UikHrA=; b=yF4H97lgOgtwoiahjN4IJAz+CdapyCJKa+TvD3oWLnsleyRiM1SNDAXOf13AFmOooJ DXvu32z7f5I6B9KMyVHKwfzEL2Ja0LUHKhJdaIjO5T2TFBmFRTIYcB+QYYvZkklEcohj WQQKbLN3ssmGJPM/4UE3oLjSIeHPcxHQdfjU9/KzT8pHhe73RRa8pXnXAXGbuAVE2LMn mDYS9po+8jGYAQHE9PLh+IBFKGPej3uaxlfXgsk49jbJP5FwjUZuJWgF7/iiVsUb3oGk fAe04U3AvsQsO0rZMH2mOJfPPrA7vuZjEloUmYsDojA6vqCv9HsGoSxZc/eXF/gZUbzt qndA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742821270; x=1743426070; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QPKG26aBT6MGmMvi54w+dEW5MMoDzMUIu/y68UikHrA=; b=bngDVndqfn8cIQmBR4XWPA3M03xvxKWpykJUzx8E6jThSQNce665QumY6H6mWECs/k eytIjxa/1HERT7MrT9LK2bI2MF4y5raQ1u66DuNnyybVwLMLkJ7BTKpZiuMvvElrsMol +WLnspYk23a6qxogxxlGlKUsxyYyoatsom7wTfhRcamfWibHZoI27xP/JLgIuaJmIJOf AGrfi/e7M5Dow6ShCsULFpt/gFin+fo95DjBq/SvfJYn03YdYPu+4qrCxYed4SSn4lRu 3VucgkEh/w+VdXaIsdHMuSLvek6SeBMZ998uCQeHhyL5nOw7MMprdM2HBiIiN5oAECT3 Lvdg== X-Forwarded-Encrypted: i=1; AJvYcCW50zfS+4lgbrtMGcQf9QOVoC8ER7H3/ZYpmFnRkEI/iB9JgPtP1OkjDowUsCdMg0rnxqCa9y6y69fHY+g=@vger.kernel.org X-Gm-Message-State: AOJu0Yy6+/Z5tDI7Lg6v5YiTUu98Qe+n5KdmHGC/bqzuEB1xxDzGB+kr fGbo19aRUFLgtf3tGNs4mx5FsBbJGf7sPXWWD1T7TEj/uCTfGQsNkoLWgoMNtpY= X-Gm-Gg: ASbGncvwdzcESVP/RSLdlzfoCdjOcUTBd+9QbyFRUWAIIGmWZFj/r7VlDp2sLg3jzoI XpyUKdXl37XzWomfDZuQsEtBEvKzmBg8imDhwP8VKa21mhnBsJCkuWSif3qu6z7yArR0B1fHBt9 M3+nMCUb4o5n41kElzAmsnKrsTFrtJGZW/cdWpIFOYdEjuWfcLXsHt4y8baErpOSliZ2nzDaKFo 1Cm4pUDMVDNoVCb3UNL1EO2tvTBamXofvth9eVPojav/9qKWho8UYOeomhhVU+lw1zMCBNCTOFz EW1GV3ssE0P3sf0FeQX7cT7PBPm7sbB/gxXmjYtQxfZZlvBQcK5irliZubRDZZ6D+fwECg== X-Google-Smtp-Source: AGHT+IEHylwx4qlkPIxjxGRM/SsWCTC+RRiS7Z7WGB581zySgV9XmANjiM7Hap33tyQHXG7s4q3FgA== X-Received: by 2002:a05:600c:3c82:b0:43d:45a:8fbb with SMTP id 5b1f17b1804b1-43d50a1d1ebmr98894065e9.22.1742821268315; Mon, 24 Mar 2025 06:01:08 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d4fdbd1c7sm122275975e9.40.2025.03.24.06.01.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Mar 2025 06:01:07 -0700 (PDT) From: srinivas.kandagatla@linaro.org To: peda@axentia.se, broonie@kernel.org, andersson@kernel.org, krzk+dt@kernel.org Cc: ivprusov@salutedevices.com, luca.ceresoli@bootlin.com, zhoubinbin@loongson.cn, paulha@opensource.cirrus.com, lgirdwood@gmail.com, robh@kernel.org, conor+dt@kernel.org, konradybcio@kernel.org, perex@perex.cz, tiwai@suse.com, dmitry.baryshkov@oss.qualcomm.com, linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, johan+linaro@kernel.org, Srinivas Kandagatla Subject: [PATCH v4 3/6] ASoC: codecs: wcd-mbhc: cleanup swap_gnd_mic api Date: Mon, 24 Mar 2025 13:00:54 +0000 Message-Id: <20250324130057.4855-4-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250324130057.4855-1-srinivas.kandagatla@linaro.org> References: <20250324130057.4855-1-srinivas.kandagatla@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 =3D=3D 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 devi= ce *dev, struct wcd937x_pri dev_warn(dev, "Micbias3 DT property not found\n"); } =20 -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 devi= ce *dev, struct wcd938x_pri dev_info(dev, "%s: Micbias4 DT property not found\n", __func__); } =20 -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; =20 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 devi= ce *dev, struct wcd939x_pri } =20 #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 =3D snd_soc_component_get_drvdata(component); =20 --=20 2.39.5 From nobody Thu Dec 18 14:34:06 2025 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 8F30D25F7BE for ; Mon, 24 Mar 2025 13:01:11 +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=1742821273; cv=none; b=EoprBxl2ejyKy2JdWcXLRYa3a/ed9UaoFamNhJRpAGLS7NNsj7/VuUapNzUc65M9JivOe0Zgs+Vzpyrxh/H8b6SjcFAiiW01gMHr8jrwjGEqhKnlx8MorulvhxnSXdOYKF+0OM32vy4oWnjVG3jS3prO8i/YokOXQlHYMulsaj4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742821273; c=relaxed/simple; bh=SaEurHg9my0SgGDfooWj4uP1HnHehhMQjbSphU85xtU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=PrZSGbbJHqYqNJqxXeN395ydrKI1Yde95GBAZfXE1QivXwzJ+C58L0x/BIwANxFJYfHDD3sYEMlakuwAg/vJ5BcT7AN41PWlxBd+kuz2LduLC4PsslLnMjo9zR/G9fjnm5PW24vZ8tZhB0ehHSv7ESWSrVlnZyk6UzFPwHdFb00= 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=USCzd8Sg; 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="USCzd8Sg" Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-3913d45a148so3525347f8f.3 for ; Mon, 24 Mar 2025 06:01:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742821270; x=1743426070; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=GZ6QvHirUebkLT0cLpo0Lkee0nQc81mUaPIyQl+HrrA=; b=USCzd8SgUyK+4T5OGNRjWcE9P2X/46kDuMXxngjsxOunZN39YbJ0nNHzx/I4Y2Ss4D uXfr/eFZlR9QvLJK/MWB+IYtsjrOH07/WvT3WBOgdsZXaVvLgCkcirV12cHBS075ZROx PZ8C5GQAJwz9Ga0S8tkgTNCSzw3PpqNElTpjfBRatFnENWDzGkVPlD8BHDUQsi+8hwXa 3KF6Tb8Y+5uHYRC+LKXY1fW/QqNwcMmeNhChyM6S6/zZTEq+by3D9/QCUmr4R2ofHqGn JLf+sedF0UJW3G13D+wN0NZbEPFI6UWGUdSCoOQ+DJhlNPr/wVBulBkhkf0urATb4jRv HqEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742821270; x=1743426070; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GZ6QvHirUebkLT0cLpo0Lkee0nQc81mUaPIyQl+HrrA=; b=HjfJmhaIxtvEwSLrwrM1g+5FFkGtQ/esABI3jCCdFWkTVgEwLQ19JtYVbu/+pGOFeM svygWcUSOu0LpxxiyQD0R0vu7jUEmGMTer47of1hTNDefyJvjOOuU1pKAso1LZXhIsdV xwHRq9DEFYqgKeNZTVq+QTiCCmetRSRBn6UAOwLfARTtTOxe50lGxcW5dOWOiwRYJX2z 6wrPXavex/aEyPEZAgQa9LJKiaD/Zckey6EKOki+liBxcHj7Xoini3B/n7dJu5Q9kaBp vC/WNVAGAv9C5R2MW92JGPmVUDNiva82kGF6jlScy1YOs20xKgGqrs4sMByxaQCWTbss iW9Q== X-Forwarded-Encrypted: i=1; AJvYcCWzOLBL3O8FW4kTjgxmcE7TmDflvOmfkac8ADjJWhXL5JXvbzKSidsR/NP320NlQ1DhjLtIUdlH+Xyooag=@vger.kernel.org X-Gm-Message-State: AOJu0YxCpHgpawYcIBpPc6eFN1JOrMzxOZzRhhcRDPL3Do7b9PNmrM81 xj7LU22YNqk8AB7tbFhvfPrY5Qlxhx+8DoPcNBTMhwymCuOMyNSN5mzPzT+K3Xo= X-Gm-Gg: ASbGncvGzQEJR76QlU5VAbpji/vXD5id26MorzLHoYh1c3amNG90I/nM/3n12qmrs23 /AjAjK0NLO2REm9IMTMlOvMPUh4ZCl1SSxhORiiWrkh+T6fa1U/lyC0Z/gIF0ZeMrcwW+mKQmRI dFtPHmRF/mb4agyb2EUV8Bs1cgvIyhl/RJltXrydAYY20qjBAUeVEzPVww7I5ZZit2fMzzr5c0C VtO/73GxYa/rTFAE5ylonkkmDIp2QlWsrkf5fOEeaVorZ26pqCufQMszHIwACaHQmfS+1tMANes D/jtKgoVa/n0++aMKvvgNRBXy36uMhbIxStYKF2XR0mkncE0PkQqF/RUBciRJlKXI2R20U/YCWm OtOpS X-Google-Smtp-Source: AGHT+IHcZdjKo+W60+E0889CUCSjzvCnQTNGHROcaLcw11SC7gzeWcB55np64KwhSuLoUJuyekwy5g== X-Received: by 2002:a05:6000:2107:b0:391:3d12:9afa with SMTP id ffacd0b85a97d-3997f90391emr10016304f8f.21.1742821269598; Mon, 24 Mar 2025 06:01:09 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d4fdbd1c7sm122275975e9.40.2025.03.24.06.01.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Mar 2025 06:01:08 -0700 (PDT) From: srinivas.kandagatla@linaro.org To: peda@axentia.se, broonie@kernel.org, andersson@kernel.org, krzk+dt@kernel.org Cc: ivprusov@salutedevices.com, luca.ceresoli@bootlin.com, zhoubinbin@loongson.cn, paulha@opensource.cirrus.com, lgirdwood@gmail.com, robh@kernel.org, conor+dt@kernel.org, konradybcio@kernel.org, perex@perex.cz, tiwai@suse.com, dmitry.baryshkov@oss.qualcomm.com, linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, johan+linaro@kernel.org, Srinivas Kandagatla , Krzysztof Kozlowski Subject: [PATCH v4 4/6] ASoC: dt-bindings: wcd93xx: add bindings for audio mux controlling hp Date: Mon, 24 Mar 2025 13:00:55 +0000 Message-Id: <20250324130057.4855-5-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250324130057.4855-1-srinivas.kandagatla@linaro.org> References: <20250324130057.4855-1-srinivas.kandagatla@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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/Do= cumentation/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 =20 + 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 =20 required: - compatible --=20 2.39.5 From nobody Thu Dec 18 14:34:06 2025 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 8838A25F966 for ; Mon, 24 Mar 2025 13:01:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742821274; cv=none; b=p1CbVByBZc/IDiAHQD4zPua7k0UXE38IF8RchDiFH3t0n+danHwqB/f+a1CVpvsWcLjbQFgKKA7B9nM4wkuiOZiS3Vq68OWlXHxQ2RSnO9rj8G2FA0nj7nNNr9eYE/t2SK300onbc93ryzLa3d8GP91wWdppVGf9kQqAp1S+RrQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742821274; c=relaxed/simple; bh=EIis1g6PdS3f0AOhNeshL9YKCmmKkSkIVunOteFUnBo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=edjG73FlOdKgCKJk+iRfxqChY/MyKik+8eExBFo7qarinI3ZwhnPZMn1jiewd6Owx4BsrKpBqzUlK1p2EfJipZ5vek2+CYWIxEQ/D8Fv7QfOH7L8w580SsL+BZJcR3wEfkzzJMa/k+BFXnFeQN1lOe02+DPyyIz4JeEPe5Q8608= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=LXH4m8zD; arc=none smtp.client-ip=209.85.128.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="LXH4m8zD" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-43cf848528aso36443125e9.2 for ; Mon, 24 Mar 2025 06:01:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742821271; x=1743426071; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=CIxdXc3XxbQbeeDfHw+WlqIL/H9ji4aLpTo3X7yPJCk=; b=LXH4m8zDFEMeHYO5xXSPRwIVafTHXP5UGcRE8RDlnLSkrXsWwZRz+EmoqOEIRVLFtr eNp4JDbFIiJdCMmkQi4xWqDwyg0Tp6800AjmUc/WWoOWsRMkUdyfADYfZkEbfwgwUwZ9 xjDlMzqxMAxahQxsEy2Do369LIQn9Qpo48IFShEAvAwGeO+WwyuJ0OkZoc8HlCjm+Ag0 dyQ+GureGoMzz+rdv6uWNEu9miex5E/rO+7cpVPLovTFsOEYhpcQCpxMDzz8s0BAhBpg +HVURpggVTDHZJMEM3hDb4f1pH/FvwYfwJfwM4iOdE7HEzLP+h+wLPgxWZ9b7EvYaJgd R2cA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742821271; x=1743426071; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CIxdXc3XxbQbeeDfHw+WlqIL/H9ji4aLpTo3X7yPJCk=; b=Bkbxihzd1aNEqg/Oyz1RGwCjOvaN98M6g2zq2bqJ6CSGvrlzESQcvhwJ5qRMzZ5gO4 CR9Jqt6FqbEo7tf2kXXjoGaIt67sGsr37tlzvaoqOSh2A2imtGA+ilVXQ6YznolynjrN 9GPkg3Gk9SC/7PBzXPGard5iK//Gal8S+wdSQ4J0G7cQ8Ua+RlF5IEfL8V1WPmOFc8Wz EUX8yFkrmq9DXOpCLtFJmtYAnzGQXDllK7qzCQk7hVSO7okUdUPBCM1oJiC4gsEJehkq 1K2erH/TfV2yRZvAUc1vDw04m/gJaoISTFDH+Y1EtypZfNfioUTWJJjlpN/vRUIhdRcG cAKg== X-Forwarded-Encrypted: i=1; AJvYcCXVEVy6gbManpUw+o1YlYOObVaJhHPiee9yTgcQ1ogutmo7nSKkav9KE6RgfaMgHPt0SowAZPh3f6HD+LQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxbZIRvLwuho4nHy3sGWn4EcxCsHapbIQ2hKRkID7Ik37wEiLg1 GeIaV5GspOYX4haEsg5P39zJar0pASr/naf8bOdReFxcYNAaNIfhV+PIa+wxbHk= X-Gm-Gg: ASbGnctTmqlIi63t87xF47OKDVPiudnn/UVeZ+OEztRm8zqf1ZOZZZX5Z+CBi+cVZGM gr8BnIGz7oysgZA7k3uoFpHenFk96UNtm3K9fzetvDrm/+of/QdtOkkk6YTGxDM/QkdFgTmJMxc wN+KLGoNHqkLV3cX9YMddrJ4k27QnMkCcOUO3T2NpldUmfLf/A08SkSxKsgG2SCCAO/ZAvv+GY3 yoUangx7XK+M2FSVxU6MK3MBHR9P+4+U7ong4/A05aKyXd3cI6SeJHAGQiS/Dhg1//Qy2vGwQXw hA/M/DdAa5cNAXl1LYWUm88x9/jJbtzflKMmAWeuPfUCiuw3lmP4vu60oyCua87jVg9wPg== X-Google-Smtp-Source: AGHT+IFs97yEJFrcQcGHdF61b11+D99EkuGXdOkKnHbn/qoC7JXgiu6gUj9xe/poo+JHd1PrEG2cvA== X-Received: by 2002:a05:600c:331c:b0:43c:f332:7038 with SMTP id 5b1f17b1804b1-43d52a8ff41mr52077115e9.21.1742821270695; Mon, 24 Mar 2025 06:01:10 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d4fdbd1c7sm122275975e9.40.2025.03.24.06.01.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Mar 2025 06:01:10 -0700 (PDT) From: srinivas.kandagatla@linaro.org To: peda@axentia.se, broonie@kernel.org, andersson@kernel.org, krzk+dt@kernel.org Cc: ivprusov@salutedevices.com, luca.ceresoli@bootlin.com, zhoubinbin@loongson.cn, paulha@opensource.cirrus.com, lgirdwood@gmail.com, robh@kernel.org, conor+dt@kernel.org, konradybcio@kernel.org, perex@perex.cz, tiwai@suse.com, dmitry.baryshkov@oss.qualcomm.com, linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, johan+linaro@kernel.org, Srinivas Kandagatla , Christopher Obbard Subject: [PATCH v4 5/6] ASoC: codecs: wcd938x: add mux control support for hp audio mux Date: Mon, 24 Mar 2025 13:00:56 +0000 Message-Id: <20250324130057.4855-6-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250324130057.4855-1-srinivas.kandagatla@linaro.org> References: <20250324130057.4855-1-srinivas.kandagatla@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Srinivas Kandagatla On some platforms to minimise pop and click during switching between CTIA and OMTP headset an additional HiFi mux is used. Most common case is that this switch is switched on by default, but on some platforms this needs a regulator enable. move to using mux control to enable both regulator and handle gpios, deprecate the usage of gpio. Signed-off-by: Srinivas Kandagatla Tested-by: Christopher Obbard --- sound/soc/codecs/Kconfig | 1 + sound/soc/codecs/wcd938x.c | 50 +++++++++++++++++++++++++++++--------- 2 files changed, 40 insertions(+), 11 deletions(-) diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig index ee35f3aa5521..a2829d76e108 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -2226,6 +2226,7 @@ config SND_SOC_WCD938X tristate depends on SOUNDWIRE || !SOUNDWIRE select SND_SOC_WCD_CLASSH + select MULTIPLEXER =20 config SND_SOC_WCD938X_SDW tristate "WCD9380/WCD9385 Codec - SDW" diff --git a/sound/soc/codecs/wcd938x.c b/sound/soc/codecs/wcd938x.c index dfaa3de31164..88c758efe40d 100644 --- a/sound/soc/codecs/wcd938x.c +++ b/sound/soc/codecs/wcd938x.c @@ -19,6 +19,7 @@ #include #include #include +#include #include =20 #include "wcd-clsh-v2.h" @@ -178,6 +179,8 @@ struct wcd938x_priv { int variant; int reset_gpio; struct gpio_desc *us_euro_gpio; + struct mux_control *us_euro_mux; + u32 mux_state; u32 micb1_mv; u32 micb2_mv; u32 micb3_mv; @@ -3235,17 +3238,31 @@ static void wcd938x_dt_parse_micbias_info(struct de= vice *dev, struct wcd938x_pri dev_info(dev, "%s: Micbias4 DT property not found\n", __func__); } =20 -static bool wcd938x_swap_gnd_mic(struct snd_soc_component *component) +static int wcd938x_select_mux_state(struct device *dev, struct wcd938x_pri= v *wcd938x, int state) { - int value; + int ret =3D mux_control_try_select(wcd938x->us_euro_mux, state); =20 - struct wcd938x_priv *wcd938x; + if (ret) { + dev_err(dev, "Error (%d) Unable to select us/euro mux state\n", ret); + return ret; + } =20 - wcd938x =3D snd_soc_component_get_drvdata(component); + wcd938x->mux_state =3D state; + mux_control_deselect(wcd938x->us_euro_mux); + + return 0; +} =20 - value =3D gpiod_get_value(wcd938x->us_euro_gpio); +static bool wcd938x_swap_gnd_mic(struct snd_soc_component *component) +{ + struct wcd938x_priv *wcd938x =3D snd_soc_component_get_drvdata(component); =20 - gpiod_set_value(wcd938x->us_euro_gpio, !value); + if (wcd938x->us_euro_mux) { + if (wcd938x_select_mux_state(component->dev, wcd938x, !wcd938x->mux_stat= e)) + return false; + } else { + gpiod_set_value(wcd938x->us_euro_gpio, !wcd938x->mux_state); + } =20 return true; } @@ -3261,11 +3278,22 @@ static int wcd938x_populate_dt_data(struct wcd938x_= priv *wcd938x, struct device return dev_err_probe(dev, wcd938x->reset_gpio, "Failed to get reset gpio\n"); =20 - wcd938x->us_euro_gpio =3D 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 =3D devm_mux_control_get(dev, NULL); + if (IS_ERR(wcd938x->us_euro_mux)) { + if (PTR_ERR(wcd938x->us_euro_mux) =3D=3D -EPROBE_DEFER) + return -EPROBE_DEFER; + + /* mux is optional and now fallback to using gpio */ + wcd938x->us_euro_mux =3D NULL; + wcd938x->us_euro_gpio =3D 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 =3D wcd938x_select_mux_state(dev, wcd938x, wcd938x->mux_state); + if (ret) + return ret; + } =20 cfg->swap_gnd_mic =3D wcd938x_swap_gnd_mic; =20 --=20 2.39.5 From nobody Thu Dec 18 14:34:06 2025 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 2A4A625F979 for ; Mon, 24 Mar 2025 13:01:20 +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=1742821282; cv=none; b=TKghxURor67UEeFB9ehoLDCXrMhuk9eS7Kn+g55P19ZvMK6ICt7R72MaM5v/z7nvL0n5e/IdtpCJ+MCB5pcZBGBPnHMgTYaUU7OuJUpUxfoY1RLesxvZhi17daspJ65DYBC/q3gAJxbARFC6X/ZJT+leb09GpVjHevcGG23Gq5U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742821282; c=relaxed/simple; bh=4hK5NwvGZj3PELV41E3//V4IRXz5oGNBj9IGYps+vOQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=BMYSBKfO8NRtgpKwOit5qA+MDg40YjzBXZAUJSwisFYXw9GWVXkiO0r0iXge8hWhLva9+oSZ0RCXoZ7NqDO48HyUI1s5NALborndho1kdyHzFyCAMT+arqVZ9OAuhcalPNTtXPdWOgm80vxzYkIprZafb4krfeeHL4eIuWtt+/s= 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=iRAI2wTX; 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="iRAI2wTX" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-43cf3192f3bso37375485e9.1 for ; Mon, 24 Mar 2025 06:01:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742821278; x=1743426078; 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=iRAI2wTXwQekaj2V+pggqBWyNZbmDmo02NcC/LH48s0NJ0MvLKaaXPG3yeytoQesbn gf3eS8bm/FL+sn3pY+1BONPOKWujgvTo/zcVH01GICelXncSgJZJP4AhukCh8GuPQ+WA JqjRTCn3ZHz2FgZ5TiZaQsAzFSoVJXAixF4rKxh0SOaMi53LC3orTGh/C/INHmV7kc6v 7TKma8jDrobsu4fC7HpC83dNA0/46PMt5hZ7eb/TEnYzOC/ZWB++Ngzkm7nPaBNGqqc2 /D36mjPdzy9+h1R+HJN00joBmdwgMF9TopFHY6rxsoKdvwwJpc6hysIUxXdvGaUxfxfl dciQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742821278; x=1743426078; 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=b9vDdnpjfEznhhyxRQfiWO5vS4zxgpk7uwK7QvoabZ7lZwTqi5piudfn4SiXeFctAk d9Ki0LtXs2TBy5GEwIr8WssaOxfmPGyP3SY//PPKh3dP7Ye/pKFReoGZYmAklBhpNMcd VSaAFH+ZvRLgvi2xKfoFhpjHk+gAXBfMQ2SuBP6jX+Y4o2tD77+r6h702weaQf3ufoy4 iqCQQl/Sg/5aEqxjWqP1ptvLobeScDJfhmDWz6xTUcQ97CVCjz3N8UVBWxyzUI7dTLSy MIJeP66aJlayE1dk/kfwvpQRsp3VIZYWn0Cy/9x0N0RMS/eoAr0s3DzVo+iP1rvgW6at DNXg== X-Forwarded-Encrypted: i=1; AJvYcCWfwEPS/LeOklPI1CVzKd3+s2umYI50s1pVUbtfaxZFlLdJ38i0dCA54FsinPNFvuJOkm8iu5kvRjwR7E0=@vger.kernel.org X-Gm-Message-State: AOJu0YxASukZZFccJqXPwgraWDk3YA5mFv0S81K13BNqJnMo9EyCWuGA Pt6Sm6YbH8X/lajobs8V1xny9bA5PUkD2wFcyJlzhtVi32NjACwQ9YSICgr90AM= X-Gm-Gg: ASbGnctCsJ9qXbn2Q66aMnwEwV3xI1R/TsRdqqXnfkAFf2wkE2K+UnbVTv0etindnQh ZqwKIq2c4ificVwku8K+nRmzW0Cus4nhDKFXrYtqrcf8z3nXtpgtLd/l6ijXKtM4TwX+7CBdMU0 mCpDqwSSHuZVwbu9oIMbIEpmlxP2WPissxRkvPREpuhgga0l0QWuMAgTMb1LaCNvIKAHLgrovWW 7rrVzLadp88wmtMoTsxngXVrxKUUvVsvTH3hUFQhTCCs+hlJobrbHZ+D3Wkg/ZSET+8R10ClR3O Wn8LrPfllURopHSuY5Ho68L7Weev0hvfUyQsonMyIW8gDiw+8D6f8OpU0IcjeFpvH827Pg== X-Google-Smtp-Source: AGHT+IGeenGXBUxGWQuSKN6iBis1h2PL0x44PYgwRi+E3q/OLy/gfMO1oiAs9uaXyCp/vP0FDPrvPw== X-Received: by 2002:a05:600c:3110:b0:43c:f44c:72a6 with SMTP id 5b1f17b1804b1-43d509e3394mr108748655e9.2.1742821272912; Mon, 24 Mar 2025 06:01:12 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d4fdbd1c7sm122275975e9.40.2025.03.24.06.01.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Mar 2025 06:01:11 -0700 (PDT) From: srinivas.kandagatla@linaro.org To: peda@axentia.se, broonie@kernel.org, andersson@kernel.org, krzk+dt@kernel.org Cc: ivprusov@salutedevices.com, luca.ceresoli@bootlin.com, zhoubinbin@loongson.cn, paulha@opensource.cirrus.com, lgirdwood@gmail.com, robh@kernel.org, conor+dt@kernel.org, konradybcio@kernel.org, perex@perex.cz, tiwai@suse.com, dmitry.baryshkov@oss.qualcomm.com, linux-sound@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, johan+linaro@kernel.org, Srinivas Kandagatla , Krzysztof Kozlowski , Christopher Obbard Subject: [PATCH v4 6/6] arm64: dts: qcom: x1e78100-t14s: Enable audio headset support Date: Mon, 24 Mar 2025 13:00:57 +0000 Message-Id: <20250324130057.4855-7-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250324130057.4855-1-srinivas.kandagatla@linaro.org> References: <20250324130057.4855-1-srinivas.kandagatla@linaro.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 =3D <&wcd_tx>; =20 reset-gpios =3D <&tlmm 191 GPIO_ACTIVE_LOW>; + mux-controls =3D <&us_euro_mux_ctrl>; =20 vdd-buck-supply =3D <&vreg_l15b_1p8>; vdd-rxtx-supply =3D <&vreg_l15b_1p8>; @@ -149,6 +150,16 @@ pmic_glink_ss1_con_sbu_in: endpoint { }; }; =20 + /* two muxes together support CTIA and OMTP switching */ + us_euro_mux_ctrl: mux-controller { + compatible =3D "gpio-mux"; + pinctrl-0 =3D <&us_euro_hs_sel>; + pinctrl-names =3D "default"; + mux-supply =3D <&vreg_l16b_2p5>; + #mux-control-cells =3D <0>; + mux-gpios =3D <&tlmm 68 GPIO_ACTIVE_HIGH>; + }; + reserved-memory { linux,cma { compatible =3D "shared-dma-pool"; @@ -604,6 +615,13 @@ vreg_l15b_1p8: ldo15 { regulator-always-on; }; =20 + vreg_l16b_2p5: ldo16 { + regulator-name =3D "vreg_l16b_2p5"; + regulator-min-microvolt =3D <2504000>; + regulator-max-microvolt =3D <2504000>; + regulator-initial-mode =3D ; + }; + vreg_l17b_2p5: ldo17 { regulator-name =3D "vreg_l17b_2p5"; regulator-min-microvolt =3D <2504000>; @@ -1461,6 +1479,13 @@ rtmr1_default: rtmr1-reset-n-active-state { bias-disable; }; =20 + us_euro_hs_sel: us-euro-hs-sel-state { + pins =3D "gpio68"; + function =3D "gpio"; + bias-pull-down; + drive-strength =3D <2>; + }; + usb1_pwr_1p15_reg_en: usb1-pwr-1p15-reg-en-state { pins =3D "gpio188"; function =3D "gpio"; --=20 2.39.5