From nobody Mon Jun 22 01:39:16 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 6A56E3859F7 for ; Thu, 18 Jun 2026 09:07:02 +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=1781773624; cv=none; b=BXYGqPc25vxclPu8OEZH5MA1VlFmj0LoumePMigHmE5xPLyRljTZAI5cfg3BMIvz8ee7UGdUQGTod5tZAgBvONCKeKjq71fCWgyLTS6Tg3727hhZ5cZwKkhOuTntuqW3bwO9jcMN60PePkcuPzFZGr+K8NAMdtZTlDN86y5cUoU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781773624; c=relaxed/simple; bh=af6bOdZ1W9cbfvbeGvSgzZBjx4KNkrqAVkux3s7tjEU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=KbTRgW/a5BEsD1KbfBVR8AHDzCUwZGKnc/pQgq9Tu/l6MdkJ3epXMjgsi21/+Q+UYIMwZefc/7vPkuJ/C2Nw+TOn8ieEov9an2suBEwvebSxTzB1N6onAo0Ko1Rrst5G6w6JTvliGA8B9Wyg2FGb05v5+XiuPklykID9iDh7Hdc= 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=jbwaEj7Q; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=a/lfk9Qp; 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="jbwaEj7Q"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="a/lfk9Qp" 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 65I8G2Bk1253181 for ; Thu, 18 Jun 2026 09:07:01 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= gF1qv97LlWYeWZA611ceR5Xzh2tQu7iyVQHKj5+MepA=; b=jbwaEj7QRJTGojwl P07FaoaxiW2Lb1wiIX1XARYyxpxcsoVLg3NVdNNew/DbH9ZQoAJ4e3tIKNZQ3wsn +hLPhgHVnvGCSH1ncgM9k/IWkxGP2OW8DdhrZ05Gy1n+9xH+IfbY4pDmTGT2lVL+ iiN379eofAoKoyaOE98cjIwosDv7dVfmGfyPs82SGxxrYS19HHD0kbB3lO+mVM55 0hUdYhds19vtf7s92aKcQMcRbbxLYkO+v07eKVMD8K6HgxHMNg/X7D49JFdmy90P MAsTINWpRDy1kTHd7iNb7fu8D2E6VZUhK6eI+SwWiRSmfjs5cd7h+2Rac98ynMhI DgjblA== 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 4ev0g7jwvm-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 18 Jun 2026 09:07:01 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2c0d0516ad7so8727385ad.0 for ; Thu, 18 Jun 2026 02:07:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1781773620; x=1782378420; 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=gF1qv97LlWYeWZA611ceR5Xzh2tQu7iyVQHKj5+MepA=; b=a/lfk9Qpyz5pn1gyK8oc+TWGj0WYIWqTC4oBerErfUcfLI9XRFh7CQiWh4DMeSH4ap tazy6oNuysrti862XipK29mt3Ew8PWd5n2ZhdvzLD4YbXaItFrHMBZHJaf9EZIUntaP5 jRlrHxPC9r+lYTW/iDeELk0xV8Sh6zS/P4xo6gK6dyyzDsaVtkOwp+yMpmPEpJlbo/Zi G6gGcqLzKIuWHcd7GE1p7jbu8CTp6J53BQz1UDAHrfhInmTrhR/Pjo98ixKXjHL9lYGH /UahgA7phZrkrGYfoWVjwFV/gJ3k1OiDLFh+5XhLlqCgx1MqKz5OOEzzUl/4nCG8I8ic ZGAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781773620; x=1782378420; 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=gF1qv97LlWYeWZA611ceR5Xzh2tQu7iyVQHKj5+MepA=; b=BtEA+hWflPAWLphuMHAQgYsEZLz/eHxWv6lrrPBmrABp7OAucnm91FlTRVEFzc+bjv LuITBfcX+LHQARyssH1JhwxWJWoi+e7keKxj+IiHeSrdzQ2d08LBSZuAW5o24+mVZYvW 1yPR+It3oUNpzcCH9WzIqRxeiLZZYVXFfF2wJVfy4rDGi+IcK25V1G95ZbhBFZ8XF4c8 dNveTsE1oNkf7G60OhgFF81kz+aTKciE4pWazH+RHRoqWOuMbTdQ3tBbennsa+C3Ob0x x1Jhkzk5j2vyFgza4WpmYCMa1/52eiQUaCvBzWqh7ZtrAMjZzBy4cK61WUQNls/SJowo KymA== X-Forwarded-Encrypted: i=1; AFNElJ+tPzVx7puSQzvf1OuSsFrY/CCFcGUKTy9X4toDDY3V5Jmfae/RhI96zemoZ1LnLPs5gg+TEasWOI4uu3s=@vger.kernel.org X-Gm-Message-State: AOJu0YwQ+CzDMkHhYVtzk/KZpLFrt6lBR/U4FHO2M2MruvG6QEOkbf4n LpkYzL5lhqYqI6aCU3Dtk6LTRe7eT8ggkL2iXV8DrJeHt7LGATJz0PZWZEWHFXqjqkJxXx+Kgmb eZEibIJ0B4WAtLMU7GIooE1Ks2xf4bCDUNmh/rBJYizXeHIqn6j24cpgMDeYqHQY4mGs= X-Gm-Gg: AfdE7cl9RUOcIrcaBQjF/Eo1AcOyJLsqaqoUSZXzxANJxqQh8DpfTMdQs//gg+/JeHV i1nT4DjeXyKVOYh9eBzupwHjq9HfgOVeD6gRHMvSf0vfyCBMQOFthSbiLTm5SaNsdDy6+XHkbrI ESpe0fVwBMKCsIjj/4/aPknDXhjCw70hqNmEYRvY0BjHMmksjmdmizz85CDDIlC4jEy4b51NazA M/Y6B33/JMch7dgk0panSxT5SLIr9m64vI6/HHKVS9oWrvhvXw0brBLxKziYRpBlXFXzvjUXToD ElLCD9bMaYz+Y3caQT6fz6T9GJIc+1VUVQg7Um5QvpwrOhVFgMzodU5/qYeK0wMfVmD3bNsvX4P ot1L+nk3jADzc822hFcx5/iXofwvx4G05YUJVSQzLvLu3 X-Received: by 2002:a17:902:cf0b:b0:2b2:ebed:7af5 with SMTP id d9443c01a7336-2c6e4851985mr29816725ad.13.1781773620360; Thu, 18 Jun 2026 02:07:00 -0700 (PDT) X-Received: by 2002:a17:902:cf0b:b0:2b2:ebed:7af5 with SMTP id d9443c01a7336-2c6e4851985mr29816105ad.13.1781773619772; Thu, 18 Jun 2026 02:06:59 -0700 (PDT) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c4327ac794sm192112835ad.46.2026.06.18.02.06.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 Jun 2026 02:06:59 -0700 (PDT) From: Praveen Talari Date: Thu, 18 Jun 2026 14:36:39 +0530 Subject: [PATCH v4 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: <20260618-enable-spi-on-sa8255p-v4-1-f5b5067e7e1e@oss.qualcomm.com> References: <20260618-enable-spi-on-sa8255p-v4-0-f5b5067e7e1e@oss.qualcomm.com> In-Reply-To: <20260618-enable-spi-on-sa8255p-v4-0-f5b5067e7e1e@oss.qualcomm.com> To: Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Konrad Dybcio , bjorn.andersson@oss.qualcomm.com, Praveen Talari Cc: linux-arm-msm@vger.kernel.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, mukesh.savaliya@oss.qualcomm.com, aniket.randive@oss.qualcomm.com, chandana.chiluveru@oss.qualcomm.com, jyothi.seerapu@oss.qualcomm.com, chiluka.harish@oss.qualcomm.com, Nikunj Kela , Krzysztof Kozlowski X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1781773609; l=2573; i=praveen.talari@oss.qualcomm.com; s=20251114; h=from:subject:message-id; bh=af6bOdZ1W9cbfvbeGvSgzZBjx4KNkrqAVkux3s7tjEU=; b=tqsq+yHGyUGmldkPvCnKVSHVSCcXg/Cpgp2Ltkv6m6BPwnsifmcazYaS0PU+XrTA3Mz8sUsCJ sS0bkV+dysKC/mbUcaPxFQAD9MoGbtqDvWaJAlqMahxAk99r9uDJM1+ X-Developer-Key: i=praveen.talari@oss.qualcomm.com; a=ed25519; pk=NGK/88fjyHXgfhIKwag7+uIytOmyOypvZ/hDFaYPEss= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE4MDA4MyBTYWx0ZWRfX6cfG7K3RQrs3 M9NH7I7Ts5Qi1jzxnj5zlOYDdivaUJuNk1Bma0ta0EEzpvqDgW/juYbIWuLWl0lNdG8w4JXUcW0 Ii3m5vHsOyGI5aiqSCVOlGyUUn7OTgy6+GfE34T3Snw/I3MHdKfrD87/ab5Mevj87fK2VXbUGy4 Eq5vwnUZQmXI41elq+dp7QmdnlEWnfEkcnlkFR/VSOTw7lLgYdJfejq7pIJG/QLx+dfbZcjU5WW 48ngvn1e8RbQhcfhSQQlIdLXdEwpoKcgtcetsSY1nf3gjH88WrpNTiYqCbDoYjibDy0X0a4J1Tk acuro7eyecMcHXirY4PaNYIQ9tsfHorKDZfoGhiSM7i4t+LUzGXcj5bh9Se8VkodIrsLz69rGYC w71yNBCoPFYO6yGPr7nphfv6yAPC1zQJZl+ldSUvlg83MrLdnGyMAJPiK/PkKRdsJC9LsIEk9Pt 1N9nmFEOkrwU7QcGi6w== X-Proofpoint-GUID: N-mFLckBdh5qHAYA2At1bcLVIzVlrzrI X-Proofpoint-ORIG-GUID: N-mFLckBdh5qHAYA2At1bcLVIzVlrzrI X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE4MDA4MyBTYWx0ZWRfXx0L2Pls+UspC xO9d2jUBdpP7YDZzQoqZu2WSSoq5dMIj8s6EWhRWtw/SI96KeVEUlLZMUYUyk6iiePQtYIeKue1 H2Fw7N5TCWLjPZO4dJSYdxDuOT7xz0c= X-Authority-Analysis: v=2.4 cv=YrI/gYYX c=1 sm=1 tr=0 ts=6a33b535 cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump: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-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-18_01,2026-06-17_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 clxscore=1015 malwarescore=0 bulkscore=0 suspectscore=0 priorityscore=1501 impostorscore=0 phishscore=0 spamscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606180083 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 | 64 ++++++++++++++++++= ++++ 1 file changed, 64 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..d9347d780ca4 --- /dev/null +++ b/Documentation/devicetree/bindings/spi/qcom,sa8255p-geni-spi.yaml @@ -0,0 +1,64 @@ +# 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>; + dma-names =3D "tx", "rx"; + power-domains =3D <&scmi0_pd 0>, <&scmi0_dvfs 0>; + power-domain-names =3D "power", "perf"; + }; --=20 2.34.1 From nobody Mon Jun 22 01:39:16 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 7C83F3A6F0F for ; Thu, 18 Jun 2026 09:07:07 +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=1781773629; cv=none; b=qd8V8V8nU5W7zZdyWHAZM0XMN7o7+7VyUY5M25KjSdgPln/mM7l3RDV5zUwqlOQQBhJhjrOr9Fx1Zek8A7ahFZqN0nM25xL9i7UbHCcReMNoj/s+VfdhzScIaeEhWtHbJP3meWAOq5/x3MnCl4ran78V2HoCf0dFeEVs7JeBi3w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781773629; c=relaxed/simple; bh=9YWKqHG9h+azs7B5xT1AGSTkv5a4OvLQRAny2OdFtmg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=KhCpJfVH2O0GTCKap7rXvmWNcvJ7HrBDaKckwN0FmlgQZ5XPPwiUGYcvpvOaGD5LzY83sKAF3U1Mc+EXbo6XvOJuDIm8s8VSPoQL8ZwWkZXL8gIbxcXugcsqgtilXkqf7AFykc+Xezc5S3ex+pF6QkWKdAJhsxcb6DS/c5puUhA= 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=Ab9ZY0S/; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=TTPytgBp; 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="Ab9ZY0S/"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="TTPytgBp" 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 65I8FUoh975878 for ; Thu, 18 Jun 2026 09:07:06 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= 4Czs6WvmW4eC+XZ3qTBqPqvwU0TrJ6OjIZ+EZ/8XjiU=; b=Ab9ZY0S/VgFjCrwy aWBhllKfjuhMjFY+8zxesXfn5PDrVrNNrjgAsaR9gLudSHLGHB3X4mMR7SRZVV/V U9OlqOrfn0mGdnLDPNJBEz4kt2Gdm6k8co8cph0BoRyXnBPUb5RcW21Ri0vPG0El Mqhm95WPmppQjR6MfVcfGaO3ICQCd+AMjdQYuc4jhpBpwyh+4rFlYiFJ5scMvUVz TBKbDoPaBM+Qgyzuw1/rdVvgHzv5DqtMYf2on+rt7ArEgQZSSSzw0CxCnJmhD4k1 DhrJ1DDQK96JU4/fP8sAYtogTZ3qvowjf2hSkJpvArHWHRfK3hiRUGE9+QE/ibWf Afo8hA== 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 4ev1wc2ffg-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 18 Jun 2026 09:07:06 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2c6a2ee8cc9so7091625ad.3 for ; Thu, 18 Jun 2026 02:07:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1781773625; x=1782378425; 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=4Czs6WvmW4eC+XZ3qTBqPqvwU0TrJ6OjIZ+EZ/8XjiU=; b=TTPytgBp6hnedSG/5nOIg542atSsNLcNZHF11K2fKDQ/iEZ9KppA/z6U8cGairy0Q9 4Hu1qY6I7g+RzkK433bOT+xM4ue7DJgNiuinjb8LsCHHs2gxH5ybBKaUsKD4h2lraY1i gDpUEkvy7KfWJaxCy1ET0FWLOqJP0Bi/7ZEIv7RHf4Chb2T8i29s60Km8ycFOzBVRFyL w3dPna6g85/H3IVhO4RzjkVyixyq+ZrDAd89yxAN1Q1hJgwIys6K5AaeYjWfrzAEOIUY 59LCLt6Q/Ay7d2TEPbl4A4oXYJnFrjP4SGxea844QWLqnzz0JTmAXvI0o//aq3oY4Ju2 wvQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781773625; x=1782378425; 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=4Czs6WvmW4eC+XZ3qTBqPqvwU0TrJ6OjIZ+EZ/8XjiU=; b=e/piAoh8gNk2skEaIM42f7+E1tWfONzSpl3/UbgEgG5m5wozDzBFUqgv2thK+yt/IU vyfi0KGCz2ZYs8IzKkzHkykDfykvsMAd4ODBmLGbnUsocyPjvYxpWl6U30F4EBNoyGNm 0yIop8p87vUfyfPBym46LqoEpwWWshwG/5aw5utIPhojYruXFTS+UbVedT8laOFC2/hq F8aRn79n3TZ6bvWAsqNBnwFjQlZ6ZkmD8FCf1T8gAHWYWgGbODr9ukcf5OcMozL2m9dz DGLvppGo+puDCko5o4bDAYvhBUD8MZRsoSwg4LvAL4q7MywNVJzcGlo2jN/npcQCti3o qy1Q== X-Forwarded-Encrypted: i=1; AFNElJ/dHh3Z+9qcQUX6UTP0O3r/9WLIZ6ZddMRzSMeHKKfmtxNg8jse0fl0azBxHAs7cDkcCghmQEdxfvacOGc=@vger.kernel.org X-Gm-Message-State: AOJu0YymL31OX2g+qmB8tSXkrZaiPI6TM4Fbxk+0mYwub5LdDEXYcBFc 3lJzhXqQprQXyBoM5+sV9dpaUwy/QPNidyTFZ1Vm6F/CQWupTQmUIf1npvafpXD/Ee4KbH9d/Sp IRVGRAgGVgdOUcwSw3J8kaw/XVEhxfT3chsVN+SENXu/wauANsjWF8ZmpaJRB/uz+Jz8= X-Gm-Gg: AfdE7cnuEKM/G8SQTi3w5PXJ196yieHSIso+S9xq20RH2+rni2VaJJBWSR32Z6W6avR dEwT7B6jZngr8vbyGuTPUhzp2RzlWAiVBK6GpYSvUU19em02e7cX4KrHSFfHFnwR+OVLnu/1FHh HWd2yVWtj+5ciutJQ78ozvh2ep0PGEUJk7d5Bj3igD4ygYraUVQZvudPd76qz9E9r/lkVr/oNhO ajz90FN2LyAzvhNynauq0ZCNspo2rSkXnwVWfpY3O6OMI6Cg25YSkQqxowXw5uGDj8GlCnYyCua nr88UNrwExAdzpoXDxHHvWNr0tcIHJLKtlzE/ldojvlfqNd7m0PLpAULLo2jakpefPfTFpx/J8V pA15yVdW2xRQmle44ih59Zf8evcEuQsO3vimKfhW2pa+w X-Received: by 2002:a17:902:e844:b0:2bf:2015:5b94 with SMTP id d9443c01a7336-2c6f340c894mr18082475ad.3.1781773625444; Thu, 18 Jun 2026 02:07:05 -0700 (PDT) X-Received: by 2002:a17:902:e844:b0:2bf:2015:5b94 with SMTP id d9443c01a7336-2c6f340c894mr18081975ad.3.1781773624753; Thu, 18 Jun 2026 02:07:04 -0700 (PDT) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c4327ac794sm192112835ad.46.2026.06.18.02.07.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 Jun 2026 02:07:04 -0700 (PDT) From: Praveen Talari Date: Thu, 18 Jun 2026 14:36:40 +0530 Subject: [PATCH v4 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: <20260618-enable-spi-on-sa8255p-v4-2-f5b5067e7e1e@oss.qualcomm.com> References: <20260618-enable-spi-on-sa8255p-v4-0-f5b5067e7e1e@oss.qualcomm.com> In-Reply-To: <20260618-enable-spi-on-sa8255p-v4-0-f5b5067e7e1e@oss.qualcomm.com> To: Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Konrad Dybcio , bjorn.andersson@oss.qualcomm.com, Praveen Talari Cc: linux-arm-msm@vger.kernel.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, mukesh.savaliya@oss.qualcomm.com, aniket.randive@oss.qualcomm.com, chandana.chiluveru@oss.qualcomm.com, jyothi.seerapu@oss.qualcomm.com, chiluka.harish@oss.qualcomm.com X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1781773609; l=2697; i=praveen.talari@oss.qualcomm.com; s=20251114; h=from:subject:message-id; bh=9YWKqHG9h+azs7B5xT1AGSTkv5a4OvLQRAny2OdFtmg=; b=J4I53N1i41tzyPhhs7ATLMiLulNR4q3N5bXGGJ7vdCNkUxLqQrvApk0P5NSUI0hMVkZBGVQNs EeqeBruvSUzCMou64jZwjB1ExfXxtj9Dt5F6GnlliksNvvmFimAiG8/ X-Developer-Key: i=praveen.talari@oss.qualcomm.com; a=ed25519; pk=NGK/88fjyHXgfhIKwag7+uIytOmyOypvZ/hDFaYPEss= X-Authority-Analysis: v=2.4 cv=TMt1jVla c=1 sm=1 tr=0 ts=6a33b53a cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=TXo2QnZ9t29hVJcr6pMA:9 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-GUID: dwB11YTUTwrV_Wrv5aCrkSBKn8NiB4lP X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE4MDA4MyBTYWx0ZWRfX9TBXhF8Z5mnF cZ5YpkLGfOxi59z0DhgXt+mpzK2V29ONCoRlZidA9LuxHbdI9kOhYyJADv6EzcmcmVy9QCpLRG7 iAtpInwJIDRVFtFlCmCx0Vn60LpuLNk= X-Proofpoint-ORIG-GUID: dwB11YTUTwrV_Wrv5aCrkSBKn8NiB4lP X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE4MDA4MyBTYWx0ZWRfX1NFlkZQxp02y LUGCfHhHcv/zI0J/0JP0vy5xU2V1lyJpd556RqJ4OACRUHhmxtDS4+RC+rDKfFQwf1TRLQOVEi0 mgvNRPhVA7agu7y7jW3bhoYZIWe2im7Qam5/qIK4X4CngumLF/NeJ3m1Hmen+XutVRbIH/NOEG0 KredUOsrTsYJNvP88NGP1Tr9PwMzT+nlqnHZX0MV4a2nLGIRFLCyu1wmMQBiPQu9fxXgxJEvACK c2Ux6qp5evqu/MrGJn/YEfGC3+ko/TgGbNL3GIyie46smpQgQzoRDXFX1gbdJFBylUodKwCrKQV 0qvWgkk07Qg1PScrsOQvB1ouE+fBXwHH+qm2Xrsd+ZBIOQlJxUUeYM9WL9sSPD3KX2NdEXPDKHf kJ2yroqog7hx9GDXMTSiT5n/pwtT7KJHjM5LncyEyJr4Fbm6IsvQULH5b44iO1R1T29O9X2Aip6 lWzGuLPaH7uRArTw8bQ== 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-06-18_01,2026-06-17_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 bulkscore=0 adultscore=0 impostorscore=0 priorityscore=1501 suspectscore=0 lowpriorityscore=0 spamscore=0 clxscore=1015 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606180083 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. Reviewed-by: Konrad Dybcio 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 26e723cfea61..09feb6577efc 100644 --- a/drivers/spi/spi-geni-qcom.c +++ b/drivers/spi/spi-geni-qcom.c @@ -1045,7 +1045,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); @@ -1060,10 +1059,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 @@ -1079,17 +1074,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; @@ -1115,24 +1103,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 22 01:39:16 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 721623890EA for ; Thu, 18 Jun 2026 09:07:12 +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=1781773636; cv=none; b=DLI0xnXbDoh7mvZ3bzWWXNN1yR3KPDVesNlaPr42P3ZiD6OMaWX3/AZkbZ36ZutQD+XhOtirDDG5psNjElS/a6SgvF5kfzZfAmIX0j7qK0rPfgueFxwQgj1mWlVrx/YLa67JO7vdAj2h/Gd2Q3soYoCCUID7AjaG6qsblKnT0Og= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781773636; c=relaxed/simple; bh=/txVxAvLF9aMAGkR9CXzGeWqGotHA5mWrN9Q3pLZeUQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=U7xXlI3K4WN6QxRYxUZHTHPMGLR+AH1dyuhFcjHcZEQA8Trc98g7uuQnmISdex740H7Ev1mY1U0eIO5C1rxZS/7W5HMxHbUwTn+sckZNLbLZVIMQXIvwHzMEAipwhGaGN1vuY2tvLcFCAqUZfOylYUsjEpnJWTQz2Tsv7VG20p8= 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=ZSzMwuFa; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ZuTSjRjk; 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="ZSzMwuFa"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ZuTSjRjk" 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 65I8qki61325927 for ; Thu, 18 Jun 2026 09:07:11 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= FNTRNEjUl2bB1SNxPHc/nBXY2g2gOYZl5SKxQ13yWaY=; b=ZSzMwuFabmz+Foca YJGRHEaoDe9xSh5MWdsbu2cyVGxP5SsFiLiVC+7DPUwyxMpXjp01PkxCQw3FTisL LRuTa6qiUKFW6G5ZQt2LKWxAJAtreiZNESjxPQuoNwbferRxZsvbgbtN6Eo1B31o o29kCqt4PJ+9PPWcQOBzI5qjfQZb4IgZWVQdfTYv1a01BIv1LNLYXC/Q+ImtVCzt 9Ob/FFGmRoQnKZYxivtj3yGXhdnuBt+7p3rHG4SJyAQJw++SCUctiaMwcaVuZv2Q zmn2NEblxvM8yOd1cv4DUNpPerwLlokwryOtdRoPkzijmbcOm5nPblciOfCrXN1E k5mekw== Received: from mail-pg1-f200.google.com (mail-pg1-f200.google.com [209.85.215.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4eux2jutyd-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 18 Jun 2026 09:07:11 +0000 (GMT) Received: by mail-pg1-f200.google.com with SMTP id 41be03b00d2f7-c89956023dbso222563a12.0 for ; Thu, 18 Jun 2026 02:07:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1781773630; x=1782378430; 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=FNTRNEjUl2bB1SNxPHc/nBXY2g2gOYZl5SKxQ13yWaY=; b=ZuTSjRjk1KOqohHEryWUU2K2N56wsQg/z/e3nX3fYZzXrB9pWqhxtARsN+W4xLqfHJ VHSSisIj4M+x+Vt9aHT3+RoL8Pqb/iVGjYspTto65rdceqm5w3q37FeAe/UMokLG6T+2 N8u3slfvgaeHgBpGtzJNwb6TuEffX4wSRc5CGYKAexFqAkK+0a2aLW8LTIohKjJEnGrP 7A9ZYAc6wGoM3L6vvb92MXing3mfaStIu+zueNB5PBsaRRMOkAlcz/A+pnyQft9CakJG GwQQnRHmj7poVUTrmP8EiyyJU9+zRPMfk7CONeNhDmjUa1ehLvtjLgKLDxg9YIFOzGBH q2XQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781773630; x=1782378430; 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=FNTRNEjUl2bB1SNxPHc/nBXY2g2gOYZl5SKxQ13yWaY=; b=SPAow4hM01Uq6EmXcHkcVE/Wx5kKiioDKFq5Lm6uTShE+32G5mqZiF7n/+9mNnC9nt ZIn7CmiW3C9xNADlTpUI63rkwvjmcb2o6G4qkDVajIwin9ji7Vn50Ynr1vG6tZPf+LjR udUOYWkQtHMI4WHkmIVf+Hnh1s0WZwUgB22ulPG2xtJx73PhnTy9FqHXmArXc5Y240QE 3eFcO7+e2HlA/Af+7QdKiVmG+BoEI6sNmRslNIO1bhn6OwWh7Pe2F9QOh9Fz7KPaX/xo 1FcO3111Q96utSufyV7Zicco35S63BDc3OWM95vhkcQCp9FNMo1oPixkOkCUMHWw8N3w YWzg== X-Forwarded-Encrypted: i=1; AFNElJ9dqFMPh0rjByBjsPPfdPvUjStE5jSh7AgpQmaSAJf6gVokkSxGvLM3ouflkRitwZjKOmAdW+jy7bbPPwg=@vger.kernel.org X-Gm-Message-State: AOJu0YwWDkQrhPW0iSJqnx98lKnoRadsmyt1ZWArSJ5YHtrrf934Ab8f n91m3/Y151WG9JbvaYBU2BZRvejeWEbmxwgjfmuIrXFvr7jSngYijJYw0QdgsOYFmcTM88rt/K3 F1LO8FiV09fzdhGrlXjgTIY+EOjjXwhESE+9pG32RHzyUfAB4Ri1xtCh5iQH33OC/gSw= X-Gm-Gg: AfdE7cm6gtj54e9Wm7uHyAudNKIF5MQ4M2XvnrrnXqSFewgykGmWRPGlWLQ6KJY7BMB 1e+2oQZyGlhLVLKIaBGkRRnAEzpNHD/8jKej8Yu9rbHtytj3X4rzV3InFGkNNAX/tsMVQdbjoxR rQsfu3tX4Tm/fp8IwpAz4ZG6GTjWOt3nK44b3uiworhitRFxv7DxJVVSOrdPaLqnB9WLfIW1xpa 0Nxo1PcUy/e90BAMAS9cbmf8iqBs7o2rukiWThCdjmZCyo9jLr1iq73j7KKnB0t/WbHaO4VGE/4 qTqHroGYZ7ZizdGLPkfbm34HTnzjo6JxvFpMLspakqa+OsUs3vJPNYRL1O/8s+OvMftu3Zg1r47 P0LY96HP+IkMHvXS6pWd9nnfb4Mqi3DEml+MRjDEUP6hR X-Received: by 2002:a17:902:f790:b0:2c2:21e9:5a7d with SMTP id d9443c01a7336-2c6f347dbc7mr20749565ad.34.1781773630390; Thu, 18 Jun 2026 02:07:10 -0700 (PDT) X-Received: by 2002:a17:902:f790:b0:2c2:21e9:5a7d with SMTP id d9443c01a7336-2c6f347dbc7mr20749005ad.34.1781773629882; Thu, 18 Jun 2026 02:07:09 -0700 (PDT) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c4327ac794sm192112835ad.46.2026.06.18.02.07.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 Jun 2026 02:07:09 -0700 (PDT) From: Praveen Talari Date: Thu, 18 Jun 2026 14:36:41 +0530 Subject: [PATCH v4 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: <20260618-enable-spi-on-sa8255p-v4-3-f5b5067e7e1e@oss.qualcomm.com> References: <20260618-enable-spi-on-sa8255p-v4-0-f5b5067e7e1e@oss.qualcomm.com> In-Reply-To: <20260618-enable-spi-on-sa8255p-v4-0-f5b5067e7e1e@oss.qualcomm.com> To: Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Konrad Dybcio , bjorn.andersson@oss.qualcomm.com, Praveen Talari Cc: linux-arm-msm@vger.kernel.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, mukesh.savaliya@oss.qualcomm.com, aniket.randive@oss.qualcomm.com, chandana.chiluveru@oss.qualcomm.com, jyothi.seerapu@oss.qualcomm.com, chiluka.harish@oss.qualcomm.com X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1781773609; l=2053; i=praveen.talari@oss.qualcomm.com; s=20251114; h=from:subject:message-id; bh=/txVxAvLF9aMAGkR9CXzGeWqGotHA5mWrN9Q3pLZeUQ=; b=XlCL9PArLwZ+b4O6accMSjXrsls6A1CgsKC/2t4RXFFnqwlual08eHzfbWc2FWVDll/pB/6By 7+lhi25hJ1gD9X4x/vC/oXmZXeC3rnqwZXxmsXYcM/sEom/Ct4RyfGb X-Developer-Key: i=praveen.talari@oss.qualcomm.com; a=ed25519; pk=NGK/88fjyHXgfhIKwag7+uIytOmyOypvZ/hDFaYPEss= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE4MDA4MyBTYWx0ZWRfX9ojrBrRqd6wk lSa+VCky21/fRDhU9VV3xdiO+5yw6xnah/wrrqWcvywPxQdTbz3S2O4SBSnXLxjY/baVwFXqS4J jWcTmlX9xhADzwNfmNDB7YPGWce4W7jRzgsR+X8Vex4lNgCY3+p4EGT4nqUUsNGNr0ItiP38moi OogLzHO3tvkZ+T7J/ylZE0nmabOmgjoaqp+g5D/qVuTzhK819QPTV9O22QWieF+19EFZFGUVxUF ERHgizoGkWbyM3SwzdBRL8boXEv20uby/9vw06xGVcRoHoJSIzg0t4iaPY+BrKJzXjQcxmKBmQg nFtIfqJVjbjaTlQK07QCl1cfaY0JmICgfgJjOBY2m1qkUot4kerYV1dL+PuelMRuD4YeUnGSjYL aQttgJmwPtfLZx/PlUh9ruUMiGohMrVht/NOsbIXOknCd+fBP2OUTWiyzSgN5URPZ3c7qk6U5sf CkOOZ+2qDNBetpqZVdg== X-Authority-Analysis: v=2.4 cv=Fsg1OWrq c=1 sm=1 tr=0 ts=6a33b53f cx=c_pps a=oF/VQ+ItUULfLr/lQ2/icg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA: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=3WC7DwWrALyhR5TkjVHa:22 X-Proofpoint-ORIG-GUID: VWYC1cXMTaSLYAbE1YhuXgH92IOxaU6e X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE4MDA4MyBTYWx0ZWRfX6alka36FbPVh HUQ2WPe8za2KKcBWDq+lODUxjBJD7ERHcFWhnSXmWxra1uWCbg7NRY/352q7lwzKEux48IaO8NO D5J9az6gbgVphNbAwGM32OeFnuLlWjw= X-Proofpoint-GUID: VWYC1cXMTaSLYAbE1YhuXgH92IOxaU6e 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-06-18_01,2026-06-17_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 bulkscore=0 suspectscore=0 spamscore=0 phishscore=0 lowpriorityscore=0 malwarescore=0 adultscore=0 priorityscore=1501 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606180083 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. Reviewed-by: Konrad Dybcio Signed-off-by: Praveen Talari --- drivers/spi/spi-geni-qcom.c | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c index 09feb6577efc..025165c4b952 100644 --- a/drivers/spi/spi-geni-qcom.c +++ b/drivers/spi/spi-geni-qcom.c @@ -1130,16 +1130,8 @@ static int __maybe_unused spi_geni_runtime_suspend(s= truct 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) @@ -1148,15 +1140,14 @@ static int __maybe_unused spi_geni_runtime_resume(s= truct device *dev) struct spi_geni_master *mas =3D spi_controller_get_devdata(spi); int ret; =20 - ret =3D geni_icc_enable(&mas->se); + ret =3D geni_se_resources_activate(&mas->se); if (ret) return ret; =20 - ret =3D geni_se_resources_on(&mas->se); - if (ret) - return ret; + if (mas->se.has_opp) + return dev_pm_opp_set_rate(mas->dev, mas->cur_sclk_hz); =20 - return dev_pm_opp_set_rate(mas->dev, mas->cur_sclk_hz); + return 0; } =20 static int __maybe_unused spi_geni_suspend(struct device *dev) --=20 2.34.1 From nobody Mon Jun 22 01:39:16 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 D8F223B14D6 for ; Thu, 18 Jun 2026 09:07:17 +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=1781773642; cv=none; b=r4+cLOQrRS0zdQ1gIHcwWT8fK1JwJBMoQoYfMCrJgRE5ydDe1cGMwVdHWShx3rTamKZfUjxGCwMET3l7jHK9RqSTSP2yi2D+1p+xFiHBzXLHmsrLOdD9tHQI9V/VAttmT4QP07u7gDmpXaVNEv4hOckW/P8nFLDrrQDpwWEVrHU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781773642; c=relaxed/simple; bh=+TieoSW0TmXJj9IhSw1FzzGMD4+YbgkEWimJ3NK1Jc0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=FsXoxhkIrE23/qItjOaoL/93Yh1Graz10HeCYilQNrKzBjM+Dx67dj+HmspG12XkWgUKvWjYSCrXgSHD1PVEEI8HyGUfg5su41pXRBHVt0du/azODPCWy98ETAVaKHxX/nXCVLIUnxFPJAYKsIMSpFSLIEpkHnKppv8Y6nywbqc= 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=Og7fUaN9; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=eDC8m88u; 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="Og7fUaN9"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="eDC8m88u" 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 65I8G1mM1157459 for ; Thu, 18 Jun 2026 09:07:16 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= me/ZeZGBFrRxMjpUXscm+km+tQIrTlS4RdikSDJkC3s=; b=Og7fUaN9QfFLOryp MQaH47TqY2dvKQjEmN7ZR7oxYbc7eJoV70OFmevJYSiwqZqXIC9Y4hNQ+8NmKYil qUJFyaL2XdeL92/oI2f1kSoiIkoljBqNH87l89ddP8//J/K6pVfmlZEAKfL+2zGj wNb8Zz3mKFx0/f+RFtn5/AY7XN7ZY6f8mRcHGTk2JjeD2iT4jsct2TuB1o+qj8W1 bQsV2UEiVyjBhYq93vbwihapa8+mFBjhLYRAIpKzuJYmOY0zaH2Ggd7rTQI5/F6w iQlEQA7wAiF3fJDKnO7UMiTATVOH4oksyk/5TPUcYzh/csyNcOmd3lXM3V2k1MJ8 z3QBdA== Received: from mail-pj1-f71.google.com (mail-pj1-f71.google.com [209.85.216.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ev19a2ny3-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 18 Jun 2026 09:07:16 +0000 (GMT) Received: by mail-pj1-f71.google.com with SMTP id 98e67ed59e1d1-37ca2bf8e39so788162a91.0 for ; Thu, 18 Jun 2026 02:07:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1781773636; x=1782378436; 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=me/ZeZGBFrRxMjpUXscm+km+tQIrTlS4RdikSDJkC3s=; b=eDC8m88u+0GFivRyO7zsDp7HXesjkPLuhdlO6XNEIuJVd30DDj9LkWMuJ0Oop3gKFe Us0SGlIuJMbcuzZVt+nSfAqzR0KAYDUla3jgk85WrVdO5zZHcZmMwQz4G/nTXzkeXeaC jHeQWmd+ohtF8D0wkr01NShB1ZIkdRh8bkGi+5cSfddNzMN6uMN8yQqooEri8Su+J9Gi GKMT7PNDQFNquLHZ8UTvJWcxTBmJWcsWLRiqHjXoxtfzHSTKsa0fpRC6AICO+GazsQW3 UyaQeONwFQWOmyaMrZJPyb4RgCr6o9wl3cttdxlZWATUYP0quGLel8+Df7PAU4+WC6Mr H/ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781773636; x=1782378436; 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=me/ZeZGBFrRxMjpUXscm+km+tQIrTlS4RdikSDJkC3s=; b=bSLfKfAZFKNf1HWwlGzzX7/RLjYpM+ZgaiABNG8wfVN2x5pVSSXKm04Z+x7k+sruNU zSU8zyQ0EM0hIMVv42Wat0cCmjHIy2sR3PKtIyIvsJiapjTxzkmYXl5PKZP9d+vaeFlm T+XM61/9O2eLG/xzwVk8AuvSqcWC7Jlz31qNZsl1XSlfbNfHxOekjNmwDxAW8SsrlnEb HyNitYBPM+9++RN1R5TQjPCl9qb6hQSk9s8jAXB4wDCDqDeZEfZV1l4p4BD+M3tAruYW LAXyNQDYlIdIgDrT0ipT3L4eNxvMEGiiHr5uDeryEjO/sDCMFYDMY7KnGqtw22jE5Gu7 fxsw== X-Forwarded-Encrypted: i=1; AFNElJ/R6RDQVxwYbHYuind3BqBnfdHRAR+85sdYJmz4ensBraJZPxoP1iXN4NjPkRVq9TCwcJKeiVToVB/FFcw=@vger.kernel.org X-Gm-Message-State: AOJu0YyTBI7Y+cHv710FLLywjktwxeQoEwhL1dOC2er+nfhJdFs8MqkP wZl5SNar0S7Z3v2AXB4IBmJcDVS6QHiwmcz95fum+nuD8IQKf+vlTFnf8PnREt48A3rzwhTjEls cN8DA+cvGocZnrfqPjJAtce/ZI5S8y4Dff0QKbFe5Dmzby9CEdGLCbFNa4I6V/MswLP4= X-Gm-Gg: AfdE7ckqXOXF4EzBS6IpKiOi/wqmUyJIVvTF8li+avNc4v4odXqkj6RQ5kJdRVMEPa4 l7nzxBWGtiLisccJq1s+cxRuvenZU2m5S78HiXUNYGyNAL9807KAycSPsksM3PJ4hxpwT8o2kRw BxOKCWao6EL4JEQqPMa1YQVd1+oyCUrQw2v08r7G8MGFUiWWq4U86n1xLDCJmujJnDWC1M3L+r8 bvKzUAyK7zyxaoExawRevn4SoDfrNRbOTmxiJdLrx2HO71Zxq8vNxxngxFH+rZfEn8LYvryzBqc alXMTY97k+/SUq26oKGZEjL2HmFji+9sUyRvXPDZCVIl9WT1SdEv3f8ybr/0paj3Grqqs/IbeeU hpii57+tAiaUhQS2LYDI1czbGapA7D0p7gZu8CwjiR69O X-Received: by 2002:a17:90b:394e:b0:37c:ad9b:680b with SMTP id 98e67ed59e1d1-37ce459e168mr2757702a91.20.1781773635599; Thu, 18 Jun 2026 02:07:15 -0700 (PDT) X-Received: by 2002:a17:90b:394e:b0:37c:ad9b:680b with SMTP id 98e67ed59e1d1-37ce459e168mr2757655a91.20.1781773635039; Thu, 18 Jun 2026 02:07:15 -0700 (PDT) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c4327ac794sm192112835ad.46.2026.06.18.02.07.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 Jun 2026 02:07:14 -0700 (PDT) From: Praveen Talari Date: Thu, 18 Jun 2026 14:36:42 +0530 Subject: [PATCH v4 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: <20260618-enable-spi-on-sa8255p-v4-4-f5b5067e7e1e@oss.qualcomm.com> References: <20260618-enable-spi-on-sa8255p-v4-0-f5b5067e7e1e@oss.qualcomm.com> In-Reply-To: <20260618-enable-spi-on-sa8255p-v4-0-f5b5067e7e1e@oss.qualcomm.com> To: Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Konrad Dybcio , bjorn.andersson@oss.qualcomm.com, Praveen Talari Cc: linux-arm-msm@vger.kernel.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, mukesh.savaliya@oss.qualcomm.com, aniket.randive@oss.qualcomm.com, chandana.chiluveru@oss.qualcomm.com, jyothi.seerapu@oss.qualcomm.com, chiluka.harish@oss.qualcomm.com X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1781773609; l=4812; i=praveen.talari@oss.qualcomm.com; s=20251114; h=from:subject:message-id; bh=+TieoSW0TmXJj9IhSw1FzzGMD4+YbgkEWimJ3NK1Jc0=; b=nG4G7e3ICdOdmKE5Wjh8NgCoMuR57zxjGN07GNne5Qzbm+45NWikiB5HAqxwzXhOWSvOl2HAO n9O/LZxxrNpClK2uHTpcVWc1f6T/1AAO2uAe57CfNW5YOkUVEEj0VsG X-Developer-Key: i=praveen.talari@oss.qualcomm.com; a=ed25519; pk=NGK/88fjyHXgfhIKwag7+uIytOmyOypvZ/hDFaYPEss= X-Authority-Analysis: v=2.4 cv=YbmNIQRf c=1 sm=1 tr=0 ts=6a33b544 cx=c_pps a=UNFcQwm+pnOIJct1K4W+Mw==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=L4oeRUVQnX-q_C5JrjwA:9 a=QEXdDO2ut3YA:10 a=uKXjsCUrEbL0IQVhDsJ9:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE4MDA4MyBTYWx0ZWRfX19egm0cF8RTI r0lSJOoUu9RtasFcocK3/pJas1w9VHn++5jLaGBjv18KvAfC+sjdACghiuj1ir17ukSxIhZw2Sd VQdmmBaT5uhIl/kEUUnW9U+63d4m04Y= X-Proofpoint-GUID: 3SVFTEB8yopxpkg-XSn6MBHuYDIvw4oK X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE4MDA4MyBTYWx0ZWRfXz8Mm2cogQnak rxbg29h5khw/lQz2z2EFnEywpZLxohlmXSlxeiz5mzpTq37r7BFUx7e/9HSfFJKw/omxugEEfUh 0gjMqpKuhoy+ap+Jdb5LsAhiarkEMAxEGR4HXwolnaku5uwZdPO08SFDE7AXFPvvSpN6IZNWM4T VBNMvq7Ld+l1N3VSWK6uXGL9jA80xxzCwMLRAUqI8HTnL2WOwNJSaWBsf4gve8GFahg1xhlhlHE b7OhwB0ANxCv9TcHueN49lR3Cm0YyH2rqwQBpA+5o6IeSCn3LYxfUNRciwtS73kMySHViehbwln fN3w4bN74tfXxpeV9sqhtrILC15jL/c3yGjt/udY45kMwo9Q8/mmTvlsaaKgguOvixsSBwEyflL ZAUp+Gd/aDAkRYcrNyzCkdcRePwWWAeWdGKvc8zpT+9fTp7B6qamIcE1ShqGmE10GmfwBpZA5JR TTFUbItRjJPKRJgzISg== X-Proofpoint-ORIG-GUID: 3SVFTEB8yopxpkg-XSn6MBHuYDIvw4oK 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-06-18_01,2026-06-17_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 adultscore=0 lowpriorityscore=0 bulkscore=0 malwarescore=0 clxscore=1015 impostorscore=0 spamscore=0 phishscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606180083 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 --- v3->v4 - Added return check for dev_data. --- drivers/spi/spi-geni-qcom.c | 49 ++++++++++++++++++++++++++++++++++++-----= ---- 1 file changed, 39 insertions(+), 10 deletions(-) diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c index 025165c4b952..88ac0833351c 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) @@ -825,7 +834,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 @@ -1075,7 +1084,11 @@ static int spi_geni_probe(struct platform_device *pd= ev) 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); + if (!mas->dev_data) + return -EINVAL; + + ret =3D mas->dev_data->resources_init(&mas->se); if (ret) return ret; =20 @@ -1131,7 +1144,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) @@ -1140,9 +1154,11 @@ static int __maybe_unused spi_geni_runtime_resume(st= ruct device *dev) struct spi_geni_master *mas =3D spi_controller_get_devdata(spi); int ret; =20 - ret =3D geni_se_resources_activate(&mas->se); - if (ret) - return ret; + if (mas->dev_data->power_on) { + ret =3D mas->dev_data->power_on(&mas->se); + if (ret) + return ret; + } =20 if (mas->se.has_opp) return dev_pm_opp_set_rate(mas->dev, mas->cur_sclk_hz); @@ -1188,8 +1204,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