From nobody Mon Jun 8 08:36:46 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 512403CB2E0 for ; Sat, 30 May 2026 18:28:44 +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=1780165725; cv=none; b=i3mVUBBQZg/4nI0NSJeAdMEDup4B1piK1HRy1Zj3Vmk66OZRdx25tl/27i/jdoHWXs1eixvicoL/5fyNlu3Plv5mNTOM+lcPwmpcWUwv1r2KFulnVUkTgxAhNAkXigS6p4pcOmTeKxt6vHSH8Fjb5fJob5Bb+NU3a/A64f49/pM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780165725; c=relaxed/simple; bh=vtH/fYxHW/XKO4yiyG3ZciHyofKNFTseYo3IhGupIUo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rUFwOD/Cv3T6/qYCnebVd7GOp9KXrFUL9bNYtw63gYn7spjgwLS/Kf6MEvLP+8U8XvSCHtpfHuy6FImucTZJBkBXAea1W9akq6IwRqirWzjGgGViJnhbS/d0r3hIlZBTYfn/P393/gv4YpnfXR0TFkAUpEV2ddPf8AiCF7BzJ0w= 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=etnj3zXr; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=WdYuPS66; 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="etnj3zXr"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="WdYuPS66" 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 64UEPHWi1750544 for ; Sat, 30 May 2026 18:28:43 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= AR30QZHv+lLBWravcP8qPIk+O9IcqL2hfuXUPlb5+5Y=; b=etnj3zXr3n4WlQU/ UUIXDTOPb4JHXAtDV0Ocj7ekDGPLJlW/60mhQbXmBRIPlKcAew8mnWyaapXhqWWu GeUFToOaYXnyZmxqAyzpSJOyjM2PJnDwp884ITb47SpRLIhhq3FlSy6cSwFWlU4m tmP+tykjbbHq2JzCWLk65M00uUcJYTzoQRjXULfpHxYLXxrPbnqsbcRH0Yj95R/7 1pvWRreIoNHrla9yFjtvhNvNYz36StDkqvVCcym5WkwWi6e+Rulc1JDgtyM3+YFS o/Yn/xuon/6Fm0yBWUESqriakh/qhU4RrD3wxHE39w1mmduA44M10rzsClmyGtND blWCCQ== 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 4efr419rkd-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 30 May 2026 18:28:43 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2befec3fd8fso21974875ad.3 for ; Sat, 30 May 2026 11:28:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1780165723; x=1780770523; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=AR30QZHv+lLBWravcP8qPIk+O9IcqL2hfuXUPlb5+5Y=; b=WdYuPS66Dic53USaNNwDkdRuvQr1zN6IxBE1etWRPsvCnuPVUgXdOvcOvr92c12XuK HqSNq49wRZ5w8n2aDsJGsS8DuWSHGVGcTvxiUpYkbOmEGIrv64bkC3OpunXb7uwlrkVZ PlHhuggrQ6I4DcJXXQDrF/K/6lmQ+p5FQWKPIDhigbRumBi9+fXSZOz3mLC6aFGLaYav /758lp+V1Aof54UR2W70gUFiVf4ecmFz7TXn81PBwBUMBGfc/m0JTj57DM14uQ63Wrux unxZMSt4v5st3xWjSLHhWS3FF1vL/ObZJhNps6wLwvmDllCOlOH/qswgIGvG1K5Ltcbd uU5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780165723; x=1780770523; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=AR30QZHv+lLBWravcP8qPIk+O9IcqL2hfuXUPlb5+5Y=; b=bXijDvBvNShAVTG3Y8w/zN6E26rX9Li0KqVps0VvV2lkD008NIUDA7MIoaxIbrtIm/ aOnM01Ss/Zw3eVoWp5qMY4FPFJzEMD2pPEyHDv1VbgQkXEzEaG3sy3B7MbE5h2QTNcQ5 Y9rZYEjfUIsTd8SkxpkRibVEx7sO+B7KwfUb4+CB35s/A/bIw2cShyvriReu+2byYwaz kOq2x8p4RqbI3MoOKvnyfGC6jeJ504/iRKV9enLHnkeLgBXsQLER/yapZMQe/J5EZW8n cDP0qpE2s/W+uAf4UC/ei0Z/hd46GFMTGmqPmZ8A1GcDmZgeZf6Kb8p/+gMLP8acemX1 YHLg== X-Forwarded-Encrypted: i=1; AFNElJ/H+MVB9Kb+nmBT25522wuvVe6rXXC0zj2QYEfA9VkuVLa8u7fs/dvPxh8nFNTDPTxb5UT2tP01hKIydDw=@vger.kernel.org X-Gm-Message-State: AOJu0YzybDJH77XuWCppGrY+eDprJGCvT1G3ZH1apb4OsOMNOk4Hrx1Y bWUgnabvbP5wx2X/Xfao2ohXcEQCN/nK5Us/YCHcZaHn+VuJ+jmxVyo/EtCw8V3ozh3IbQGsUs6 mTpIUQ+DhvYsG4Ro2E/DBq5+LiU4Hu8B8iRGWWjHFxLgz/mWAf9eW528Ek52K4SbUcZwaHvC7Xg U= X-Gm-Gg: Acq92OH0FFYfI1200NihbPFoxM81fXoAaIbKZd0nb79sEsoLFX7fMyXyaH6rBPGsNuO kxm6o20TUvCZm+KoYwc1vcsnsCQttz1ylxa/9KKz7Cr7FgWzpCQqGYMlwE/d1c2jcMkScg9X+6D +2a1Ma6IGrMUIGfgnbMkNi0J3plykMGccaoK3lLrL1IDvskGScatQvukrBCpqcFV3wLAxcvIZyE TRjgsuq2tZinyV9vJ8kZJeUrxqID2lW/nm8BU8KDK9mDR6uOgXPt1vFmTD9qbz9RpbDw+x9HAP7 S0Y4YbGhzCFTOXuOM7FYNukCRdbmyS2VwHE5Fa9sNupqxYk7aLqPl16w3PvTin1G4ri+4qD0MCh 6A0IuBRshmsnl4p1GXDflIKpCkdQe/xfooRX3rEjdDNXrwA3CKP2R8zzLJszsGoLTOw== X-Received: by 2002:a17:903:1ac8:b0:2bf:276a:e0c1 with SMTP id d9443c01a7336-2bf3685d845mr57629785ad.31.1780165722911; Sat, 30 May 2026 11:28:42 -0700 (PDT) X-Received: by 2002:a17:903:1ac8:b0:2bf:276a:e0c1 with SMTP id d9443c01a7336-2bf3685d845mr57629535ad.31.1780165722356; Sat, 30 May 2026 11:28:42 -0700 (PDT) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2bf23a27ee3sm56879635ad.36.2026.05.30.11.28.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 30 May 2026 11:28:42 -0700 (PDT) From: Praveen Talari Date: Sat, 30 May 2026 23:58:23 +0530 Subject: [PATCH v2 1/4] spi: dt-bindings: describe SA8255p Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260530-enable-spi-on-sa8255p-v2-1-17574601bd63@oss.qualcomm.com> References: <20260530-enable-spi-on-sa8255p-v2-0-17574601bd63@oss.qualcomm.com> In-Reply-To: <20260530-enable-spi-on-sa8255p-v2-0-17574601bd63@oss.qualcomm.com> To: Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Praveen Talari Cc: linux-arm-msm@vger.kernel.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Nikunj Kela , Krzysztof Kozlowski X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780165714; l=2539; i=praveen.talari@oss.qualcomm.com; s=20251114; h=from:subject:message-id; bh=vtH/fYxHW/XKO4yiyG3ZciHyofKNFTseYo3IhGupIUo=; b=e/GTEleHAJLjyzyZimMlSqidF8KX4InFfYKU75ozr78XEEj8bdFBWfpMnA/dHeJfmkGLvktv2 9avRqfDEg4PBzFO6nQL3OXODZVQTxeRDFt5HOfVQeClK2ERAaFtD8+S X-Developer-Key: i=praveen.talari@oss.qualcomm.com; a=ed25519; pk=NGK/88fjyHXgfhIKwag7+uIytOmyOypvZ/hDFaYPEss= X-Authority-Analysis: v=2.4 cv=fOEJG5ae c=1 sm=1 tr=0 ts=6a1b2c5b cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=gEfo2CItAAAA:8 a=COk6AnOGAAAA:8 a=EUspDBNiAAAA:8 a=b8-5IbU7OP05I74H5fIA:9 a=QEXdDO2ut3YA:10 a=324X-CrmTo6CU4MGRt3R:22 a=sptkURWiP4Gy88Gu7hUp:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-ORIG-GUID: tUDVxIdxUGbtzrDAHMy0qVbCAqutukyW X-Proofpoint-GUID: tUDVxIdxUGbtzrDAHMy0qVbCAqutukyW X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTMwMDE5OSBTYWx0ZWRfX85OFkwtg0Xb1 vjc6xeuCIi4K6k+5GVutWn1XL4m/37yaSRYhcnVR2Ti0XCbsBlYkBHrz8qCvnihb3OhNT772cp3 icKOEg7skexHAlBw+AX2fP6+QbN/t4EBAg/UJX7Y6Ezea5GgI2ekNTNkBGSIi35MGN31R9tB+Ly RGE7NvZnrv/TuOrOoeOVifCU7dIHBw/AuLWpNcP0OhyPMoEFlGuNPoLduTDH53Oq5ILZZCRbHLm rvPZvObOGfD/3/expVVtb3hOzFYX8IZt8YupcI8vuqCQHofBkG6fVHrR7vI4jmgG6xtWyoSUVHd GUb1GJ6EQBX7IJyNoTc2NeS2VOdNY0ciMs/A9gkjKhDwWqpb7RpOLQqmGm8g9EEhEiiaCbOLbyF N3M0H0ilZtv/uRDX8SX7AgROv4IIfw4vAIdgdj+lgIDROYMRiz4ND3TEgimaFbWTXezyDBuY9dE G/f75bX29eEaIUDEExA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-05-30_06,2026-05-28_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 bulkscore=0 priorityscore=1501 impostorscore=0 malwarescore=0 lowpriorityscore=0 adultscore=0 suspectscore=0 spamscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2605300199 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 Reviewed-by: Krzysztof Kozlowski Signed-off-by: Praveen Talari --- .../bindings/spi/qcom,sa8255p-geni-spi.yaml | 63 ++++++++++++++++++= ++++ 1 file changed, 63 insertions(+) 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 Jun 8 08:36:46 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 7BE0E3CDBC0 for ; Sat, 30 May 2026 18:28:47 +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=1780165728; cv=none; b=fXeFMJUX0P/ogKKtpXycJs8gO9/wbpQ0o5dZ2EYzI5vVtQjgcvp+cJXY9SJKb2qDgaA/7T2cy+qXjkuIrX9lOSUwK7k7cv4D+AXWKpn3nj+2+cLaf0XPaLiBc3e304dY156Psekmrfuozjw21qxJCGCgcLtdJucxhRjUiNkzv1Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780165728; c=relaxed/simple; bh=W/YrZ50I3AwtE19t9pzTiT0xdnQWey3D03tHPf2lno4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=vDzNq2dGV3aaVaqv8e0ORx76EAQ+t67EsKnw/HpXTsWnj56gMu8E6LfxiNErYUH+equYzmRdnefSQ0HXW+/Q18Uqz1J2w/OzuRDM+ajD/tJyiQzxTSLjUEYzPZhBPunr52MJDhNIew8a13Jz7cuxX0GlN5of/kC0ram94HvcT1c= 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=LCMAEMqD; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=RIAXzYPj; 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="LCMAEMqD"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="RIAXzYPj" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64UEOmcZ211792 for ; Sat, 30 May 2026 18:28:47 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= XB9Q6X09k8YWO7HfZ3onZiDHCRdqw6sxvgxO5l7nA8k=; b=LCMAEMqDn65Lw2Uu 5C12nK9JjynGhavVcjoCcDQx8hZzJtKTKsuGr5QBuM8/cqXsMDAcBpi/JGI/WCF4 zsZNbyn0ByY+6jrvFBz31wKX/DEc37nZ8QUgk5yXU9bX2+lMYVFgzFLzA/zkvlaR Cw25uXztEBg7WJ+GbXYZ/HPFhanXEt7NbkdlYL3h7NVOpwj4JgpU/9CTE2AcBk7Z 9bncQZDcvfxP5kGyhW45H4AV8VJ/+DNQNX3dOV3pnDnxPdt789hH0hCHocyo52Nk uXLbWDWOToB6/Vx23aGSF+Tzq8r303VLRndVKJIBrwJETH+0n1uNsq3aAqO4lq+o gFUOpQ== 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 4efrnc9nma-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 30 May 2026 18:28:46 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2c0532a6588so6553845ad.0 for ; Sat, 30 May 2026 11:28:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1780165726; x=1780770526; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=XB9Q6X09k8YWO7HfZ3onZiDHCRdqw6sxvgxO5l7nA8k=; b=RIAXzYPjm5t8X0K4Bhsxb6hwjmZAlAevnYzYItvUktdGVVsIyUFXYn9YHkL+6IyjGb kYjTHeFEI7m+BQUagzfPyhxjbvPw7hIq9BD+Q6kM6mHpP0qbvWLugHgCqPA0F4dnSJZz oIP7yM/s/6TU+sIR2BX/W7oRL900ooznj+GD+tj4t1+0GXzXMCwCSEeziHfJst2Vf1yG qBFU8SyTqJBCw8llYECDfmzIAeoEalEHaDN/G271ylX8cpvDbPGORX6GAfl/elc5gBGB 1VkexN8f9C2w5VhqjkFepZeXYZFF8f56HfV8foYVmRRnsZ00jhs8dYYis5mOfb14k6RE x7dA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780165726; x=1780770526; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=XB9Q6X09k8YWO7HfZ3onZiDHCRdqw6sxvgxO5l7nA8k=; b=aC+oaWPXSqBw7oWwVzQ1UdRBFTSe5utQ3YdfWbsUJksGaNy1mv1zyxzt2X+6wMjOeK DuZyLqUpfsZzUSssVFVl08QC2TWCWH5OopHAsrrMMOkQbXTQ7Mrhi23fsAFaKNa50ABB uKU/JYRc/R0SN3NslipaqsUqEbMQtzr7vK4WfuIHyxuhyBfMHJsTvK3cGnlx38ufLC0p NL/7k6HTlGLf5VtzDiBrf1Fo/ICjnkjiYO3xB13i4yF46VI/VWkjw18dRNghFRiu5W6P sheNg6JEze8wuHUBjul6uQqnqPGc2Sh5E3L4BDJxNCw5eqiKbScE+/4FP2//sTnWSc93 H5Mg== X-Forwarded-Encrypted: i=1; AFNElJ+Mr3thrXGOaieSGrkvxGRCdpZAINVLvlvCT+oElGCoeir5Lw6wFrzYqO3e8ZBYgH42QIZU1y07IC93/yY=@vger.kernel.org X-Gm-Message-State: AOJu0YwcQ2BeFY7QuWwR1U64P2kZCIPLtVCDAncyXg3uxZYa4NqBmddS aZNB0gXouKQf0CFg0FKeBat7my/QSFjvbcLsMP43DHGUm+fEdT2cC5INWN0y9dhG/PpU4u5rAed Yz+JtKtOlTz+nQ2T6TImHXr2uES7SjKWatWsYmze6m7mJkloog+fkPQNZWZWWFCIgWT4AKFJxTL w= X-Gm-Gg: Acq92OGFoLoVJFFTIg20pjaxOtNyAg8Xi6z/u9s7jn4pBUfrjQYDD5Q/ZPHYIPBHXOz ZeBvIrPDXYOK3YLyzJ7YvI/7izknFCU6w8UPyiF138kK09xAsxQtkxnkBP+LG7sRGcP2r0+JBnl Z/AGye2B5MXQgZi/KN/PbsuwyFn0cT3vadD6P933xi9xNU23SQ9RWpCrBLBNLfIu5iD0f18xYJJ KhqDZDyIgEpQiYLfR7Z4bIgyMHyZqUK8O2XGUnIMllkq4gbUho0+rPwWHm6RWbnh8J0oO3lJRjQ Ku5COXS9ELMPrcfeIdzqgEAbmnqovv9X0/79mArogSYJnMegvOMPPkP3XzOs+gwKfSSMzENWIp6 k8qP/pJP9aXjcPQQMw70Co00RUzn0c8sUhdmtxhUJQE2htm76Vy7UzFb2hOfUIzTIjw== X-Received: by 2002:a17:903:46cf:b0:2c0:c625:400d with SMTP id d9443c01a7336-2c0c6254383mr409685ad.37.1780165726244; Sat, 30 May 2026 11:28:46 -0700 (PDT) X-Received: by 2002:a17:903:46cf:b0:2c0:c625:400d with SMTP id d9443c01a7336-2c0c6254383mr409435ad.37.1780165725616; Sat, 30 May 2026 11:28:45 -0700 (PDT) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2bf23a27ee3sm56879635ad.36.2026.05.30.11.28.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 30 May 2026 11:28:45 -0700 (PDT) From: Praveen Talari Date: Sat, 30 May 2026 23:58:24 +0530 Subject: [PATCH v2 2/4] spi: qcom-geni: Use geni_se_resources_init() for resource initialization Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260530-enable-spi-on-sa8255p-v2-2-17574601bd63@oss.qualcomm.com> References: <20260530-enable-spi-on-sa8255p-v2-0-17574601bd63@oss.qualcomm.com> In-Reply-To: <20260530-enable-spi-on-sa8255p-v2-0-17574601bd63@oss.qualcomm.com> To: Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Praveen Talari Cc: linux-arm-msm@vger.kernel.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780165714; l=2636; i=praveen.talari@oss.qualcomm.com; s=20251114; h=from:subject:message-id; bh=W/YrZ50I3AwtE19t9pzTiT0xdnQWey3D03tHPf2lno4=; b=voDxlLutIN6+40mic0eO9qaR/zPZGz1TZBw7zkWz5anDER4KGLCy5Q4rtAloZPAXl3KnaFiwU UAS85ssC7BgCYNdBqAf/7fBTeMRPoqiLnssi30yj3MkJ5ERBSLd4M7r X-Developer-Key: i=praveen.talari@oss.qualcomm.com; a=ed25519; pk=NGK/88fjyHXgfhIKwag7+uIytOmyOypvZ/hDFaYPEss= X-Proofpoint-GUID: 2XNZrFBzyQl2O1bcasjC7GI7_MrRbyWE X-Proofpoint-ORIG-GUID: 2XNZrFBzyQl2O1bcasjC7GI7_MrRbyWE X-Authority-Analysis: v=2.4 cv=FcIHAp+6 c=1 sm=1 tr=0 ts=6a1b2c5e cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=TXo2QnZ9t29hVJcr6pMA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTMwMDE5OSBTYWx0ZWRfX9j25IIjkli5+ N0BgdbQnjboy8Wh0hFPLeyaIkn6jPp7oiRqLbp9SxVZ/IhCqH5pHQyRvNTX3iCFOSRnWIXWOZp7 vPAWEqozySS0LJ7yUxlr2qEKHSDY08B7n66WAha2w8QZBabYHGgEtJrLfY1A2LG+ChYXkt5S2jX ywvPC/bBM8m5mJvIcpz2fW3w6Du1SOFHyQdCjlLNnmv9uJB4h1H3KsjfEw/mK9zslV0+xakVPM2 gIYiKsftKLs2yQj2gzMxZQpQ17bG2xNif2UtAkwZb2uciI2fQ0jlmNHb5pBWkiD3ep+pTswh3pY grSwyMcaVdaABVod4PLCOLRxECIPDnqB4EUW8Ro+PoIE/uPlnyfXDRtNhaxd8XFaN3PHQ3PKARK sLBt0dDhUFq5IjrvkUovbMmyAIPShzdgoeF3g+Ot1px2PaFerxiGL8O24mcgRdaiUglPcefiARv hYCjhPfG5mjXuVnudsw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-05-30_06,2026-05-28_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 malwarescore=0 clxscore=1015 impostorscore=0 adultscore=0 spamscore=0 bulkscore=0 priorityscore=1501 suspectscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2605300199 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 a04cdc1e5ad4..333216df922e 100644 --- a/drivers/spi/spi-geni-qcom.c +++ b/drivers/spi/spi-geni-qcom.c @@ -1034,7 +1034,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); @@ -1049,10 +1048,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); - if (device_property_read_bool(dev, "spi-slave")) spi =3D devm_spi_alloc_target(dev, sizeof(*mas)); else @@ -1068,17 +1063,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->mode_bits =3D SPI_CPOL | SPI_CPHA | SPI_LOOP | SPI_CS_HIGH; @@ -1104,24 +1092,12 @@ static int spi_geni_probe(struct platform_device *p= dev) if (spi->target) spi->target_abort =3D spi_geni_target_abort; =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); if (ret) return ret; =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 Jun 8 08:36:46 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 9ABBB3CF95A for ; Sat, 30 May 2026 18:28: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=1780165734; cv=none; b=G2y+sG5e7f2B4D9wTTMsIn1uXk+qp6yQs78gTfABBUIN104h6ZC8Y4n9V6xSnQpjzszFXhzk7SiXNLYUXNvZeSJ2dCra7zTRiushyie0meJzNgGNoeMpiywMtjDVR6Int3cUsU0rsLe3cMHO0tU/40sxsBEuKosIjxV57vkdkH4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780165734; c=relaxed/simple; bh=rlu63NqzgVZGbDQFT3XHJ2eEFRpxquNj27s2b770qto=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=hVHKF6bNsTLq6XB2OIkCjxyJCbcC/WmZv5rwxqH+nucv/A7QcZ0upt7s6hn8Z6uw7P49BeAf2XX+fSHO7Im3hQfXvxkbpsOHDl6k1ZdgIbQmMep1HG+Z/2vL6B4BChFz1JDXY3l+EFC/WIWHxEX3pwUphvWLeS2j69TFWCfLpjM= 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=gdWfRsu4; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=dGUNB6iE; 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="gdWfRsu4"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="dGUNB6iE" 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 64UEPf5w1796972 for ; Sat, 30 May 2026 18:28:50 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Grijfbm0GSs+meDyPd4bXAK+a5thmeqrFJ+N6944pxo=; b=gdWfRsu4Tv2tq5yQ KKNYzjhztAjyNy/cbGyBGKjDOI+VPkliaNCKt/zQewwxDiyWkEtmOmxp4BuMov64 qKxM8z/4zV8nxTdYYcv/lbyPnbDIiAGO4J7Iz5hIGgHBwetmTCQJRphykcd+69p4 4dVQRH3ZhfFxmbz/x5DdtHuOcvQXry96eqNkxrVtuWKjU3M+dOGLV5LMJmcnGeoc Z4rph33joVUKmEwXvyHpfTflwMVNO+0dJDNEVruaX+H6b/QUsi2hrhl6DPyU5xW3 2AyqslReOtoPg85rMqinB48BUlJMoypDg/BszvWEB6VdhW+1COkLlB7B61ojedS7 Qpr8TQ== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4efpw7hw7a-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 30 May 2026 18:28:50 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2c0c331eda3so526075ad.2 for ; Sat, 30 May 2026 11:28:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1780165730; x=1780770530; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Grijfbm0GSs+meDyPd4bXAK+a5thmeqrFJ+N6944pxo=; b=dGUNB6iEDJVs/m7Zm6ebXRExf7GiXQ5DZTw26U8xWQ7V7Ds2gDK6MwYceO2Ku8emVw fEkDBWKwX/cTjd51IZ29iiiW2jSxA3cqYPPmrxdj3AzqS8t3024yu+gyc5hb5GxOtpym PZALfoXBHhmy8f9WNt5U59dqvV+S3nax6/pK+T0+WzDnWKHs8HWzZ05roPBPC8IxR/xa I38XARqZrtrnVrecd23DZrGKFovebYKaH3Js0McvAYFENE0W9G91mquoVd9WhFgcMq3h D+3TLIRstuuJQ4KZAk2Ph669gb16MUSwgcpFgVcMVJf5QybqqKhXhtRgg9eOcpCKk29m VEwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780165730; x=1780770530; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Grijfbm0GSs+meDyPd4bXAK+a5thmeqrFJ+N6944pxo=; b=sbUyebBhb7yd6oXtT3Q1GZNCJhIGMPWZcoYub5UkSB/kLQCoHE7bLBuTbJiDlEWXVX 8E+nS+42sFT1eYrjFZP4VWGAPubBOXo7Wyko99lfDzUl0cI2EMIs0JY+5L7py5FuRQ+8 EUOWpmnqw2fA5aYWsPLP6QmnYt9MjqAQV4ak4G5qbwfPltDsR6PZa8zCziXA/aaro1MN 5UfZu0x2ZZ8nS0syuWEfHGHLDICzsSkmdSzY2bRx1P77BJww2r9iVJ7gQ2wb9o+jOTea gLGOkgfc10IIDJGTsS/4Ff6gfKi/kAhQOJAptZ+aibUh2X37yuGKLYmqoqWlWvImKO7k paXg== X-Forwarded-Encrypted: i=1; AFNElJ/XtaHSMHvID7ZcIkO/QZvTm/+0RqiHjAcWRnDM0fzVAqXxgoi/SSkMmt6XLGuIXNETN4OZkKq0vmGtpyE=@vger.kernel.org X-Gm-Message-State: AOJu0YyKKfA/DRr23HVKDXbc3p6TbA08tSJk9KuNYaWKuGpTYyzf8J5K 9/OD2GcA4+1U7cn300Y0kJYbKOiBdLMqmFpw7PpBOQ/e1VIZiSlUmBQm0EjqYLLXIbg99fK2qEa 0VEvTPLNp/qxQ5kTQACtsPuVMMQUolQeGAU/5EbiADpNADT9DiXMA3gvmq3ynA05PlsHsSFxA3k k= X-Gm-Gg: Acq92OGdUn2k6QXt5IXX9+o6/joGBKGY5NJOId5PRR4T4xKsRDSess/FPhxNZ6md5HY o70uLeJUDoRvkh1zj5L6+TQpfelHTVTAmsQPNkB8/U7jty8F7CEayupx/fXqlq1KyRYpDpODwJW e6J0W+9mtqQZ0oSb59xeIcreA6FMdk8d7pN3XD/biawL0o1OUPjABJHNuGHFEb6uKx+vDzvST70 N3giw+5qMvTxzfjLUZajVqrBZfjw7eOgzwI/uB7prR3kt/P4knIcM9Nw0xkez0tquPou2ZbJ1mm l8QEdXcRx31RXhszLWTBEcOa4e0SDyIbjgg9XQHMrVZjoPZeji4DVKnoh/uiHXbw6uMNwrBgC+o 1Xed4jblIgA7SZUBhg+1V0jxPY3svCJVyRhMh509bCtxJBLV1+l29dpI6cdtHzL26RA== X-Received: by 2002:a17:903:124c:b0:2ae:6259:5aff with SMTP id d9443c01a7336-2bf3679571cmr54559465ad.6.1780165729594; Sat, 30 May 2026 11:28:49 -0700 (PDT) X-Received: by 2002:a17:903:124c:b0:2ae:6259:5aff with SMTP id d9443c01a7336-2bf3679571cmr54559265ad.6.1780165729033; Sat, 30 May 2026 11:28:49 -0700 (PDT) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2bf23a27ee3sm56879635ad.36.2026.05.30.11.28.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 30 May 2026 11:28:48 -0700 (PDT) From: Praveen Talari Date: Sat, 30 May 2026 23:58:25 +0530 Subject: [PATCH v2 3/4] spi: qcom-geni: Use resources helper APIs in runtime PM functions Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260530-enable-spi-on-sa8255p-v2-3-17574601bd63@oss.qualcomm.com> References: <20260530-enable-spi-on-sa8255p-v2-0-17574601bd63@oss.qualcomm.com> In-Reply-To: <20260530-enable-spi-on-sa8255p-v2-0-17574601bd63@oss.qualcomm.com> To: Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Praveen Talari Cc: linux-arm-msm@vger.kernel.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780165714; l=1862; i=praveen.talari@oss.qualcomm.com; s=20251114; h=from:subject:message-id; bh=rlu63NqzgVZGbDQFT3XHJ2eEFRpxquNj27s2b770qto=; b=H4y/JGukGyrEaXtiG0q8jIuFzEudHtHcqalv9AP5Tk1w7MKQOSZQUGodDOlM2SdTuWlCNVMIX E/yfI37wg09CvBqbfXZ/7MgQW58hKZDx3I5Rha552v3Sv+YThfpuIfe X-Developer-Key: i=praveen.talari@oss.qualcomm.com; a=ed25519; pk=NGK/88fjyHXgfhIKwag7+uIytOmyOypvZ/hDFaYPEss= X-Proofpoint-GUID: wvpDDSumo1I-yZ9v6UIwyQNBeH6nOaub X-Proofpoint-ORIG-GUID: wvpDDSumo1I-yZ9v6UIwyQNBeH6nOaub X-Authority-Analysis: v=2.4 cv=bNIm5v+Z c=1 sm=1 tr=0 ts=6a1b2c62 cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=i7xoKaWEWnc8ZE6DH4sA:9 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTMwMDE5OSBTYWx0ZWRfX+fuz1i1eOpyi Y6aRE6Dj0GlEQyKGf3HW5AojAHIkBDeh/h9p9Q39Ovq5Avn42YMj2hcdFyAFguAyteG76ooNZwS uOIaOT/Wyues2tZ1rTlqxVLmGLeDOVNJlJgd5vdvnUO4qSKvAyHrLgp1jdoxqnqMeyLjAbdk7GA xgBmDOjw1oaj9RCQurjWw7KxLPZPpuIulOjL7qdiQhVwvZlCpBZGeJ7I3zPafH5Gu+gGy0MzjIO HNU6zx0reLdvN48OhAEUvFOm62XYdVm1wWNhJwZp86Gfj121mkjMsrXOajCko8ob+HiGPO0hgcG ERs+depZF359t4cxeDoOSKCvRxpE5ZV4nWnOlGylB572fb/wp4R5RKRfoWTt2qSKD2wzu/CEXcN 4CJ+xHtO5vfxiCnzqUgkKNb1xhfp83TBP3a+YBPFPI1ecxwO8JqV071IZ8NFi/B4Q81yl+dRshk leJZTqqUcyOLEMu/oWQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-05-30_06,2026-05-28_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 impostorscore=0 phishscore=0 adultscore=0 malwarescore=0 bulkscore=0 priorityscore=1501 lowpriorityscore=0 spamscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2605300199 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 333216df922e..7696412c6e87 100644 --- a/drivers/spi/spi-geni-qcom.c +++ b/drivers/spi/spi-geni-qcom.c @@ -1119,33 +1119,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 Jun 8 08:36:46 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 80CF13C3C0C for ; Sat, 30 May 2026 18:28:54 +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=1780165735; cv=none; b=nbdo8EvJaTzhK5kaGdaunv933+7eLwMkZJi1XdEo0sC7UejRos/qDQtZwdbO6B0Hrz0+qhrwz4K8OLIGvLtzqXUZ0nrUzwCkNjhSfA5SvG9dV1qUIfjzHbP2BZdKzeX+/mTGYtRfZvffA1EgD9Ud+01iGag9y1MD/B2cf3hSPqw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780165735; c=relaxed/simple; bh=V7MkOBUR12odsi7KOXU5pkJkgmqrQKIHXeinc3zf9y0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ERMxlFnWDPQ39KWYdCPibH1MyG464LRnEhMguI/cLSsJ2GqxCPiGW1JOLeDP5I6lJdwplPQEdNrvLtAYNQlbAbKaHOb75Uedx8GPlQs2//5OQnF23YblNhqxAq7zyiUg3cP4IgjNhmxJG9jU52jDru4xntwbn1Y6pNsoIl9CFV8= 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=DE94gqAj; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=JJ8RUfhU; 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="DE94gqAj"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="JJ8RUfhU" 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 64UEON461747627 for ; Sat, 30 May 2026 18:28:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= vr8YiZpN0OyBIFNURSbGh0cFsGwvnUNEPGlUDKpGzd4=; b=DE94gqAjdThWcu18 uGQjgcwkGcUpWtjQsZShmNYFrPfInk/deWmpZT87efslTPQqtUk2xQtgKrE+OocX uvMERBCB1OAxSNnf0K72rrrQI2UgHFILBs67J3YVpc3/Knq6d7jDOiibssIyRoNf /7LyggpuxRtdq2XSTq9IZ60hLh1LF7HP2Cbg3yvQKsf9b4UQGs5sNOJmGrSDq+wz sqZ517U7cK1lsu4opInACKC/6wMzvQIDUdXgEPzFManNjD8olSFAZhL3gUVnw+Ei 1zURFR0VMVUwgAD97R8pZw4N+iepL6OsDRGiGMWgZCKfPMZcDOoQ8o7uDGRR28R+ bmWYsQ== 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 4efr419rkv-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 30 May 2026 18:28:53 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2bf160f7191so12468975ad.3 for ; Sat, 30 May 2026 11:28:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1780165733; x=1780770533; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=vr8YiZpN0OyBIFNURSbGh0cFsGwvnUNEPGlUDKpGzd4=; b=JJ8RUfhUhvPVZkZhp2KApR0KTyAU/Ud7OgGRZtwTgXp8/LtBr+SE10aMVrOpawg7Z+ l4zoCEedMEK/x2lXB2mESRiFoYvSKh171E6GEbTJkGpSVJTnXo+PWo7oysiHWFQDtQjj suMByWZwk8w8vuUig4i6UfX7lz8XH86pBWsgMAIXNFVz8D0erCic3zMHPuuzYAf55Zlb 3RjvZODfeGzBcWqOQx/I5BnEkBtBCCPKELU3FYTkcRhrKFPNpCVA86jn3/LPYwRTYzbm BgZu/1EAled/a7FD0N6GqGVaLcGUgaLnOxOGD8vaGFYT2RI9ypOnaeanrG2M7AJR2Xph Md+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780165733; x=1780770533; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=vr8YiZpN0OyBIFNURSbGh0cFsGwvnUNEPGlUDKpGzd4=; b=aV73lp8IS5DsGsioD0pvyr5AsOtygkMUBQr1ZmsecwyTKSzj8bWHzC2Vl6OLu8eI9m KFSm9tIlFxhveMfdxZ1VU7f7ft5ISaC5rDkyIZc063Fsbmgx+xxndLSBq2EqqMY4OI9g +mKIO1rHaKJ/K2H8MrnI8vA1cOSu+6u+l3AAGV26mDnLcAhYi4MZYnAXtwmzmdBS6YD7 gxvoHrYHsak85VpCf9w3/zs5UDsaZl/tcByLOhHCo6+FlA048Qup519TzTqKibTMGuOq 80oeKIPOk9qcTKXyaO95em5cWJSkZNks2Y9ILeDNKBh0aFSorh5pgo7d/HmeRbwjlegv 4ttg== X-Forwarded-Encrypted: i=1; AFNElJ+iE2cbu84ZW99j1j3KT7sapmh++UARoiln1MqfHz12VZx+R4dg9p+4ClSqSMsIXmtmIOEHK3u8Z0fcVh0=@vger.kernel.org X-Gm-Message-State: AOJu0YzKiaR7UeXFzt/4m7olf9iBWSdb7u8/4cB/MYSrkty06GmSNu2k OWFhEwa2HQg9fJDgBeQldBcvTPpycD8dkxZbGwgPXzwwTJA0tzxTZkIu7yw6L1k4WtOhnD/V/yl kHSfue+DIKiwoaTb9aORKzr9yMfZ1D2p91Dg0fe+5A+idAlyjHfDxqko0CTZwIb/RwvxLcE7Bvp g= X-Gm-Gg: Acq92OGlDaTDct6EVzlrbkLAFCj4ZgKPZfzLmN4cPmXR9HwRGYNTIly4+L1N2r7rzD6 37nwxVMWSdRO7I9vyuF7ugwn1kBYWDoeBNoz9vPAFxMxUk6fO30YSEPWgY+cxQixe0SHigBU0e4 AUnur6t4xbt/7/biBO2bmG9AsHAoysTa7PYG/6CW+O9PWowZF4qdpqmyw2mhjMdjJZW6aGteLrb Xnclw1ruAZLsuQIhx0dgQn26DdWVKlOeNcQiV/xeyKCxtrzv2/DI0GWOBhp4oZI66tilk9zO8tt 0voS8oAaKuWsn2oI0yUoFCXkE+ZxRWUOgiTJi0OhHLva391SbHg/9YsiHdFlIIBYTlD8vMa7iln irOlIu0P8UeBy0AGOx4AUEFUs/x2m4J6Z1rEEQwUZpk8PLswJWOqfhseAFdohtIY9bg== X-Received: by 2002:a17:903:2305:b0:2ba:7881:948d with SMTP id d9443c01a7336-2bf367b214fmr52562125ad.1.1780165732925; Sat, 30 May 2026 11:28:52 -0700 (PDT) X-Received: by 2002:a17:903:2305:b0:2ba:7881:948d with SMTP id d9443c01a7336-2bf367b214fmr52561815ad.1.1780165732323; Sat, 30 May 2026 11:28:52 -0700 (PDT) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2bf23a27ee3sm56879635ad.36.2026.05.30.11.28.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 30 May 2026 11:28:52 -0700 (PDT) From: Praveen Talari Date: Sat, 30 May 2026 23:58:26 +0530 Subject: [PATCH v2 4/4] spi: qcom-geni: Enable SPI on SA8255p Qualcomm platforms Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260530-enable-spi-on-sa8255p-v2-4-17574601bd63@oss.qualcomm.com> References: <20260530-enable-spi-on-sa8255p-v2-0-17574601bd63@oss.qualcomm.com> In-Reply-To: <20260530-enable-spi-on-sa8255p-v2-0-17574601bd63@oss.qualcomm.com> To: Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Praveen Talari Cc: linux-arm-msm@vger.kernel.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780165714; l=4685; i=praveen.talari@oss.qualcomm.com; s=20251114; h=from:subject:message-id; bh=V7MkOBUR12odsi7KOXU5pkJkgmqrQKIHXeinc3zf9y0=; b=M+M3zBWjkBIXobrL2H3UEToreY0uiKZokaUZ1qWF/yo59OKaz5ARh4oxes0oNLBXul8VkfRL1 Z8HogbPVcshBlGFSRl3UCKFi0ftLZtoyOEfFO2hWoOJ9SKx7NGIoHtq X-Developer-Key: i=praveen.talari@oss.qualcomm.com; a=ed25519; pk=NGK/88fjyHXgfhIKwag7+uIytOmyOypvZ/hDFaYPEss= X-Authority-Analysis: v=2.4 cv=fOEJG5ae c=1 sm=1 tr=0 ts=6a1b2c65 cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=pXSUDizEog3tsSCmG3cA:9 a=QEXdDO2ut3YA:10 a=324X-CrmTo6CU4MGRt3R:22 X-Proofpoint-ORIG-GUID: tVyq7Fx10qp0hO4sYs52gDqgcgXrfCh4 X-Proofpoint-GUID: tVyq7Fx10qp0hO4sYs52gDqgcgXrfCh4 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTMwMDE5OSBTYWx0ZWRfX6WkLCl1kiXi9 P+QKilHcuaUoqajkSSG1bQmKQfUbmD8BqBLLSi5TaroCO2FN2yT1Mlc95D//FOz4MvlrXBC6cGC DP3xtEKKULpONh5LcanyW2jLsqBZkdn40rk4sU470BVekG4cnTNYbdS/s8bjvlho31sZpTOSVZF TeTVN9uYBrdO6kRHZUT0iAOk+m2LblTGuCuG4RCdT1pjrcx/rg1Xaw/RL+mXZgcaeh98eb7lyc9 WvT0davuYcfz71ysb8eQNp6akE1Mii7U9iqp+mPWQ1sleRJVZYRNiXakchV6BcwL/BDYdfM1/SR swNqAwJBWQSh5YtfFMwdkvzDBlp1O3KRJhST1X/oNv5OlXPJStjFYgb2wLdACVTu7bEcZ9WDaPi BlniZ4BhTrdSyok81PvoOl1snt69wgsQ6/8U2HVs8MYwtp1O1dsMOCi+X+ll2jmKhPUybaGR9S0 wmiPFyzPeCMtg+CQukw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-05-30_06,2026-05-28_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 bulkscore=0 priorityscore=1501 impostorscore=0 malwarescore=0 lowpriorityscore=0 adultscore=0 suspectscore=0 spamscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2605300199 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 7696412c6e87..98e34e58fae2 100644 --- a/drivers/spi/spi-geni-qcom.c +++ b/drivers/spi/spi-geni-qcom.c @@ -78,6 +78,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; @@ -105,6 +112,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) @@ -305,11 +313,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) @@ -820,7 +829,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 @@ -1064,7 +1073,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 @@ -1120,7 +1131,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) @@ -1128,7 +1140,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) @@ -1169,8 +1182,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