From nobody Mon Feb 9 06:26:51 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 A20F1311951 for ; Mon, 12 Jan 2026 19:01:51 +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=1768244513; cv=none; b=NfvD/TfGMd3SGAxMDBgXhJgYOCEXk/9ahr044nqlNHEMZS3LFe0f0GaILaH0xzKGJJRbbl0IKkmUi2F0QAr+IVfInNSldZDUm1DBw3Hvy550IJT88HjVHdxPNrYL1bTZXEm/EzdnB9czaEfT67cB4uzWF0cj+cKROKHZmEyEyLQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768244513; c=relaxed/simple; bh=qsW0Uz10Qjl56BkQXengJG1xwxEd220vytxWkB7IWMc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=fEZ8gIoGHwjD2fwfEb2gXRTrpKHiatAqVNFmKj9AQ2SYI4yaz5YHjhp8yRjDxLYbRJIJmT86dPEv7hHVx+7liw3ozqRxcASGRdMzX30oG492RqfVJWReMB271kVMAneJGI1ISofBp+QnCv+CoTmWh/jA01LoIJcs1DV+jX+42Qw= 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=JHNRz1r0; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=U9odF98e; 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="JHNRz1r0"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="U9odF98e" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60CHfR5i2371909 for ; Mon, 12 Jan 2026 19:01:50 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=tJKzdZlC6pG QHIx9PxzGt0O5YSMlkLVNoSgcCXEO92o=; b=JHNRz1r0pqZsGB7eAFsOOfxd75N pU0mI5PFFUqQcqTkje9G8zxJpA7tHKcDGK5Y7ktR8UpDfORZkhLisBO6C9pTUPzA 0BJFsNnidUse/qMbXHsG7NYTUq5DaFpC88+xHX2e/VGZaNOPWiQgnZJd7+HJU6cS vXPnbXOAKPj8L7xh8yyIoayrUqCLqk3XxOBm513NcIE+WE0Dw0+tzgfmPX6vrF2L LSFZAKWWzT2ZCw18Mo8cVcveChLeGJMS+oR4FrojSpAbUd4GoBeXhC4tnqNkf7xu RlcLSNAB/3chWmI3W70gTUoS2yz/FEbe/QUr7Loxmbr6U2wymFa+yisXo4Q== Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bmxwv1mrp-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 12 Jan 2026 19:01:50 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-29f13989cd3so157560865ad.1 for ; Mon, 12 Jan 2026 11:01:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1768244509; x=1768849309; 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=tJKzdZlC6pGQHIx9PxzGt0O5YSMlkLVNoSgcCXEO92o=; b=U9odF98eXcTl9UNUqCku5EFd6fWrGHiRn8LLZS/zu58daHZc0Hw5br/7JDlP7fGSEz d3b1W7ipadK/vcMczEUAsudXdjgUPD7va7Wuwj5Fe8GTuLGkKnhoojT8GHgMFJ2vqJqf ZXyiKj0MB/xw4yicBP2TCiLvLUrv779+Zkjjlcxzys4H0Hbrv/eJbpuNxvb5SlkCHLAk MY1lp8nmXsm6eMccgvy3u/N3GrFvT4MWKxYJ1PUkBUfGWBv9IGaGJoUzMh3DpiqDm7jX TVPpv/h2VzCPPU7hO69qW888zoPAH0SmdZnJTs/ArZlmVdMN7AJLriTj2ti6qZYBJru7 9slw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768244509; x=1768849309; 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=tJKzdZlC6pGQHIx9PxzGt0O5YSMlkLVNoSgcCXEO92o=; b=n+zoBvOi0OuUbPjJtqI0uSbmbpBbpBduK0iiax9MuAUiawqHrgng5AJhPXY0v6Ilv9 HgxxgRaNbMKsIqcctXAp/QZdjx8x0DS/Pn/c/6FCqHCBFhkvlxBVIGGu7aMYm811G3z3 +8t8WJWphjM07QBVrKqRLINQOST7pX+H66ApqJ/i4J7CPZ4ckOA8YLd19hUT84/UeOh4 Y9dV1hevNYrwIEWCVn/BtYA9uVH/1udvWh/LWs8eelSa02wjZz5rMtb4DGnOqkbGfsPI SslIzHZUUPDDI3tFevXZQX7Np/NQyEW96tUDnhAT7M5DIUdvpyPYffeSc0LX4NDDsvpB G3PA== X-Forwarded-Encrypted: i=1; AJvYcCWQ4M6/OtY/hs3MmKoLBe47PDApk5GxxvKx9AUM3UYNT+4reqcFPNVV5sf7MCfiAWbzHou+uCUjn2Th+mo=@vger.kernel.org X-Gm-Message-State: AOJu0Yyz9LNlgIW21gXtT+KPo8KiF+tSUFnZhnHswC2fCunjvp51tl17 fPIGullsyrHqzoryrTw3wuU9cfl1b1hVHraAxnbmszt/UbAi/zay2opYXtc1r/jjmqEqI+HJmjk E7qft0Pamrv586oYDhCA/U1Di+Aoj8ztz7+9Cyj2I7cWMakVsRnvd5YkRojpLwF2YW+0= X-Gm-Gg: AY/fxX4m26WHIazCmul9B59N/PDoU4CgjyphRABWsXwEQuL+X+KJ/VpadLcKzYtJJV4 zr20J+oiuXnYsh04xNEcqdIlZgTX2btiah+CVKfM3cVNd4NOjiu39MafOhvES+SeOBxTi8kIiY8 /MbN6ON5KKk6C8Ms3xxVnyuI/LJM7O6swPJnh9nrF+oKkCiGKbJwGUyBduBrA00k4CTcMAei7QM c/nd/xGgREa7tX10vhN8O/7nM6ibdBARZuY0rIALWT8a2JmAH8jBTVRrwaeuflZsQBBT4JUzRij vpjwbYCNRtLE18L6VcCkL6WPJEIT/h82xDkcNWIrC8HKL15YvlaOdCq/qHuJRJrJbjbqBBEiUqS 8V4ndxSf4M/n5qHzoFXvYtt+nZLzdQDZFFuMhYJ08Rf8= X-Received: by 2002:a17:902:da90:b0:295:565b:c691 with SMTP id d9443c01a7336-2a3ee42892emr200539535ad.17.1768244509261; Mon, 12 Jan 2026 11:01:49 -0800 (PST) X-Google-Smtp-Source: AGHT+IFmRrWohybqHuXyyw7hdbDgfVyDpxFktI6ED0wq2Z2WPdbgy4rafLnbLbVHRpR8HUiY4xsP+Q== X-Received: by 2002:a17:902:da90:b0:295:565b:c691 with SMTP id d9443c01a7336-2a3ee42892emr200539115ad.17.1768244508600; Mon, 12 Jan 2026 11:01:48 -0800 (PST) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a3e3cc8888sm180120595ad.76.2026.01.12.11.01.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jan 2026 11:01:48 -0800 (PST) From: Praveen Talari To: Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Praveen Talari , linux-arm-msm@vger.kernel.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, bryan.odonoghue@linaro.org, dmitry.baryshkov@oss.qualcomm.com, andersson@kernel.org, bjorn.andersson@oss.qualcomm.com Cc: prasad.sodagudi@oss.qualcomm.com, mukesh.savaliya@oss.qualcomm.com, quic_vtanuku@quicinc.com, aniket.randive@oss.qualcomm.com, chandana.chiluveru@oss.qualcomm.com, Nikunj Kela Subject: [PATCH v1 1/4] spi: dt-bindings: describe SA8255p Date: Tue, 13 Jan 2026 00:31:31 +0530 Message-Id: <20260112190134.1526646-2-praveen.talari@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260112190134.1526646-1-praveen.talari@oss.qualcomm.com> References: <20260112190134.1526646-1-praveen.talari@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: TeVJ8up4WScEfbmpxz4Aw2slhc1B8cFb X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTEyMDE1NyBTYWx0ZWRfX5iEuCDAvM6NJ M5qDsSTwBpSZlpwzx3QM4HZ+IkkEJ5wrSM0wyBDsCVLzojddC08iTDmQyeGATROgfc5s09DMBSQ xEL0LHV2RoVEmdk/LftP2S1ErejqEq+uRUf9099qBB4BTffEr8BPQuokAqDk2WTS+KgNYW3RW4B S2omoDAsiqeEkd5O0R3Qp5QAA0CczB3Rm4UQH6xpHYjrO/9J5/3AumYEQAaP+E6NJe+l7GyVDlC xemb7oSaQwgD2VW9lX4M0RrpRYQUNB++MUWiCwUGScshQqpPy+HtQCW8MUZGSoRGnjcAFhL6mov d8LCY6qgjyGA/JkH0sR0Xkgu3/IXGBJEscCzeoQLxDC9f3YRlmEZPW2ZWUwu/uPue2nJhT3hs2D Le/pZTELgo2gIOym3/TD6x/vfAuPlJNSIn0D5QpaPQG/gw9mRrUrKqY4x1pKILCjsWewjJkXJzY I1pP6t2hFkTAAdFOMTQ== X-Proofpoint-ORIG-GUID: TeVJ8up4WScEfbmpxz4Aw2slhc1B8cFb X-Authority-Analysis: v=2.4 cv=C/XkCAP+ c=1 sm=1 tr=0 ts=6965451e cx=c_pps a=MTSHoo12Qbhz2p7MsH1ifg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=gEfo2CItAAAA:8 a=COk6AnOGAAAA:8 a=EUspDBNiAAAA:8 a=b8-5IbU7OP05I74H5fIA:9 a=GvdueXVYPmCkWapjIL-Q:22 a=sptkURWiP4Gy88Gu7hUp:22 a=TjNXssC_j7lpFel5tvFf: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-12_05,2026-01-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 malwarescore=0 spamscore=0 suspectscore=0 bulkscore=0 adultscore=0 lowpriorityscore=0 priorityscore=1501 phishscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601120157 Content-Type: text/plain; charset="utf-8" Add DT bindings for the QUP GENI SPI controller on sa8255p platform. SA8255p platform abstracts resources such as clocks, interconnect and GPIO pins configuration in Firmware. SCMI power and perf protocols are utilized to request resource configurations. SA8255p platform does not require the Serial Engine (SE) common properties as the SE firmware is loaded and managed by the TrustZone (TZ) secure environment. Co-developed-by: Nikunj Kela Signed-off-by: Nikunj Kela Signed-off-by: Praveen Talari Reviewed-by: Krzysztof Kozlowski --- .../bindings/spi/qcom,sa8255p-geni-spi.yaml | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 Documentation/devicetree/bindings/spi/qcom,sa8255p-geni= -spi.yaml diff --git a/Documentation/devicetree/bindings/spi/qcom,sa8255p-geni-spi.ya= ml b/Documentation/devicetree/bindings/spi/qcom,sa8255p-geni-spi.yaml new file mode 100644 index 000000000000..8c6825b8ddb4 --- /dev/null +++ b/Documentation/devicetree/bindings/spi/qcom,sa8255p-geni-spi.yaml @@ -0,0 +1,63 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/spi/qcom,sa8255p-geni-spi.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: GENI based Qualcomm Universal Peripheral (QUP) Serial Peripheral In= terface (SPI) + +maintainers: + - Praveen Talari + +properties: + compatible: + const: qcom,sa8255p-geni-spi + + reg: + maxItems: 1 + + dmas: + maxItems: 2 + + dma-names: + items: + - const: tx + - const: rx + + interrupts: + maxItems: 1 + + power-domains: + maxItems: 2 + + power-domain-names: + items: + - const: power + - const: perf + +required: + - compatible + - reg + - interrupts + - power-domains + - power-domain-names + +allOf: + - $ref: /schemas/spi/spi-controller.yaml# + +unevaluatedProperties: false + +examples: + - | + #include + #include + + spi@888000 { + compatible =3D "qcom,sa8255p-geni-spi"; + reg =3D <0x888000 0x4000>; + interrupts =3D ; + dmas =3D <&gpi_dma0 0 0 QCOM_GPI_SPI>, + <&gpi_dma0 1 0 QCOM_GPI_SPI>; + power-domains =3D <&scmi0_pd 0>, <&scmi0_dvfs 0>; + power-domain-names =3D "power", "perf"; + }; --=20 2.34.1 From nobody Mon Feb 9 06:26:51 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 2549D3128A9 for ; Mon, 12 Jan 2026 19:01:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768244523; cv=none; b=t0iE8lzQc7dqQV/Zl8AsJgm/pu6U4kTerhowGB9zdAbWFj6sglIhcebegNspK9h57cR9HVePQ+KMl1KMC6jnmytq0uFQkiNwcXeP3w8fC1aGBSN50HhCI7U9lWwhw9ER4m+o8HkAI1jX6i6GHK0R5OmV7gAzloldJfmllA2FBxo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768244523; c=relaxed/simple; bh=pfeLOwuV5tNEGHquY+BElAmY8n4IFgbScPUapFuaNyg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Xvy6SE6yZ3N4fky9bvnW7CAExBdpavqA/JU3FIOghgkKKQDhx0JHXaQBFGrGXO/DXvDjy6v/nNhMXE9HHDgjrsQg+AKI4i1qm1LktaXODgXOHkRQ4EB3de2b1fi3YTWcOXnXhvsfzc7a6+Kt/5tiz7Zu2QQ67iHYV+zrlEdCBYw= 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=j8xAR0Kn; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=gghVYMfC; arc=none smtp.client-ip=205.220.168.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="j8xAR0Kn"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="gghVYMfC" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60CHfGec3684989 for ; Mon, 12 Jan 2026 19:01:56 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=uPDjxnyIvH6 EuQa8qYzLtg8+o6G0UI+SqbdnqVH1a/A=; b=j8xAR0KnlQbuR+kAFXJJdgxvQLO 3xF97ZVby5/Ki1VwyrZHjp/WnNNShU43ykYNqQJ233v9LzzoF8spllzL3PAJYHfX Wn9W84LmWOJYM8LyDW84AlsUUyTg3RKmicxzmI0k6nLGHkN0F8vE0OG2a5z97twT DsQpUmxMpnfu08WD2SyNln/jr9Y6hnu1YatpWzb7Qp6tftGTIpFtR63Kbz6Jow+k a04UA+cvGXKyJLl8GDODLS5kjn8KbW3JlldRpUGVOHSd4XMCLKta4nMZt+JbYc5u i5MP4W2MaZ3vIvz80690mlxsOodqpXQ/Y7ik4HNs0LlOhQRpEBkZzCJxyLA== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bn52f0bkr-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 12 Jan 2026 19:01:56 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2a0fe4ade9eso63108755ad.0 for ; Mon, 12 Jan 2026 11:01:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1768244516; x=1768849316; 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=uPDjxnyIvH6EuQa8qYzLtg8+o6G0UI+SqbdnqVH1a/A=; b=gghVYMfCDqQPRz69+S7Gx24q9WkkfyFowlpccMKo8Ctn/uC2OLfiP9dC6jklj62rsL oBB7hdNlkpWg/8RoMhrP8n3UifK6LludSJQac9KjprMvuWRn0oLEuguADAyn75qneKwz S/J7M8jrCna8MULs2dzixHZkGFIibqQwU6dx1dN+O73AQrvZCMZmVESUUDyVvMvO0WE1 YSON6WCK/LBqmPst9yqS1Xc4FVTP6TkgOqENRHw74YMguSsF3R6CW2neuyyD7R5LbXjS lCN2rpBaVdSRaXM2u+DZJCk0t0b5zyqwJaM49qEmprtb8SHKCkUUBucMLAe9t+qTpcq1 CGCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768244516; x=1768849316; 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=uPDjxnyIvH6EuQa8qYzLtg8+o6G0UI+SqbdnqVH1a/A=; b=vjmYI/SBIu2PcqjD2+B05dOawMuLxLmz3IlxbatlpirsS4czItiBH6kH8Mu17/7SLl iHgu2wszL09uO13Uk4SVDz7iPKPCUGRk45g6YsA/bBsjE+AktY7VhAFSMUV0oUUFglQS Eh4oJ2pvnU0T3b+DKlqE1M2POmOxeiNItxTQ2g4hfwxNcIawfU6WyPpLNqu77ZSGEqHX eSXzNghOUvLKucFNuygioI5kwy7Y/pjshhDstGEeA/9+FAuDhsRGZHU0it4vXnrgQH17 fIO6Fn42HAfJCUAwgUS+WyV2AjTccM+tH6BsCqwu5BhLblika0Bd+zBmWAWncgcKt8D9 swPA== X-Forwarded-Encrypted: i=1; AJvYcCX2T1jk0sz7dBYbyKjcfsTVWD1KnQE178v8RicEk/1pYoT/+V7UzS1wfvWKlEmnH34qdp4Lt/m3au6husQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yw6PgrYIWV9HZA+f5tIEJZeyKiOGeaxGoZ2NymThcIqxk89R3BK ZWe1G9CMpKasvsE2VNjGJnm4xeamFzzO85RJSgM3lpD5OGN1zEl6Mya01X9/v+v/kZb1M+5jT1u 70QN7OzTmpFBd/ZFyqvVaKMQmcJRfIHrdCE7vnyS33Jjouse1CUbAGPV2gC6kx69PkPQ= X-Gm-Gg: AY/fxX4BLlX4nqWSggoKQUepltdbbw+s9rsgv61OqtzqMTmYTazI6soyhK9+Xukj4bF eQLknXR3SkoT4JY4MBkintgtRnMG8+vvIDcMTuWGnQJnz8d+vMVmIkhCsLBkmalO0ZC2ixfZfmC 1n/Cv+G89hvTqlhBBiZX1Pve5WL8RdKBBeqdpbq3PBY+NgCohKWfzFMbrqzHnl3u03Qm2bdxEIP wcdOskfPyvqGhiEra4Wsdjuk0c84RKC8vAMhqBcf3r2xecz3f6akGnCuoBgGdkupWollzOkbeaS wDzyBxGiPX791+Mh24kLZ/kPCyq+c+JBHzaf1pDlEKweH+KguockpEJD4wI0fMJHxyGc71zWC+L oz0+9yWCqgUkkftKwN0ZUUYYuUQTEDHWg99CxDxtpB4o= X-Received: by 2002:a17:903:37c3:b0:29f:2734:6ffb with SMTP id d9443c01a7336-2a3ee434de2mr165519515ad.22.1768244515347; Mon, 12 Jan 2026 11:01:55 -0800 (PST) X-Google-Smtp-Source: AGHT+IGwEXg2WbEK0kcjSo9QlXVzcQp789a1loIB7VqV7j6g3wpJFM++BTLFba+1EthzjPpfOZoS3Q== X-Received: by 2002:a17:903:37c3:b0:29f:2734:6ffb with SMTP id d9443c01a7336-2a3ee434de2mr165519135ad.22.1768244514744; Mon, 12 Jan 2026 11:01:54 -0800 (PST) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a3e3cc8888sm180120595ad.76.2026.01.12.11.01.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jan 2026 11:01:54 -0800 (PST) From: Praveen Talari To: Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Praveen Talari , linux-arm-msm@vger.kernel.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, bryan.odonoghue@linaro.org, dmitry.baryshkov@oss.qualcomm.com, andersson@kernel.org, bjorn.andersson@oss.qualcomm.com Cc: prasad.sodagudi@oss.qualcomm.com, mukesh.savaliya@oss.qualcomm.com, quic_vtanuku@quicinc.com, aniket.randive@oss.qualcomm.com, chandana.chiluveru@oss.qualcomm.com, Praveen Talari Subject: [PATCH v1 2/4] spi: qcom-geni: Use geni_se_resources_init() for resource initialization Date: Tue, 13 Jan 2026 00:31:32 +0530 Message-Id: <20260112190134.1526646-3-praveen.talari@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260112190134.1526646-1-praveen.talari@oss.qualcomm.com> References: <20260112190134.1526646-1-praveen.talari@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: AW1haW4tMjYwMTEyMDE1NyBTYWx0ZWRfX18ukjPlLyaxy eKz7pdbJEKOP0B2p7+kgyeuSfGHVJkYaG55rr0yBxf4b1PIYc2cUikq0Hi0E/GM7EYHl6Ndjqe2 StZmasa3uTO0GbjECUb/I6GdDbHSAjLqY6/qFqh+sOzQOOSnzzkWVlNE77DTZAYgtpVhmqcTGb2 rKctARt6xeQm5MWqfbk8TgT3bRN9Ua9z3zlc5TNkbZVIQvWVK0jAnRPExLKw5YodlXTDf9PSq+f WBqrAS+UVYt8M0BfI47I0pt06OXxwCPlxhrj9PgPp8lMOemkB/yAo3HkPzgITzfmkxp+W5tJS17 Xp9Pv1oC2d5ujvnWESPOSLx2mJMyJV/0p2wNN0YARZ5nhjTjyGlWycLHBCroE1/PlIKBC6hpHpV SaQBkBXW9SjgW8XNi34pW2frhfZGFsDxMuYOiIdnWQ9OJQEDaAfPUt1B5gj6hm8/KFAvHJO2h38 GwsMo5+/WidmISq2vNA== X-Authority-Analysis: v=2.4 cv=TcCbdBQh c=1 sm=1 tr=0 ts=69654524 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=COk6AnOGAAAA:8 a=TXo2QnZ9t29hVJcr6pMA:9 a=uG9DUKGECoFWVXl0Dc02:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-GUID: q12V2I2K3LOtVUXhXNXOVMmoqA8IhfZu X-Proofpoint-ORIG-GUID: q12V2I2K3LOtVUXhXNXOVMmoqA8IhfZu 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-12_05,2026-01-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 impostorscore=0 adultscore=0 bulkscore=0 suspectscore=0 lowpriorityscore=0 phishscore=0 spamscore=0 clxscore=1015 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601120157 Content-Type: text/plain; charset="utf-8" From: Praveen Talari Replace resources initialization such as clocks, ICC path and OPP with the common geni_se_resources_init() function to avoid code duplication across all drivers. The geni_se_resources_init() function handles all these resources internally, reducing code duplication and ensuring consistent resource management across GENI SE drivers. Signed-off-by: Praveen Talari --- drivers/spi/spi-geni-qcom.c | 26 +------------------------- 1 file changed, 1 insertion(+), 25 deletions(-) diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c index 5cca356cb673..7d047ae9c874 100644 --- a/drivers/spi/spi-geni-qcom.c +++ b/drivers/spi/spi-geni-qcom.c @@ -1014,7 +1014,6 @@ static int spi_geni_probe(struct platform_device *pde= v) struct spi_controller *spi; struct spi_geni_master *mas; void __iomem *base; - struct clk *clk; struct device *dev =3D &pdev->dev; =20 irq =3D platform_get_irq(pdev, 0); @@ -1029,10 +1028,6 @@ static int spi_geni_probe(struct platform_device *pd= ev) if (IS_ERR(base)) return PTR_ERR(base); =20 - clk =3D devm_clk_get(dev, "se"); - if (IS_ERR(clk)) - return PTR_ERR(clk); - spi =3D devm_spi_alloc_host(dev, sizeof(*mas)); if (!spi) return -ENOMEM; @@ -1044,17 +1039,10 @@ static int spi_geni_probe(struct platform_device *p= dev) mas->se.dev =3D dev; mas->se.wrapper =3D dev_get_drvdata(dev->parent); mas->se.base =3D base; - mas->se.clk =3D clk; =20 - ret =3D devm_pm_opp_set_clkname(&pdev->dev, "se"); + ret =3D geni_se_resources_init(&mas->se); if (ret) return ret; - /* OPP table is optional */ - ret =3D devm_pm_opp_of_add_table(&pdev->dev); - if (ret && ret !=3D -ENODEV) { - dev_err(&pdev->dev, "invalid OPP table in device tree\n"); - return ret; - } =20 spi->bus_num =3D -1; spi->dev.of_node =3D dev->of_node; @@ -1078,10 +1066,6 @@ static int spi_geni_probe(struct platform_device *pd= ev) init_completion(&mas->rx_reset_done); spin_lock_init(&mas->lock); =20 - ret =3D geni_icc_get(&mas->se, NULL); - if (ret) - return ret; - pm_runtime_use_autosuspend(&pdev->dev); pm_runtime_set_autosuspend_delay(&pdev->dev, 250); ret =3D devm_pm_runtime_enable(dev); @@ -1091,14 +1075,6 @@ static int spi_geni_probe(struct platform_device *pd= ev) if (device_property_read_bool(&pdev->dev, "spi-slave")) spi->target =3D true; =20 - /* Set the bus quota to a reasonable value for register access */ - mas->se.icc_paths[GENI_TO_CORE].avg_bw =3D Bps_to_icc(CORE_2X_50_MHZ); - mas->se.icc_paths[CPU_TO_GENI].avg_bw =3D GENI_DEFAULT_BW; - - ret =3D geni_icc_set_bw(&mas->se); - if (ret) - return ret; - ret =3D spi_geni_init(mas); if (ret) return ret; --=20 2.34.1 From nobody Mon Feb 9 06:26:51 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 B54863101C2 for ; Mon, 12 Jan 2026 19:02:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768244524; cv=none; b=nNPqKr/B/SvF/aGcA0ZbastiFoKd6OhDTWokhntUrb+SbmqKAQMOYg8ZoKqIky+eXVV79fH+XoGhDS8gbXGDjQ6SvdIyNim3cqaEK8jQvoey/87Nsn1YWrT6431ZCvKXfP1ZDHVS4+wzaaR1sJijSOg6FR51RqYOseWmAjKUnXM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768244524; c=relaxed/simple; bh=kDa5gdzwglMPiLY8p2wwH3rr+hVw3k9xuDm+4u6eoVQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=PaWIT+eYhPMsPQocreigBMvi8tfcwSNmpUWDok5mxRGY3yygupYYSZ7mQ4WPdkOKhmIdVPBn5NyONTiadR6E85RKk6ywNRwhNoo54iJlI6E4u5RxsmLv7V5r4GWlH94M3ml5EAPvW8PjG3EcfLeLIyD52x/oM/AVtnSA1aa5yoY= 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=DfV5KPmf; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=KEJBYiBe; arc=none smtp.client-ip=205.220.168.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="DfV5KPmf"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="KEJBYiBe" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60CHfcKc1826523 for ; Mon, 12 Jan 2026 19:02:02 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=aLVUs8RtcG5 zJUJL3atY+JbM0XEXRgp9E94lpJuF/R4=; b=DfV5KPmfYMqyiT8AZkrd2e8mmfZ gpuj6DlXIft3Y8IAXZpIz0lIDGxuEmJrahmGSioAlCp5A46qQFvV5rvkmzs9anpc kMfkx/UClDR4Tg8YBs/YICyCWme+B05zBKjTjTvJWnjBqIjUru7mSP6jxsETTMZ0 1TR1fimLsq3uBeLcXI41sgG+FbUVh+PMgd7furSa8U9/hbllU0U8Z3JCIaUlyvhk XsAvRnehecoOw5AkVucZb3NTz9ymt66GKUtmMQHU7LXtsYcrJT9adXREJp///96o GsKqfkYG+rTLNnxDCbU3gvn0J65UCpn3oA9CtUUbkGhCQscblktYCgOTgzA== Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bmwur9w5a-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 12 Jan 2026 19:02:02 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2a089575ab3so71821155ad.0 for ; Mon, 12 Jan 2026 11:02:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1768244521; x=1768849321; 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=aLVUs8RtcG5zJUJL3atY+JbM0XEXRgp9E94lpJuF/R4=; b=KEJBYiBeSpm6QcRNHrEqG7qxgW74YSTB4/aACtv+LeYLsM8pCWDOoo/llU0s6lqewC wxPZtFXSmbANQRqgQtQarfVgtyz1oKq67Ry9iFw/fgWP1i0L8ff0RScbZLESDiCb1b+W 8AkEJNFQDyz6/N5hc7SKtixvCoziFODYYgij+KWWyKfsLLdNsMEFPR7pXwuJtpgIOPat U4Bl0QmH+NYTqjoiX1isOjQvN8+g6sNrKxw5FXCUMZEXkAwtf1i/pw2zKe8+zJ3EuoKl iLbv/x1lqtePUQTfQexuZbCLn19E5MzIlUFntJypUPd3XYQyCRoANXlvGVfHAbcLxQ0W Zgdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768244521; x=1768849321; 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=aLVUs8RtcG5zJUJL3atY+JbM0XEXRgp9E94lpJuF/R4=; b=BhNRGwPOQhy6xYrXJW7ApEy7aO5rI9/5LwM8NxOkTfnfZnb6JHkhGwMEQqmIzqG0s5 8O3jVRlXHw4zQfFDUcsS7J4ud4gC/+4lVteqWDpXVdCcx94vmnftygyZD9KBM3DQG6Lg GezoFEwMe/OFhLF692cuYwuSp+JwgEZONvBkrOVK5/BErxtPh0lRRKFxuAsW08+6+lw6 GdiMxql/AtVK5zwpv7DyvJNJS5HqaVgWwNdjUMUmga6VIkevOF4tGUvGCOHKopc6MXX9 tmGAgFnAdTZdMUj2nnQPMDD7yUKCLOCLXSqCtbGRuCy/zTFg2IIIq2qoHpZhRFkfjuLx IcDw== X-Forwarded-Encrypted: i=1; AJvYcCX+SrKM+unr59WJAcp8CMnGqn3y+X8dpGxwR7EBVeuGCboBH79/Tv2EC2TMxKoiREvSPbIC9K466qyYYB0=@vger.kernel.org X-Gm-Message-State: AOJu0YxkybYiLsZ+Q2+NRa9AA7HPE4yXn1joK+Tdg71kzrWBT3hlKD51 Kvdl9tjDzQNFAw9aWuKsIzwIM4U9ZbC+iXhEWZ1Vtw8LgqO2jW2JSKJt5WbficHCvDniYGfnN0O TWfU7UdHngTqlIurFBKKeyNSyQqmlPNAzULPoKGcISoUzi/73T4uynBQU6xh+lD1mDPk= X-Gm-Gg: AY/fxX4/bHZS/5J47DbPYfkNLqYVwTQ6Snv+8idxy+hJCeV6GQ29S5imvaWQTInyzRQ tHCkm8LbpE+XcRM+0SyzaSBCCE6OEm+Peu0yLHB0OKqnIQmHX+Z1f+6m9E3Iqyj6U7CLmTBT5ry 46RKjSLDiIfFgArVVp3SpT9iTtAPvGpW5EiokTCYvqphX7Gg3cY0VASMIxIWIyuYETKuBfPpE+e ezVSbdhE7LNC3pzeNgr74LjHUhPP+hytalU5VrklShpAbw+rliNYTSnBY4iGwwUcNxYkPU3fhNK 5/b4QOycYSIUKtvM8BRKOooDqSwVP47tSesf+vAs1fIKxJ+a9ZJVLpTgt8HJtwjFAeCU9pQC0Vs Dm94VgZOP/E2/A9BGygdpdugWfmqScZUu4eKq0FKejJM= X-Received: by 2002:a17:903:2f89:b0:2a0:89b8:4686 with SMTP id d9443c01a7336-2a3ee4c0e8cmr158030625ad.46.1768244521308; Mon, 12 Jan 2026 11:02:01 -0800 (PST) X-Google-Smtp-Source: AGHT+IEf6hADt7tppLQS5Q1tjaUNG9MMWiX1tIFBn8NgzXU6c4qcr/XwpH5W5RUFOvj6GRH0/C6sKQ== X-Received: by 2002:a17:903:2f89:b0:2a0:89b8:4686 with SMTP id d9443c01a7336-2a3ee4c0e8cmr158030075ad.46.1768244520655; Mon, 12 Jan 2026 11:02:00 -0800 (PST) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a3e3cc8888sm180120595ad.76.2026.01.12.11.01.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jan 2026 11:02:00 -0800 (PST) From: Praveen Talari To: Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Praveen Talari , linux-arm-msm@vger.kernel.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, bryan.odonoghue@linaro.org, dmitry.baryshkov@oss.qualcomm.com, andersson@kernel.org, bjorn.andersson@oss.qualcomm.com Cc: prasad.sodagudi@oss.qualcomm.com, mukesh.savaliya@oss.qualcomm.com, quic_vtanuku@quicinc.com, aniket.randive@oss.qualcomm.com, chandana.chiluveru@oss.qualcomm.com Subject: [PATCH v1 3/4] spi: qcom-geni: Use resources helper APIs in runtime PM functions Date: Tue, 13 Jan 2026 00:31:33 +0530 Message-Id: <20260112190134.1526646-4-praveen.talari@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260112190134.1526646-1-praveen.talari@oss.qualcomm.com> References: <20260112190134.1526646-1-praveen.talari@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: AW1haW4tMjYwMTEyMDE1NyBTYWx0ZWRfX7dMid9kuap4z jVeMsHBSpCn88dJPC1Evm6swdC5LlEFFi2amTBoH4WPPEITqLf64tbi4x3p7a2P1eGhJSF52/2/ 0MD+CYWiYvyLCXeDPNc13vWGRgD64VnvWJUEmO2PllvyE+I2pN0POIq6Y826XKJ4spXn5HWkr0x emsyJEM9gh4GNZhlixXnX0voD5eLY/YAYhJeh9vxxr6qeGaLGOHxxJ4s1NUyss/ucpTaCfL7JTv I1vpm7Jif1z4VFtPN82haEo5njRtIgcqBpmVf03sXP4DO6pMzbPQkIAn+aBYAyAHIGc/nApIQ6Q JNkPfcoppMEyPZD4hRUkQdo5EZSVfzmlhor+D7Y/lX55ulmj5F5f3SRH0Fa6lHbyAXoDUERWTcE Ckmuvt7vzdU9e40VClWa63tWxapsxz5icGdt+NFumwCVrS453NSRV6Gf0/qURlV2ANOTydlzn0V k1O7+3CB78KCBvYxzJQ== X-Authority-Analysis: v=2.4 cv=HrJ72kTS c=1 sm=1 tr=0 ts=6965452a cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=i7xoKaWEWnc8ZE6DH4sA:9 a=324X-CrmTo6CU4MGRt3R:22 X-Proofpoint-GUID: pZoL2nxsqzOnUhgLbDDe2Qg2vp8p261x X-Proofpoint-ORIG-GUID: pZoL2nxsqzOnUhgLbDDe2Qg2vp8p261x 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-12_05,2026-01-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 priorityscore=1501 malwarescore=0 bulkscore=0 adultscore=0 clxscore=1015 impostorscore=0 spamscore=0 suspectscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601120157 Content-Type: text/plain; charset="utf-8" To manage GENI serial engine resources during runtime power management, drivers currently need to call functions for ICC, clock, and SE resource operations in both suspend and resume paths, resulting in code duplication across drivers. The new geni_se_resources_activate() and geni_se_resources_deactivate() helper APIs addresses this issue by providing a streamlined method to enable or disable all resources based, thereby eliminating redundancy across drivers. Signed-off-by: Praveen Talari --- drivers/spi/spi-geni-qcom.c | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c index 7d047ae9c874..bf2b3d88693c 100644 --- a/drivers/spi/spi-geni-qcom.c +++ b/drivers/spi/spi-geni-qcom.c @@ -1096,33 +1096,16 @@ static int __maybe_unused spi_geni_runtime_suspend(= struct device *dev) { struct spi_controller *spi =3D dev_get_drvdata(dev); struct spi_geni_master *mas =3D spi_controller_get_devdata(spi); - int ret; - - /* Drop the performance state vote */ - dev_pm_opp_set_rate(dev, 0); - - ret =3D geni_se_resources_off(&mas->se); - if (ret) - return ret; =20 - return geni_icc_disable(&mas->se); + return geni_se_resources_deactivate(&mas->se); } =20 static int __maybe_unused spi_geni_runtime_resume(struct device *dev) { struct spi_controller *spi =3D dev_get_drvdata(dev); struct spi_geni_master *mas =3D spi_controller_get_devdata(spi); - int ret; - - ret =3D geni_icc_enable(&mas->se); - if (ret) - return ret; - - ret =3D geni_se_resources_on(&mas->se); - if (ret) - return ret; =20 - return dev_pm_opp_set_rate(mas->dev, mas->cur_sclk_hz); + return geni_se_resources_activate(&mas->se); } =20 static int __maybe_unused spi_geni_suspend(struct device *dev) --=20 2.34.1 From nobody Mon Feb 9 06:26:51 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 97D8130E825 for ; Mon, 12 Jan 2026 19:02:09 +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=1768244533; cv=none; b=beYh/IukMLl7yE9dU3T7bqmluBo8pAE4WK+5sN5v2kUJ6eknUuhMss9cahxpkTTNxkKaOepSw8UgIlu2HZFOHySG7jhNf+7ecaGY8mdjwed+UtVrD43cflBdjXdOzj1MSjPLAi8ekkDe6EqHPsNxhnQp+Yn39rZZQrsqSYpqwvc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768244533; c=relaxed/simple; bh=HpbGoIkogcwd0iG8wVIE+MiE0a9C6PkDaVHj1ewp1zI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Nnmz5BZ5EcJXlwLrAub0FNAI5yNkco+hdBctG3JaqVcgMq08vjcbM7gYRhaRvvLz5SZerqMfzFPUA0FQZ3S89JT8umvyCZSgZykfReiOntkXV//9Q4OPjzkm6iQV7TKv+Nn6NGDmHj8is77AR+nxwZqQ31I68Vm613oLSoBWfaU= 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=PhE4Sh/D; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ASt8PtGy; 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="PhE4Sh/D"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ASt8PtGy" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60CHfBwl1376561 for ; Mon, 12 Jan 2026 19:02:08 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=yGZZacre1U/ suA2bX1Vl5nmbutXoroFn5RuNDNr3mUY=; b=PhE4Sh/D/411rYJvRxIAcdqYT5N QTqFdmbhldjmWjaeJ/PYrAq2TeSZNRoH+z1btWAoHFA+dVunYeJXCRPy4yrSrac8 b3JV4q6BO2CKjlVAeKsmwSPXgnlTFJAVjup5XDtiJpOtZkKKARi8Ugip2ym4dmiD MzLbTzcHFcAs9KM9a2VppDVQC1Kc4yYJhFmvf7t91KVz3gQ4Idov/Y36+MdEu4WZ bf6rBSnMAba77YJI29NYqi4Jothca/4rAFAFABlVdRrG6kV0iYxLETvsniAZ/MxF cUW70Dx+JKdIReQ+DPiaxpCqo3xlntmE2yfhK3bKRjQFnyYFULttqC+JhZQ== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bmxdvsrbm-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 12 Jan 2026 19:02:08 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2a377e15716so145318595ad.3 for ; Mon, 12 Jan 2026 11:02:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1768244527; x=1768849327; 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=yGZZacre1U/suA2bX1Vl5nmbutXoroFn5RuNDNr3mUY=; b=ASt8PtGyWZp1d9gAn1+iqbdodNGYztKsOg35AArZaorpwudsPrH/Z5F8zmKTsslYt3 PVrRTMxVc5FCzg3gU2U/NR34qaKsLAT2RZYYSBbcByUTrigmWKGToJHZjTySna8yGkXa 3AXtM9fskMH3NBtY7t+oZpP5y/Rx4F1C+OwKAEB1qxnwsNGp3CZb5peiSCeVe2tJHgpZ iGXyyvy1D8wHv954PElwIKgIBoXsIUD5MWwfLRks7jB/hKs4HY1F94ORn5h0uE3zuDpz emxBqiE4u7eQ4NByE2ppusjPV6aZtG3exLRboTLa8DZe1X0XALNt5bbE0FqUs3qqIWcb VCqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768244527; x=1768849327; 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=yGZZacre1U/suA2bX1Vl5nmbutXoroFn5RuNDNr3mUY=; b=mnRcHulQglPKnJEDnSn2XEalAAav8uU2+trjqylRFWuf/r9BZmQ4UNLKHl7e0tNz1y pN2LreQSbeauyurpG1XPG1synTXlqLQYQd46+pFieg5Ppul3O+4MZxvhtDOaXzl3A+lx w5PJhnA8kuF+p0eN4mqmxO2uUaracMr2AttWDyFuBKyNCNKniPeXrmP5rpKT/OW55Q/J qprZQmUYoHD551H4p1NQG4fld3iYdFw6qgPaz/S17yyp8PmbhKk67ogM1Qt1lm+pa/7m /BGvH/z1WiNDuy/gb/f2Vhnqrqf8py2e5hJpkzRD9lc6iyqjcFTQS9iPF+Z2j9VRlmYA ozow== X-Forwarded-Encrypted: i=1; AJvYcCWcsjOpvyvwSl8VbKx0+6oFotPP90j1JaCMfPwPJrXpQ55OQ4R1bLjwP/fRwNVxXW21Qh+M0BLRzfNkY68=@vger.kernel.org X-Gm-Message-State: AOJu0YwIZbEn8lwIDl3911zwMytNhn8t20TCY3U0HTIYzP0Pz8zveGgG kMfYMBSOf1l5PXyqrj6XM3nja0TtEZlYKgRLECC2PnJ9BJWcG6nlyX9YHL6VIpRqu99W+iZIc5z t6DyXyDnJUoUYT/Gl6LCSlHLeVOJxAoud4lMhWUAlYLn7YFDZGALRbqj41wW2LD0gokU= X-Gm-Gg: AY/fxX7XC1fu3KePc408BicGdRS4FKf15WdnKTr7Q7+7YhWOgJh6aG3Ue7Mh52j8Iss F1v86TQLwntdEUP8Hw5czVVyDkskx3AWOLfVyvAo8TdVaGOMF0rNYlKuO80Kw0FqMnVG2X7NjFF i9A4b3IhcdgTqWu1Vp5TndWHs/EJxDIHTWR13PFDH8inU31qYU4GUIWgI41XxdH2DywX4ldMZmi musAlXvqfv+AEsiXQQZXZTL9y3KBqqSHCpHwN1AaNG8lQ/DXaQMxE9a1nJ6PzIIpQvNGE/f+BDl mTI3n4UXDFWQYFLOVnQ+5JP7VgitlkgiySJk6Q7rp/+xd1Mr6epzzyGwsz8jhCyO3S/KLHiJ3AU /jf73qcPpcI2hnfum7iTZP5cI/wZLHKm+JnzGBRStqho= X-Received: by 2002:a17:903:1212:b0:2a0:d7f6:e030 with SMTP id d9443c01a7336-2a3ee491f16mr180468705ad.29.1768244527199; Mon, 12 Jan 2026 11:02:07 -0800 (PST) X-Google-Smtp-Source: AGHT+IGmiDNFtkSX+gdc8APgOAohwdzPlMrNsXNHoZaQFIeeIjQE6AU64CBhIdfiGbE6LeXLymnlCw== X-Received: by 2002:a17:903:1212:b0:2a0:d7f6:e030 with SMTP id d9443c01a7336-2a3ee491f16mr180468295ad.29.1768244526553; Mon, 12 Jan 2026 11:02:06 -0800 (PST) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a3e3cc8888sm180120595ad.76.2026.01.12.11.02.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jan 2026 11:02:06 -0800 (PST) From: Praveen Talari To: Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Praveen Talari , linux-arm-msm@vger.kernel.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, bryan.odonoghue@linaro.org, dmitry.baryshkov@oss.qualcomm.com, andersson@kernel.org, bjorn.andersson@oss.qualcomm.com Cc: prasad.sodagudi@oss.qualcomm.com, mukesh.savaliya@oss.qualcomm.com, quic_vtanuku@quicinc.com, aniket.randive@oss.qualcomm.com, chandana.chiluveru@oss.qualcomm.com Subject: [PATCH v1 4/4] spi: qcom-geni: Enable SPI on SA8255p Qualcomm platforms Date: Tue, 13 Jan 2026 00:31:34 +0530 Message-Id: <20260112190134.1526646-5-praveen.talari@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260112190134.1526646-1-praveen.talari@oss.qualcomm.com> References: <20260112190134.1526646-1-praveen.talari@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-ORIG-GUID: 7MR3oOWss4CarNyx-vZeOyO6x8lHnh-q X-Proofpoint-GUID: 7MR3oOWss4CarNyx-vZeOyO6x8lHnh-q X-Authority-Analysis: v=2.4 cv=HoZ72kTS c=1 sm=1 tr=0 ts=69654530 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=pXSUDizEog3tsSCmG3cA:9 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTEyMDE1NyBTYWx0ZWRfX2EaZf4BTwRvQ 3juE2E2ZQ17bJ0IeyBjvX1w3wdP+29pULFjow5mZWKpaGXDgcBm9WIW7i2INGEMmcbGEtiSBGY8 ItDudga3P/sOFhdOJqe2hqF28OC/Iy8gckypjpDRQCCeTqj8013NujtsrGpFTaQTMtI8cmwIVLx J8UJCa/lj2btZZVgocACQ348Tf5Lq5NWOAyJD/8qwhx08lWkl1AwIEX55Tusc7+c5LFv+qehhDA Sv48n2Alfg5L4ag3bp//gS8soGRpaqSj6YHfMR54abESqoOSkbbVJWlCZpH/UAqudYOefyzFoE8 TYMsowsgJ2vrCQ1sVOB026Gwtmi8IQ37A2k3sEUzludYia3oGeotjc11rqtdURmuZ1Sgg7s+ydq FHfmxH8RiIfG/w1ThIqTwv91lKImsPYS0845LXqAQh+1KlcB92UMS1BmvVxWQxYlXXg6ULOpAc2 ocoFZfNmK/qOje9PYjg== 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-12_05,2026-01-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 lowpriorityscore=0 phishscore=0 suspectscore=0 clxscore=1015 bulkscore=0 malwarescore=0 spamscore=0 priorityscore=1501 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601120157 Content-Type: text/plain; charset="utf-8" The Qualcomm automotive SA8255p SoC relies on firmware to configure platform resources, including clocks, interconnects and TLMM. The driver requests resources operations over SCMI using power and performance protocols. The SCMI power protocol enables or disables resources like clocks, interconnect paths, and TLMM (GPIOs) using runtime PM framework APIs, such as resume/suspend, to control power states(on/off). The SCMI performance protocol manages SPI frequency, with each frequency rate represented by a performance level. The driver uses geni_se_set_perf_opp() API to request the desired frequency rate. As part of geni_se_set_perf_opp(), the OPP for the requested frequency is obtained using dev_pm_opp_find_freq_floor() and the performance level is set using dev_pm_opp_set_opp(). Signed-off-by: Praveen Talari --- drivers/spi/spi-geni-qcom.c | 42 ++++++++++++++++++++++++++++++------- 1 file changed, 34 insertions(+), 8 deletions(-) diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c index bf2b3d88693c..b1b41218f452 100644 --- a/drivers/spi/spi-geni-qcom.c +++ b/drivers/spi/spi-geni-qcom.c @@ -75,6 +75,13 @@ #define GSI_CPHA BIT(4) #define GSI_CPOL BIT(5) =20 +struct geni_spi_desc { + int (*resources_init)(struct geni_se *se); + int (*set_rate)(struct geni_se *se, unsigned long clk_freq); + int (*power_on)(struct geni_se *se); + int (*power_off)(struct geni_se *se); +}; + struct spi_geni_master { struct geni_se se; struct device *dev; @@ -102,6 +109,7 @@ struct spi_geni_master { struct dma_chan *tx; struct dma_chan *rx; int cur_xfer_mode; + const struct geni_spi_desc *dev_data; }; =20 static void spi_slv_setup(struct spi_geni_master *mas) @@ -307,11 +315,12 @@ static void spi_setup_word_len(struct spi_geni_master= *mas, u16 mode, writel(word_len, se->base + SE_SPI_WORD_LEN); } =20 -static int geni_spi_set_clock_and_bw(struct spi_geni_master *mas, - unsigned long clk_hz) +static int geni_spi_set_clock_and_bw(struct geni_se *se, + unsigned long clk_hz) { + struct spi_controller *spi =3D dev_get_drvdata(se->dev); + struct spi_geni_master *mas =3D spi_controller_get_devdata(spi); u32 clk_sel, m_clk_cfg, idx, div; - struct geni_se *se =3D &mas->se; int ret; =20 if (clk_hz =3D=3D mas->cur_speed_hz) @@ -816,7 +825,7 @@ static int setup_se_xfer(struct spi_transfer *xfer, } =20 /* Speed and bits per word can be overridden per transfer */ - ret =3D geni_spi_set_clock_and_bw(mas, xfer->speed_hz); + ret =3D mas->dev_data->set_rate(&mas->se, xfer->speed_hz); if (ret) return ret; =20 @@ -1040,7 +1049,9 @@ static int spi_geni_probe(struct platform_device *pde= v) mas->se.wrapper =3D dev_get_drvdata(dev->parent); mas->se.base =3D base; =20 - ret =3D geni_se_resources_init(&mas->se); + mas->dev_data =3D device_get_match_data(&pdev->dev); + + ret =3D mas->dev_data->resources_init(&mas->se); if (ret) return ret; =20 @@ -1097,7 +1108,8 @@ static int __maybe_unused spi_geni_runtime_suspend(st= ruct device *dev) struct spi_controller *spi =3D dev_get_drvdata(dev); struct spi_geni_master *mas =3D spi_controller_get_devdata(spi); =20 - return geni_se_resources_deactivate(&mas->se); + return mas->dev_data->power_off ? + mas->dev_data->power_off(&mas->se) : 0; } =20 static int __maybe_unused spi_geni_runtime_resume(struct device *dev) @@ -1105,7 +1117,8 @@ static int __maybe_unused spi_geni_runtime_resume(str= uct device *dev) struct spi_controller *spi =3D dev_get_drvdata(dev); struct spi_geni_master *mas =3D spi_controller_get_devdata(spi); =20 - return geni_se_resources_activate(&mas->se); + return mas->dev_data->power_on ? + mas->dev_data->power_on(&mas->se) : 0; } =20 static int __maybe_unused spi_geni_suspend(struct device *dev) @@ -1146,8 +1159,21 @@ static const struct dev_pm_ops spi_geni_pm_ops =3D { SET_SYSTEM_SLEEP_PM_OPS(spi_geni_suspend, spi_geni_resume) }; =20 +static const struct geni_spi_desc geni_spi =3D { + .resources_init =3D geni_se_resources_init, + .set_rate =3D geni_spi_set_clock_and_bw, + .power_on =3D geni_se_resources_activate, + .power_off =3D geni_se_resources_deactivate, +}; + +static const struct geni_spi_desc sa8255p_geni_spi =3D { + .resources_init =3D geni_se_domain_attach, + .set_rate =3D geni_se_set_perf_opp, +}; + static const struct of_device_id spi_geni_dt_match[] =3D { - { .compatible =3D "qcom,geni-spi" }, + { .compatible =3D "qcom,geni-spi", .data =3D &geni_spi }, + { .compatible =3D "qcom,sa8255p-geni-spi", .data =3D &sa8255p_geni_spi }, {} }; MODULE_DEVICE_TABLE(of, spi_geni_dt_match); --=20 2.34.1