From nobody Sun Feb 8 05:35:41 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CE9D0318EF9 for ; Wed, 7 Jan 2026 19:20:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767813629; cv=none; b=TWIhk3QEJis1WcPq2bLMABxXxgNM7IJCvA78T6nd+ixtP5U5zwWe2XxjWGqIZ78t5sAvmCkfkHtjpp+CYhdMVRX0m5Bp4CwDExgidHniZwdcpGETIO0phBJnLX0R+tyFKDKQTiIlopLk02MLg3kGNMBjTTZ+32jufeKTfb6gv3A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767813629; c=relaxed/simple; bh=tyP/V/skScf7mp3+WCTbe3wELSTuT9RspJs4XrrJTMI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=bDaaB7HxJE7eG0p7msCMrIlJ3S0csjNuDMoqhzyhvHj3cq/del3fnez/1ylk0UdLAxRwjY1tNh+Flv5laE5y5ed+e9JTjkLZkCrxgltGR4B87Hz1T3RL7Vzb45nSOUlm0MfIFDaheN/48inDkGbzwWJek9sO0rw+MeS1qBWLZX8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=EFqIBATB; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ffGKHDQB; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="EFqIBATB"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ffGKHDQB" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 607H7YkD3672830 for ; Wed, 7 Jan 2026 19:20:26 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=lX6WHCx/JN7 QHObDYbJg7ZM7OVn3XmiYWVeoPCXFwVA=; b=EFqIBATBVR+lUGbteYFe/wQLaJF MdYEZPjHrHpmA4x0mN9CP962Hq/za8Jte4IRFVjoXqnbJDWKc9AiYjZJnoeY8FkQ 463+elEILdQ7IBjCIQFticFC9RdXkilGnR+grcmOv8j5jimXPbsjhzOXyUugKqP8 MqxUXg+y8HJLy2d2c9UIKHA3JMKhcK7n4WaF8tDs1qzlY1BZvMCiZr/YIRSRS9Ju YoNu+/teFB4XG0rJxwyHx6I26FdXzdLI0szozzHT0FGPAX3TRadGN4NbRCrn0dY+ WOCDrOUoE8rtQE2xkd/U0LVTQoPWLnTc2GWDHvXrCSMegdwX7dFGTU5KUTA== Received: from mail-pj1-f70.google.com (mail-pj1-f70.google.com [209.85.216.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bhum50es5-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 07 Jan 2026 19:20:26 +0000 (GMT) Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-34c904a1168so3588063a91.1 for ; Wed, 07 Jan 2026 11:20:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767813626; x=1768418426; 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=lX6WHCx/JN7QHObDYbJg7ZM7OVn3XmiYWVeoPCXFwVA=; b=ffGKHDQBPaX93ngmVzHZMPLOKx+jMocJFhIWBThbGRsWGmwElPxO6S5XC7Ci/qBmhc 7JiLa/BVAacNCei/locYUXBipbWKwUS6/EyiTd4C3t01LNOW2ZS/u0vEsDqyyjRpiDj/ DwpFi+qquq6K18s7GvR05W0382PwHE5tWC6lsSG5x5d27iNhzqhmsGlPEwFwiCeSfPcI Qmxqv/eYwwUw+owJsLqsS1UDDG9S5Rodp1+txZUzTDxjOAMg9McKvak/gf1PWfJu+lvF ojM604AJrMVKVRoCzvJ5fLBzwqS1mJgoOVHqEAyJ0JjTH+bCufSP7M0hNaMzM7mVhKQz xUBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767813626; x=1768418426; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=lX6WHCx/JN7QHObDYbJg7ZM7OVn3XmiYWVeoPCXFwVA=; b=ABMzN4Tu4vsniU8XbflEX0LZG5gbKvR3p4oAF5YdfaFIorhIm3hcJKdAItsRt8+JdK 9NqzmnZiegtsfir/usGMKYDosGNcYluuayqgejgp2Rc4hRJEsA/Ee2lm8xhLsWNXSa3H eQPsGGGSxdtq518caRUE2pNIIwUd5INbpea+Uh1ex4CNBcKwsYhoQDx3v1ni7M5jbWSA omC9yXUr+/WQ0/EZ5tW6oKnfQ1ls4XGouWdbsdJypMI0buHtWgBp4JcDlNhZUwNNcMgi iCd05SH4waZIaJwWxTTjn3ElUAMo/D6YP3znYa1MxlUwX+IqdbnATesWC7Rg9VFqab9V Rt2Q== X-Forwarded-Encrypted: i=1; AJvYcCWkZLswzGH96D/QhjIpovEe/MJrHN+mczp0B1/63Wl8TqPe0j62L4tzSEgS26RQP83n+q58eCga1G4pqxU=@vger.kernel.org X-Gm-Message-State: AOJu0YxqOafNej4wOrnQh4A6njVFFXr5v70xwYzI/P9eL65DQz46w8i/ FnWSC6pRpXqHuo8mbKcx3azLwfjZuzh3wk+h4o8Hu042tqpbkRS906n+L9J2luYJB2DW0uszjul HLPUpXvbkwWIshfrvFzCYsW2x6ARzLytDfDLg2Vr7EhZSls3MkIXzvypwb5SQ04va/s0= X-Gm-Gg: AY/fxX7EiTC6iB0B/gsxFZeuCi9gEZrTTr/eRpYw9yCyVPpKWbnaPfIKvuiGJk4ewl4 fRRND3t2XDnJ+bvJ+H0YujeEhbbmiFBY+yqRxi2F8DadZTVSH/czFKRu6OQWO1D04L4eURJ6iUn MHx2vATI/p48aK0RHuUe2Elf5VB21nC5YsYmOZFDG28m35iBTwMHTqO5x6OcsyBZs7sgFg/gaP9 8VA03KlHv3xG6nn7DkEMAimpH/v+I2oOzhi5smRv6DEAnUcr7pOB22wKzmcDwcRGNVDCVONqXHU p+AROelSKPvRae5Gg6uwWj2Jn9e296gdH5RUqjdd+DrzHNg5PG2cqS47/P/tGzPoVclqaB7UIsl X88OIDXHpwROnDdTUEfhHjQJG/yoocpwzUYbwtegtwc7FIw== X-Received: by 2002:a17:90b:5884:b0:33f:eca0:47c6 with SMTP id 98e67ed59e1d1-34f68c27d86mr2989817a91.30.1767813625531; Wed, 07 Jan 2026 11:20:25 -0800 (PST) X-Google-Smtp-Source: AGHT+IGr0EmpIL15U+IbCIlvrn3vzsxZIsZrdOIKp6bfOdosBumro4P26Dw1embFFuQ06lzk4B7wnw== X-Received: by 2002:a17:90b:5884:b0:33f:eca0:47c6 with SMTP id 98e67ed59e1d1-34f68c27d86mr2989791a91.30.1767813625012; Wed, 07 Jan 2026 11:20:25 -0800 (PST) Received: from hu-mohs-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-34f5f7c4141sm5756375a91.6.2026.01.07.11.20.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Jan 2026 11:20:24 -0800 (PST) From: Mohammad Rafi Shaik To: Bjorn Andersson , Linus Walleij , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Srinivas Kandagatla Cc: linux-arm-msm@vger.kernel.org, linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 1/2] dt-bindings: pinctrl: qcom,sa8775p-lpass-lpi-pinctrl: Add SA8775P LPASS pinctrl Date: Thu, 8 Jan 2026 00:50:06 +0530 Message-Id: <20260107192007.500995-2-mohammad.rafi.shaik@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260107192007.500995-1-mohammad.rafi.shaik@oss.qualcomm.com> References: <20260107192007.500995-1-mohammad.rafi.shaik@oss.qualcomm.com> 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 X-Proofpoint-GUID: pBQHFJTcZ6odfOJKSCm7kiU89Lsmhqdl X-Proofpoint-ORIG-GUID: pBQHFJTcZ6odfOJKSCm7kiU89Lsmhqdl X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTA3MDE1MiBTYWx0ZWRfX8bkmtHqMFYkP cY1jck8EFV0Rmnec+XJVEsybikkqHY3iol2LDwdUuAN2i0xdjcJu5cizFncU+i+NNs7vGnGf43a Ijw+Y6Rp+WbePFNZpC81g9aWYoVk3NfGkIN3X6hF394anTgqdf8THrfd0eHh2RCDELRChrIgpqv 8IWbTbqkYFgz5t11m7lqpDnul3CEm1svx/BEQ5PRLin3HlL4yEmUFuEVQMYn6IAcRx1Fa7tiCsa Uzb+Y9yeZ1mIk6bRjnEgnrCr1o35rbrPc2TlvBoTR/44jxIA+HVqsPDclnfDgLP2f3J/KyuYS7M wD4KRvyjePzocG1FgU/2uIyyUS6bZr4Awq1bkZqQwNEu0f7rEYeYf3wfrv0U0VKTZd8beeRPs7A /LhGn41twqTd91d5duOFI5Hz0GoThxtD5s9TQMy1IpwJnuW2SR6M1PVUXQUf+CGZ9tbkuZJo+5A 17AoxhCVIATruAKWjyw== X-Authority-Analysis: v=2.4 cv=KNZXzVFo c=1 sm=1 tr=0 ts=695eb1fa cx=c_pps a=0uOsjrqzRL749jD1oC5vDA==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=gEfo2CItAAAA:8 a=EUspDBNiAAAA:8 a=bT5XQOCXPleopHcqzpYA:9 a=mQ_c8vxmzFEMiUWkPHU9:22 a=sptkURWiP4Gy88Gu7hUp:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2026-01-07_03,2026-01-07_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 priorityscore=1501 clxscore=1015 impostorscore=0 phishscore=0 adultscore=0 suspectscore=0 bulkscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601070152 Content-Type: text/plain; charset="utf-8" Add bindings for the pin controller in Low Power Audio SubSystem (LPASS) of Qualcomm SA8775P SoC and also document the compatible for Qualcomm QCS8300 SoC LPASS TLMM pin controller, fully compatible with SA8775P. Signed-off-by: Mohammad Rafi Shaik Reviewed-by: Krzysztof Kozlowski --- .../qcom,sa8775p-lpass-lpi-pinctrl.yaml | 112 ++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 Documentation/devicetree/bindings/pinctrl/qcom,sa8775p-= lpass-lpi-pinctrl.yaml diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,sa8775p-lpass-l= pi-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,sa8775p-lp= ass-lpi-pinctrl.yaml new file mode 100644 index 000000000000..4442f376a7b2 --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/qcom,sa8775p-lpass-lpi-pinc= trl.yaml @@ -0,0 +1,112 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/pinctrl/qcom,sa8775p-lpass-lpi-pinctrl.= yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm SA8775P SoC LPASS LPI TLMM + +maintainers: + - Srinivas Kandagatla + +description: + Top Level Mode Multiplexer pin controller in the Low Power Audio SubSyst= em + (LPASS) Low Power Island (LPI) of Qualcomm SA8775P SoC. + +properties: + compatible: + oneOf: + - const: qcom,sa8775p-lpass-lpi-pinctrl + - items: + - const: qcom,qcs8300-lpass-lpi-pinctrl + - const: qcom,sa8775p-lpass-lpi-pinctrl + + reg: + items: + - description: LPASS LPI TLMM Control and Status registers + - description: LPASS LPI MCC registers + + clocks: + items: + - description: LPASS Core voting clock + - description: LPASS Audio voting clock + + clock-names: + items: + - const: core + - const: audio + +patternProperties: + "-state$": + oneOf: + - $ref: "#/$defs/qcom-sa8775p-lpass-state" + - patternProperties: + "-pins$": + $ref: "#/$defs/qcom-sa8775p-lpass-state" + additionalProperties: false + +$defs: + qcom-sa8775p-lpass-state: + type: object + description: + Pinctrl node's client devices use subnodes for desired pin configura= tion. + Client device subnodes use below standard properties. + $ref: qcom,lpass-lpi-common.yaml#/$defs/qcom-tlmm-state + unevaluatedProperties: false + + properties: + pins: + description: + List of gpio pins affected by the properties specified in this + subnode. + items: + pattern: "^gpio([0-9]|1[0-9]|2[0-2])$" + + function: + enum: [dmic1_clk, dmic1_data, dmic2_clk, dmic2_data, dmic3_clk, + dmic3_data, dmic4_clk, dmic4_data, ext_mclk1_a, ext_mclk1_b, + ext_mclk1_c, ext_mclk1_d, ext_mclk1_e, i2s1_clk, i2s1_data, + i2s1_ws, i2s2_clk, i2s2_data, i2s2_ws, i2s3_clk, i2s3_data, + i2s3_ws, i2s4_clk, i2s4_data, i2s4_ws, qua_mi2s_sclk, + qua_mi2s_data, qua_mi2s_ws, slimbus_clk, slimbus_data, + swr_rx_clk, swr_rx_data, swr_tx_clk, swr_tx_data, wsa_swr_c= lk, + wsa_swr_data, wsa2_swr_clk, wsa2_swr_data] + description: + Specify the alternative function to be configured for the specif= ied + pins. + +allOf: + - $ref: qcom,lpass-lpi-common.yaml# + +required: + - compatible + - reg + - clocks + - clock-names + +unevaluatedProperties: false + +examples: + - | + #include + + lpass_tlmm: pinctrl@3440000 { + compatible =3D "qcom,sa8775p-lpass-lpi-pinctrl"; + reg =3D <0x03440000 0x20000>, + <0x034D0000 0x10000>; + + clocks =3D <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPL= E_NO>, + <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE= _NO>; + clock-names =3D "core", "audio"; + + gpio-controller; + #gpio-cells =3D <2>; + gpio-ranges =3D <&lpass_tlmm 0 0 23>; + + tx-swr-sleep-clk-state { + pins =3D "gpio0"; + function =3D "swr_tx_clk"; + drive-strength =3D <2>; + bias-pull-down; + }; + }; --=20 2.34.1 From nobody Sun Feb 8 05:35:41 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 01B5025F96D for ; Wed, 7 Jan 2026 19:20:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767813633; cv=none; b=bl+cByHF60d5505xJVicjYo9GjbiX5WvPNBxTDn6uQKuuO4tvQmkW9GeNRbh/Y22ZU6IYQI2Tv4/mSBMQR/auux3GHodbnptfhakUkGTDKfR236gm2ivbZOz74LeYnmz5YU/7PPIf9FiI3FOn7SMwBYtw9FrunxeF9geDgMS6wk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767813633; c=relaxed/simple; bh=/2J2c4zUpQv+8TdJHvFbs/n5HauwxA5cdvXyGMSiqhk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=WGh+179U2Ybbymh42OlQayPiyHXOgT7Kuu5DD605HT4XHFdlSIgOlIsffLBZe7KPND5oP+5GK/urfMbBN1SgAVPw5wjCbxg/yZOUvAPlKFIK2H7CgJ9Q4LWm7qCnDkpMGDqwqVoruU787tf70xRiuSx+F5xGa+JxpfJrXd4kKpc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=MW0zH9bI; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=DeHDyw2d; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="MW0zH9bI"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="DeHDyw2d" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 607GHJ941980411 for ; Wed, 7 Jan 2026 19:20:30 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=DnKul6ENsE5 CG1kxgMhW/8UxhHvELJqE3WTQ51JllRY=; b=MW0zH9bI7hi5z7SBQjF1dfHdQNG 4ayCJJUDk+KivZ8q0Ie0L6bjRH8F8YqHN8yhE2c3TUiXQ44H0e0LWmClXNjg71q1 VXcEBMPQWhgLgCrL3uFCPkfAqwjBeYe43Gw9Fva5eEw6mfK7eYZiqPGnNe1BgqX+ frGMjUhW3Imy22zuRD/EzzGB+gEpHG/gduwi3OcMuAiJ8+mRorABaRTE+gY9Y+hY 0RrEErHM1T/Ra/5x+N8EZD9/4qkN90mjWPyZHIbF+kKejWmvYLIDnlU0nOJyOedo qTpYSAdQXkKQ6suUYNRouB3xCNPVHM2q6k6y86sqG6FrsawZUj+ZjbRIYUw== Received: from mail-pj1-f69.google.com (mail-pj1-f69.google.com [209.85.216.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bhdavkcqh-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 07 Jan 2026 19:20:29 +0000 (GMT) Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-34abec8855aso3434880a91.0 for ; Wed, 07 Jan 2026 11:20:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767813629; x=1768418429; 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=DnKul6ENsE5CG1kxgMhW/8UxhHvELJqE3WTQ51JllRY=; b=DeHDyw2dUBFgorNp+urFUmBAGQijYLsOzJRpB9IzvdG41APdWKiueOkZh1JkFOXsOj rZc++nlp9t17l8WuYvYSQVaYF3erS6Oft79NVCiVFVkwZ7yLM+tLwI+/YzyyoxDyJaYK 8cyMz2+suTR2Gj3pC+C3DX00owIJzuu9JnsMYkRxxR2zRuv9anjKxHRJ7PYAr9Dg8iIA kR5WaAnnt18oeBARD0r+hIodrEY7NOG3TzyachQbb2uRSIFf/7GgYDe5vR6Qv7x+XlxO 1FfRlPtK6LuZ5e68Leaoy5xZSAEmdA7oaNVZbdS8hivWvR71ACwZ4BYeppaA/m4ajmLH 3mJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767813629; x=1768418429; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=DnKul6ENsE5CG1kxgMhW/8UxhHvELJqE3WTQ51JllRY=; b=nlRnv1XVCZOIV02F9APOpeEeaJNzG8YM+/ZVfJTPckmH4nOwA6kaMmyMT2GhAC10AA eH4u6IbAwiXh8eIsWoySC9YeMdFXN31Wot4OBZ8VtA5yqrB8FkyEFwps9qP/U+b7m1S8 QWtbb+IkDM5Z5Sjat+THvmA+gU5RPpwKeaB/OmJIqVRFVunuEe/LYUJ0LIJQ/XQmwhCH pOnKa2t16B7lOCYx5DrMHvUpbigqoJ2UyN7P2K08ZzxlDlT8CrzfQuPTk08Zp4NoNu+J 5fFiDni8EqAB9s2s4LD19f9ecTRq6UYi3FKb7Hkeg/1somnZJ6+yxmowjvE+tiwjjQHc 381w== X-Forwarded-Encrypted: i=1; AJvYcCUYFsoxCekFxvAM2Dq7GbKddMQ9GxMmiClDp173BEUssmp6U59PHC7atAPsCFZgT8AuxlUplokw1h1e+ik=@vger.kernel.org X-Gm-Message-State: AOJu0YzTxDocyAFpU9xtrN54KfbyGjJs1WNweMZVT5APuvI6J4oZwsL4 ekE90+p1iJp2yllwU8XB9pzIARX9+bTipXz8dOmvkoCqn7v4d4swpYqw98K2VVKxLznQoN8hzdJ NS82tzwRQjfOWHCJ0sqC7VTEd9nKGVSCLk5VzBAQZSdfIn88mMLGTdRcs9oe0e8CEotE= X-Gm-Gg: AY/fxX7jw5pF6qLgvK+JrOKaWcfniP3CtCa5qcW4bc/+f4mW9kCbIWKFkiJEdvx/U3d kVGj2M/o02yVBc3g+/VTUgRfHOfUlaj53LVMmRvx5zpcJTKsGgzSbYRBdsW8Wj5k5sheJkYCo1V 8DoNvIntTzGCtsi4XkQFm7rbpxnP+BeGfu/g+2TSjDbqom0y0VmVz4Ts6BMrn/NNufJ+iBYLFQv PRT/FC0XjuaWEwGp4LPawOLfZH3U795IHruBn5HZrMLLni+Lzr0BWnIGChguYscCU4vEdYsuEeN CIhH+X+oMcZRd6uHVCuE4rzIY+JrKWoNhcOD6jVrJE8ESa0RMWMlTBb7cbHECShcmKfhwg83Kzt n8dMh/Q75eA/WEeRO2CQW/qS3nbmzDQHOt6BFSfYrwDEKGQ== X-Received: by 2002:a17:90b:1ccd:b0:32b:baaa:21b0 with SMTP id 98e67ed59e1d1-34f68b4ce91mr3083195a91.6.1767813628823; Wed, 07 Jan 2026 11:20:28 -0800 (PST) X-Google-Smtp-Source: AGHT+IEBdQ9XgrDo2PINQtHWiVPEX7ghbF4eoODF6ffU6+7YGixMzpgI0s7eWpuAp6WkjAccKlH9rA== X-Received: by 2002:a17:90b:1ccd:b0:32b:baaa:21b0 with SMTP id 98e67ed59e1d1-34f68b4ce91mr3083177a91.6.1767813628302; Wed, 07 Jan 2026 11:20:28 -0800 (PST) Received: from hu-mohs-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-34f5f7c4141sm5756375a91.6.2026.01.07.11.20.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Jan 2026 11:20:27 -0800 (PST) From: Mohammad Rafi Shaik To: Bjorn Andersson , Linus Walleij , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Srinivas Kandagatla Cc: linux-arm-msm@vger.kernel.org, linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 2/2] pinctrl: qcom: sa8775p-lpass-lpi: Add SA8775P LPASS pinctrl Date: Thu, 8 Jan 2026 00:50:07 +0530 Message-Id: <20260107192007.500995-3-mohammad.rafi.shaik@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260107192007.500995-1-mohammad.rafi.shaik@oss.qualcomm.com> References: <20260107192007.500995-1-mohammad.rafi.shaik@oss.qualcomm.com> 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 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTA3MDE1MiBTYWx0ZWRfX0LI3wqqA0Su5 WtciqXR9IKDhlsUFtIWrnNBhwr+H9oClNPxo1rS0L5/rq3AaXPCtIeNcQYUBYEqq9kjMtSL4Zsi LBjhWfC2SWeCaxxupIgKJuA97wuilLiTF9DFpEsf2hZbABOR1Ozarf34BpqAIT76q1PXIOOk27k 5jbmXhwZIXoEE+Dk3JKucF/yMOdOn/qqBWmkoQFfYMenoiZvavP8AKgKa/NlFnkZBsyRlBA2oh7 9qK/0k9GXX52EF1ViGwPfCuRRRqgfWsb9bw9d0gqZ65aOUN68lPcJqcVLeb738AKbY6C7UhPE/W Rq14Lu/ToE0Ywkg3yCO2VYGKmCfmnQsACHI3sg28aBqM89dHT2prrKS2FOq5TIhrQiViSoe/yPJ oGPHgBzK9UBFaSWjQd8/Xos8kT05E0eS+dmnJ1u1pI36qpQ/w5Lej1QQ6wWavu1TNSuUt2ZzzYj orvXDtBJBvKzDNbB+0A== X-Proofpoint-ORIG-GUID: tl5Cp-Tdch2WcJo9URgIVKfNAu2DPqCk X-Authority-Analysis: v=2.4 cv=comWUl4i c=1 sm=1 tr=0 ts=695eb1fd cx=c_pps a=vVfyC5vLCtgYJKYeQD43oA==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=TKk1ZooRSNHayU2e024A:9 a=rl5im9kqc5Lf4LNbBjHf:22 X-Proofpoint-GUID: tl5Cp-Tdch2WcJo9URgIVKfNAu2DPqCk X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2026-01-07_03,2026-01-07_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 lowpriorityscore=0 adultscore=0 priorityscore=1501 phishscore=0 malwarescore=0 bulkscore=0 clxscore=1015 spamscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601070152 Content-Type: text/plain; charset="utf-8" Add pin control support for Low Power Audio SubSystem (LPASS) of Qualcomm SA8775P SoC. Signed-off-by: Mohammad Rafi Shaik Reviewed-by: Konrad Dybcio --- drivers/pinctrl/qcom/Kconfig | 10 + drivers/pinctrl/qcom/Makefile | 1 + .../pinctrl/qcom/pinctrl-sa8775p-lpass-lpi.c | 216 ++++++++++++++++++ 3 files changed, 227 insertions(+) create mode 100644 drivers/pinctrl/qcom/pinctrl-sa8775p-lpass-lpi.c diff --git a/drivers/pinctrl/qcom/Kconfig b/drivers/pinctrl/qcom/Kconfig index c480e8b78503..bb1524243906 100644 --- a/drivers/pinctrl/qcom/Kconfig +++ b/drivers/pinctrl/qcom/Kconfig @@ -60,6 +60,16 @@ config PINCTRL_LPASS_LPI Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI (Low Power Island) found on the Qualcomm Technologies Inc SoCs. =20 +config PINCTRL_SA8775P_LPASS_LPI + tristate "Qualcomm Technologies Inc SA8775P LPASS LPI pin controller driv= er" + depends on ARM64 || COMPILE_TEST + depends on PINCTRL_LPASS_LPI + help + This is the pinctrl, pinmux, pinconf and gpiolib driver for the + Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI + (Low Power Island) found on the Qualcomm Technologies Inc SA8775P + platform. + config PINCTRL_SC7280_LPASS_LPI tristate "Qualcomm Technologies Inc SC7280 LPASS LPI pin controller drive= r" depends on ARM64 || COMPILE_TEST diff --git a/drivers/pinctrl/qcom/Makefile b/drivers/pinctrl/qcom/Makefile index 748b17a77b2c..b2a23a824846 100644 --- a/drivers/pinctrl/qcom/Makefile +++ b/drivers/pinctrl/qcom/Makefile @@ -39,6 +39,7 @@ obj-$(CONFIG_PINCTRL_QCOM_SSBI_PMIC) +=3D pinctrl-ssbi-gp= io.o obj-$(CONFIG_PINCTRL_QCOM_SSBI_PMIC) +=3D pinctrl-ssbi-mpp.o obj-$(CONFIG_PINCTRL_QDU1000) +=3D pinctrl-qdu1000.o obj-$(CONFIG_PINCTRL_SA8775P) +=3D pinctrl-sa8775p.o +obj-$(CONFIG_PINCTRL_SA8775P_LPASS_LPI) +=3D pinctrl-sa8775p-lpass-lpi.o obj-$(CONFIG_PINCTRL_SAR2130P) +=3D pinctrl-sar2130p.o obj-$(CONFIG_PINCTRL_SC7180) +=3D pinctrl-sc7180.o obj-$(CONFIG_PINCTRL_SC7280) +=3D pinctrl-sc7280.o diff --git a/drivers/pinctrl/qcom/pinctrl-sa8775p-lpass-lpi.c b/drivers/pin= ctrl/qcom/pinctrl-sa8775p-lpass-lpi.c new file mode 100644 index 000000000000..4579a079f7c6 --- /dev/null +++ b/drivers/pinctrl/qcom/pinctrl-sa8775p-lpass-lpi.c @@ -0,0 +1,216 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +#include +#include +#include + +#include "pinctrl-lpass-lpi.h" + +enum lpass_lpi_functions { + LPI_MUX_dmic1_clk, + LPI_MUX_dmic1_data, + LPI_MUX_dmic2_clk, + LPI_MUX_dmic2_data, + LPI_MUX_dmic3_clk, + LPI_MUX_dmic3_data, + LPI_MUX_dmic4_clk, + LPI_MUX_dmic4_data, + LPI_MUX_i2s1_clk, + LPI_MUX_i2s1_data, + LPI_MUX_i2s1_ws, + LPI_MUX_i2s2_clk, + LPI_MUX_i2s2_data, + LPI_MUX_i2s2_ws, + LPI_MUX_i2s3_clk, + LPI_MUX_i2s3_data, + LPI_MUX_i2s3_ws, + LPI_MUX_i2s4_clk, + LPI_MUX_i2s4_data, + LPI_MUX_i2s4_ws, + LPI_MUX_qua_mi2s_data, + LPI_MUX_qua_mi2s_sclk, + LPI_MUX_qua_mi2s_ws, + LPI_MUX_slimbus_clk, + LPI_MUX_slimbus_data, + LPI_MUX_swr_rx_clk, + LPI_MUX_swr_rx_data, + LPI_MUX_swr_tx_clk, + LPI_MUX_swr_tx_data, + LPI_MUX_wsa_swr_clk, + LPI_MUX_wsa_swr_data, + LPI_MUX_wsa2_swr_clk, + LPI_MUX_wsa2_swr_data, + LPI_MUX_ext_mclk1_a, + LPI_MUX_ext_mclk1_b, + LPI_MUX_ext_mclk1_c, + LPI_MUX_ext_mclk1_d, + LPI_MUX_ext_mclk1_e, + LPI_MUX_gpio, + LPI_MUX__, +}; + +static const struct pinctrl_pin_desc sa8775p_lpi_pins[] =3D { + PINCTRL_PIN(0, "gpio0"), + PINCTRL_PIN(1, "gpio1"), + PINCTRL_PIN(2, "gpio2"), + PINCTRL_PIN(3, "gpio3"), + PINCTRL_PIN(4, "gpio4"), + PINCTRL_PIN(5, "gpio5"), + PINCTRL_PIN(6, "gpio6"), + PINCTRL_PIN(7, "gpio7"), + PINCTRL_PIN(8, "gpio8"), + PINCTRL_PIN(9, "gpio9"), + PINCTRL_PIN(10, "gpio10"), + PINCTRL_PIN(11, "gpio11"), + PINCTRL_PIN(12, "gpio12"), + PINCTRL_PIN(13, "gpio13"), + PINCTRL_PIN(14, "gpio14"), + PINCTRL_PIN(15, "gpio15"), + PINCTRL_PIN(16, "gpio16"), + PINCTRL_PIN(17, "gpio17"), + PINCTRL_PIN(18, "gpio18"), + PINCTRL_PIN(19, "gpio19"), + PINCTRL_PIN(20, "gpio20"), + PINCTRL_PIN(21, "gpio21"), + PINCTRL_PIN(22, "gpio22"), +}; + +static const char * const dmic1_clk_groups[] =3D { "gpio6" }; +static const char * const dmic1_data_groups[] =3D { "gpio7" }; +static const char * const dmic2_clk_groups[] =3D { "gpio8" }; +static const char * const dmic2_data_groups[] =3D { "gpio9" }; +static const char * const dmic3_clk_groups[] =3D { "gpio12" }; +static const char * const dmic3_data_groups[] =3D { "gpio13" }; +static const char * const dmic4_clk_groups[] =3D { "gpio17" }; +static const char * const dmic4_data_groups[] =3D { "gpio18" }; +static const char * const i2s1_clk_groups[] =3D { "gpio6" }; +static const char * const i2s1_ws_groups[] =3D { "gpio7" }; +static const char * const i2s1_data_groups[] =3D { "gpio8", "gpio9" }; +static const char * const i2s2_clk_groups[] =3D { "gpio10" }; +static const char * const i2s2_ws_groups[] =3D { "gpio11" }; +static const char * const i2s2_data_groups[] =3D { "gpio15", "gpio16" }; +static const char * const i2s3_clk_groups[] =3D { "gpio19" }; +static const char * const i2s3_ws_groups[] =3D { "gpio20" }; +static const char * const i2s3_data_groups[] =3D { "gpio21", "gpio22" }; +static const char * const i2s4_clk_groups[] =3D { "gpio12" }; +static const char * const i2s4_ws_groups[] =3D { "gpio13" }; +static const char * const i2s4_data_groups[] =3D { "gpio17", "gpio18" }; +static const char * const qua_mi2s_sclk_groups[] =3D { "gpio0" }; +static const char * const qua_mi2s_ws_groups[] =3D { "gpio1" }; +static const char * const qua_mi2s_data_groups[] =3D { "gpio2", "gpio3", "= gpio4", "gpio5" }; +static const char * const slimbus_clk_groups[] =3D { "gpio19"}; +static const char * const slimbus_data_groups[] =3D { "gpio20"}; +static const char * const swr_tx_clk_groups[] =3D { "gpio0" }; +static const char * const swr_tx_data_groups[] =3D { "gpio1", "gpio2", "gp= io14" }; +static const char * const swr_rx_clk_groups[] =3D { "gpio3" }; +static const char * const swr_rx_data_groups[] =3D { "gpio4", "gpio5" }; +static const char * const wsa_swr_clk_groups[] =3D { "gpio10" }; +static const char * const wsa_swr_data_groups[] =3D { "gpio11" }; +static const char * const wsa2_swr_clk_groups[] =3D { "gpio15" }; +static const char * const wsa2_swr_data_groups[] =3D { "gpio16" }; +static const char * const ext_mclk1_c_groups[] =3D { "gpio5" }; +static const char * const ext_mclk1_b_groups[] =3D { "gpio9" }; +static const char * const ext_mclk1_a_groups[] =3D { "gpio13" }; +static const char * const ext_mclk1_d_groups[] =3D { "gpio14" }; +static const char * const ext_mclk1_e_groups[] =3D { "gpio22" }; + +static const struct lpi_pingroup sa8775p_groups[] =3D { + LPI_PINGROUP(0, 0, swr_tx_clk, qua_mi2s_sclk, _, _), + LPI_PINGROUP(1, 2, swr_tx_data, qua_mi2s_ws, _, _), + LPI_PINGROUP(2, 4, swr_tx_data, qua_mi2s_data, _, _), + LPI_PINGROUP(3, 8, swr_rx_clk, qua_mi2s_data, _, _), + LPI_PINGROUP(4, 10, swr_rx_data, qua_mi2s_data, _, _), + LPI_PINGROUP(5, 12, swr_rx_data, ext_mclk1_c, qua_mi2s_data, _), + LPI_PINGROUP(6, LPI_NO_SLEW, dmic1_clk, i2s1_clk, _, _), + LPI_PINGROUP(7, LPI_NO_SLEW, dmic1_data, i2s1_ws, _, _), + LPI_PINGROUP(8, LPI_NO_SLEW, dmic2_clk, i2s1_data, _, _), + LPI_PINGROUP(9, LPI_NO_SLEW, dmic2_data, i2s1_data, ext_mclk1_b, _), + LPI_PINGROUP(10, 16, i2s2_clk, wsa_swr_clk, _, _), + LPI_PINGROUP(11, 18, i2s2_ws, wsa_swr_data, _, _), + LPI_PINGROUP(12, LPI_NO_SLEW, dmic3_clk, i2s4_clk, _, _), + LPI_PINGROUP(13, LPI_NO_SLEW, dmic3_data, i2s4_ws, ext_mclk1_a, _), + LPI_PINGROUP(14, 6, swr_tx_data, ext_mclk1_d, _, _), + LPI_PINGROUP(15, 20, i2s2_data, wsa2_swr_clk, _, _), + LPI_PINGROUP(16, 22, i2s2_data, wsa2_swr_data, _, _), + LPI_PINGROUP(17, LPI_NO_SLEW, dmic4_clk, i2s4_data, _, _), + LPI_PINGROUP(18, LPI_NO_SLEW, dmic4_data, i2s4_data, _, _), + LPI_PINGROUP(19, LPI_NO_SLEW, i2s3_clk, slimbus_clk, _, _), + LPI_PINGROUP(20, LPI_NO_SLEW, i2s3_ws, slimbus_data, _, _), + LPI_PINGROUP(21, LPI_NO_SLEW, i2s3_data, _, _, _), + LPI_PINGROUP(22, LPI_NO_SLEW, i2s3_data, ext_mclk1_e, _, _), +}; + +static const struct lpi_function sa8775p_functions[] =3D { + LPI_FUNCTION(dmic1_clk), + LPI_FUNCTION(dmic1_data), + LPI_FUNCTION(dmic2_clk), + LPI_FUNCTION(dmic2_data), + LPI_FUNCTION(dmic3_clk), + LPI_FUNCTION(dmic3_data), + LPI_FUNCTION(dmic4_clk), + LPI_FUNCTION(dmic4_data), + LPI_FUNCTION(i2s1_clk), + LPI_FUNCTION(i2s1_data), + LPI_FUNCTION(i2s1_ws), + LPI_FUNCTION(i2s2_clk), + LPI_FUNCTION(i2s2_data), + LPI_FUNCTION(i2s2_ws), + LPI_FUNCTION(i2s3_clk), + LPI_FUNCTION(i2s3_data), + LPI_FUNCTION(i2s3_ws), + LPI_FUNCTION(i2s4_clk), + LPI_FUNCTION(i2s4_data), + LPI_FUNCTION(i2s4_ws), + LPI_FUNCTION(qua_mi2s_data), + LPI_FUNCTION(qua_mi2s_sclk), + LPI_FUNCTION(qua_mi2s_ws), + LPI_FUNCTION(slimbus_clk), + LPI_FUNCTION(slimbus_data), + LPI_FUNCTION(swr_rx_clk), + LPI_FUNCTION(swr_rx_data), + LPI_FUNCTION(swr_tx_clk), + LPI_FUNCTION(swr_tx_data), + LPI_FUNCTION(wsa_swr_clk), + LPI_FUNCTION(wsa_swr_data), + LPI_FUNCTION(wsa2_swr_clk), + LPI_FUNCTION(wsa2_swr_data), + LPI_FUNCTION(ext_mclk1_a), + LPI_FUNCTION(ext_mclk1_b), + LPI_FUNCTION(ext_mclk1_c), + LPI_FUNCTION(ext_mclk1_d), + LPI_FUNCTION(ext_mclk1_e), +}; + +static const struct lpi_pinctrl_variant_data sa8775p_lpi_data =3D { + .pins =3D sa8775p_lpi_pins, + .npins =3D ARRAY_SIZE(sa8775p_lpi_pins), + .groups =3D sa8775p_groups, + .ngroups =3D ARRAY_SIZE(sa8775p_groups), + .functions =3D sa8775p_functions, + .nfunctions =3D ARRAY_SIZE(sa8775p_functions), +}; + +static const struct of_device_id lpi_pinctrl_of_match[] =3D { + { + .compatible =3D "qcom,sa8775p-lpass-lpi-pinctrl", + .data =3D &sa8775p_lpi_data, + }, + { } +}; +MODULE_DEVICE_TABLE(of, lpi_pinctrl_of_match); + +static struct platform_driver lpi_pinctrl_driver =3D { + .driver =3D { + .name =3D "qcom-sa8775p-lpass-lpi-pinctrl", + .of_match_table =3D lpi_pinctrl_of_match, + }, + .probe =3D lpi_pinctrl_probe, + .remove =3D lpi_pinctrl_remove, +}; + +module_platform_driver(lpi_pinctrl_driver); +MODULE_DESCRIPTION("Qualcomm SA8775P LPI GPIO pin control driver"); +MODULE_LICENSE("GPL"); --=20 2.34.1