From nobody Fri Oct 2 02:38:17 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 898E943F4A6 for ; Thu, 6 Aug 2026 10:14:05 +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=1786011247; cv=none; b=YHO3C3BVvClxe8HMD2NZ/pQp9QNSy4B5IpTrV/CUk4q5xeuEji5ggabycv4yEvKgp55mcWsK3LC4oe5BXXayDgyffgbLTtIslCCRWWZ0yhWG5UFHw5cSL3cyBthPoX8DHvoxikfgMDt9iPHVW74sml3Rw2oIqRZaalb2BjZf3wo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786011247; c=relaxed/simple; bh=JUVS2amGiaPLu8SuTSLsk+M0TeDAtxBBS1V1o1S+vsI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Lsme5aiZnAuAZaa/MbJaBRiST43+VyZrrhh3oBXkcxK5cGyg1PcCr4z2arF3wgVmYk7iOrxK06GfPi980NEuWA/o7mglDl59lFCSJgqj6KTFYy9Z9jU0P/gVPYoBLnhC1vuPHUDlIWJKi/c1abU5fUuTaC98dvy2+FUgBuzz6w4= 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=NYSW0JEh; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=O1uO9YKK; 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="NYSW0JEh"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="O1uO9YKK" 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 6769nc4Z1580570 for ; Thu, 6 Aug 2026 10:14:04 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= UYs1i5dax/v+Ga+Tp9QxPnFD0dw1JUZ33BO7o3W+tUI=; b=NYSW0JEh3v2EdsfX LtIAWGyov+1ccl/AcPa1R0nfsI0noeWu0u9jLqd6Hqf0OIVEFp8IVScXxrWPQfME 7KHSwYAGYRkN2ZIw/r1vS3HwQX6NxAgy+hBupUfI4cP+byXpWX5ue7Fcl84MeckG C4AgRcQJkIlJLF7tGUtyedxkZWQqIEXdPJdSHR0l89t6V0LzF2KWPLN5pqGL4RXe FjKw/tsfQRNZ7S0JGRwpF4R8PxN7GmPkbzx8JyVFwWS4dwMz7YANk4N/BM+RKVfz vGH2TdN7qxKlyYdgdFv0gYg/7EvHRSpSn//W0LvIkfbWurEds0Xaq5uxYFMbR8L6 UxukrQ== Received: from mail-pf1-f197.google.com (mail-pf1-f197.google.com [209.85.210.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fvmrjh19v-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 06 Aug 2026 10:14:04 +0000 (GMT) Received: by mail-pf1-f197.google.com with SMTP id d2e1a72fcca58-848860def2cso2405940b3a.2 for ; Thu, 06 Aug 2026 03:14:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786011243; x=1786616043; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=UYs1i5dax/v+Ga+Tp9QxPnFD0dw1JUZ33BO7o3W+tUI=; b=O1uO9YKKUiithdjQiCAZ3uqjD65G1605pOAgGeHiGlIDV3yG1m0wDh8DXS+/Kp5uCk KovmXtenSBi2srqNHb1bmUj35/dKs+gJPlCe888CBCuu/qtkai4BRnEAZyDA/e5BBhwK a3+ujoeDlaO5wgqL7OUdYgBp1zv4fECsV29kD4CFwWVQHyQhxevL+q+yUYKZJtVx6fFF Zr4yCUq3zXYlWbaXazauzKQYozi6hAV6khdPMv8l1nErldCYZCssIC/hHtsFX8qBrEnu rCtAmqtmBhYJVOD4mHodwUy1zqHdF7Dn+xn9s21xMj1Ze98bqp/blVrEp3AwlcZ8qpsm /A6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786011243; x=1786616043; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=UYs1i5dax/v+Ga+Tp9QxPnFD0dw1JUZ33BO7o3W+tUI=; b=Ydxg8ZPeXfGYPTWMo9uALvDaIep1VLCQ8cb1CSzJNTZ55G4cLWkQPgQ9okJlF+Rqr/ nB4pY0KfH2ys0EGcYfqrRRKGogRxtpVEeb8pOIiC7mqIhKI3I9NmUxAoCK7nxVXhi406 iBPqp3eHwZLWRUXq/qP0sAY1Y8kyH7fsRGwsc2X+4eA4qK9F8jFbB/eaPQ/m1MhZ+cNM 1ALhx30H/8BXT7NvdCTsIJe02bM/dC+z8G+elrGbIU5SoJixJFc/Snb9jl5SfG6y4b6S pEuqx8fh5Gpg4nvAoMd6RUhrCLkVppkdj7a15Y3IoejsLLSAFMZtiAqySVWI0Mebnbcz WSfw== X-Forwarded-Encrypted: i=1; AHgh+Rq04ygmJkqVbzAIIh5PBMr3s8tiQygVmotgCOMX2PNmhsmz2qDyoAnZS5HXXxujDp/8PQrw08Xf6h7K23w=@vger.kernel.org X-Gm-Message-State: AOJu0Yw1h1BFfQUcM3pGcLnAdFmPRg/QVuJ0ufbyZ1DFtZNZk2kbLF7g u+O6al5oikFRnwzQl0UW23GxtIysuvYzu3M5kje3lAKVebskvlWGFQusz0qF/PhYt1GApQ23JvC iEC9wVu+JrqIm130M+wXesSDVJ0DAxLlp4bbOh5JJ2nQ7JqarIbdNyTN5KkmcnReIZSOyjuJcmc o= X-Gm-Gg: AR+sD12xIk6GklhsotGcvgvxQT/HkM6PT91Qad5/rJjH6hFAzYAQNBgxDBPJ0ZWdJ5b /0S4bDtaz67ceQbB/UjY4LU3wiIH2LehQ20sXGEM1SNNhU1l96nYwJEWKDpn6NDf8CbW5Erown9 YxnqmD0pswkP8sKcckf5GEvBCg1vDgpkYMG8Be7/zWTwnG90vug+tfa1RjHVVnoiqO3r7rELoHS l/RGn+GMdcOFy5z/rhCj6JrpHPOgF99HaTlETQ66hB/cLGURpdEh1VEUgjkL2eVc5BmFMJvzWMZ 0VgMcUELFhe9Zs6R2CQIU+aE41bfQPHRxXZ/8tRWQc/2hZ6ncWp1C6JlnxHW0/rd0m4eSwrMEe7 rEszRq/4DFScGdZrMM0qOWbu1z1lwnKzHQQ== X-Received: by 2002:aa7:9303:0:b0:848:6b76:592f with SMTP id d2e1a72fcca58-84f2e021ecfmr16611462b3a.5.1786011243110; Thu, 06 Aug 2026 03:14:03 -0700 (PDT) X-Received: by 2002:aa7:9303:0:b0:848:6b76:592f with SMTP id d2e1a72fcca58-84f2e021ecfmr16611403b3a.5.1786011242576; Thu, 06 Aug 2026 03:14:02 -0700 (PDT) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-cbe707c9970sm2668814a12.6.2026.08.06.03.13.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Aug 2026 03:14:02 -0700 (PDT) From: Praveen Talari Date: Thu, 06 Aug 2026 15:43:44 +0530 Subject: [PATCH 1/2] dt-bindings: spi: qcom-geni: Document device-gpios property 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: <20260806-use_gpio_to_notify_master_of_spi_target_activity-v1-1-c363a9b5df69@oss.qualcomm.com> References: <20260806-use_gpio_to_notify_master_of_spi_target_activity-v1-0-c363a9b5df69@oss.qualcomm.com> In-Reply-To: <20260806-use_gpio_to_notify_master_of_spi_target_activity-v1-0-c363a9b5df69@oss.qualcomm.com> To: konrad.dybcio@oss.qualcomm.com, Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Andy Gross , Bjorn Andersson Cc: chandana.chiluveru@oss.qualcomm.com, Krzysztof Kozlowski , linux-arm-msm@vger.kernel.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Praveen Talari X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1786011233; l=2211; i=praveen.talari@oss.qualcomm.com; s=20251114; h=from:subject:message-id; bh=JUVS2amGiaPLu8SuTSLsk+M0TeDAtxBBS1V1o1S+vsI=; b=fh1XDLwI043mgR0GIPSWqWhjVIRNFfG93oZjbCd7tBZTWKq3ltD7oJ349KNu11kPbkxpzcdzZ ghy3qZa3O/yDQkX6fPGpGqUgbnZg3pbE02ByzNVO+lnZ5xKM+uwWn1J X-Developer-Key: i=praveen.talari@oss.qualcomm.com; a=ed25519; pk=NGK/88fjyHXgfhIKwag7+uIytOmyOypvZ/hDFaYPEss= X-Authority-Analysis: v=2.4 cv=VNPtWdPX c=1 sm=1 tr=0 ts=6a745e6c cx=c_pps a=rEQLjTOiSrHUhVqRoksmgQ==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=Vu4POOTox8Ki18_upKsA:9 a=QEXdDO2ut3YA:10 a=2VI0MkxyNR6bbpdq8BZq:22 X-Proofpoint-ORIG-GUID: LQs_CQQcZcoKwICp0-SZSbIg70Z3jTMq X-Proofpoint-Spam-Info: AW1haW4tMjYwODA2MDA4MCBTYWx0ZWRfX67yPvsroqkJa hgAL/4nokuQFlwrWOYT8zdNQys0cl5xxGXiDpx4iD1KHwP8/5tb3VQpLvKiL2b0W4Cx/NbyLz8V KovyN/mrNOv6on8NoIafHQ8zzk9O3mA= X-Proofpoint-GUID: LQs_CQQcZcoKwICp0-SZSbIg70Z3jTMq X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA2MDA4MCBTYWx0ZWRfX+5scNCR1CoCT y59G/G+FTqmspY2KnQ5qvoZwomydaaYvLAUrUbn6fo0xb0YO113kN0TwyWjnwKpTgNlRyBIQ2Zc 4t6nymqWoD3Q2hT5lpFpkwM83bPQqEgrHQGU5Q/ATOFmKDyBYxH/i+cldDay5kLI44zBVC2ThPH jTex110MY8Lmyqsq+ewLJpxKF4Os4EhYQVqGJA5m8can8IUqSTVJce+R5Y/UcucWIAObWdmKYzr +ZuckK9CIvRSSOeZ8W/38hQ5LQ6EkgnAQhVslkBMJ8/fByA2mGUzasc5v8teDkTGa3Rb9lnV1ql 8QSb7KzH3p5c0rLMe2Sp0vbfpIzK9GC5YaeVVOlWxbXvLORCPG8Mjiih1IlFyWRT0cefl/vuajM iyrRfPRbCa6/kgSR218/rgP+yhklD2fEvHJm4GxIYZ54AIc6Nl9dVk7uePcVLgi6Ne0jXqsKCLT 0nF2ArFusR1Km0Gf3VQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-05_06,2026-08-05_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 bulkscore=0 adultscore=0 impostorscore=0 priorityscore=1501 spamscore=0 suspectscore=0 lowpriorityscore=0 phishscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608060080 When operating in SPI target (slave) mode, the GENI SPI controller can use an external GPIO to notify the SPI master about the target's active state. Document the optional device-gpios property for the qcom,spi-geni-qcom and qcom,sa8255p-geni-spi bindings, restricted to spi-slave nodes. Signed-off-by: Praveen Talari --- Documentation/devicetree/bindings/spi/qcom,sa8255p-geni-spi.yaml | 9 +++++= ++++ Documentation/devicetree/bindings/spi/qcom,spi-geni-qcom.yaml | 9 +++++= ++++ 2 files changed, 18 insertions(+) diff --git a/Documentation/devicetree/bindings/spi/qcom,sa8255p-geni-spi.ya= ml b/Documentation/devicetree/bindings/spi/qcom,sa8255p-geni-spi.yaml index 6552303a4f52..aa75cd6dab13 100644 --- a/Documentation/devicetree/bindings/spi/qcom,sa8255p-geni-spi.yaml +++ b/Documentation/devicetree/bindings/spi/qcom,sa8255p-geni-spi.yaml @@ -39,6 +39,12 @@ properties: - const: power - const: perf =20 + device-gpios: + description: + GPIO used by the SPI target to notify the SPI master when it is + ready to service a transfer. Only applicable in target (slave) mode. + maxItems: 1 + required: - compatible - reg @@ -46,6 +52,9 @@ required: - power-domains - power-domain-names =20 +dependencies: + device-gpios: [ spi-slave ] + allOf: - $ref: /schemas/spi/spi-controller.yaml# =20 diff --git a/Documentation/devicetree/bindings/spi/qcom,spi-geni-qcom.yaml = b/Documentation/devicetree/bindings/spi/qcom,spi-geni-qcom.yaml index edf399681d7a..d97f928e206c 100644 --- a/Documentation/devicetree/bindings/spi/qcom,spi-geni-qcom.yaml +++ b/Documentation/devicetree/bindings/spi/qcom,spi-geni-qcom.yaml @@ -67,6 +67,12 @@ properties: reg: maxItems: 1 =20 + device-gpios: + description: + GPIO used by the SPI target to notify the SPI master when it is + ready to service a transfer. Only applicable in target (slave) mode. + maxItems: 1 + required: - compatible - clocks @@ -74,6 +80,9 @@ required: - interrupts - reg =20 +dependencies: + device-gpios: [ spi-slave ] + unevaluatedProperties: false =20 examples: --=20 2.34.1 From nobody Fri Oct 2 02:38:17 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 739CB43F4A6 for ; Thu, 6 Aug 2026 10:14:11 +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=1786011253; cv=none; b=LQttLVKVZN3NJhhJKJSh1JOzPf1+8OKXZKJJxnNW9HCt5Q1WYh/CwfydsMnq4CjieFkJnaLmKBoUWfxmcJ+PLvygOVm3f7JEeG78YKG5K55Tnp4JhRCz2aeLP3GGKfi0zDYaSb8OZ8JuZtPvFo07qklZ2iOZu65KqnZZ+6rOWtc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786011253; c=relaxed/simple; bh=V5V5s6ABXoH6ecteKraTt569MwVJ9lwyTYOAYyLIlWA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lAm3B7XCbrJBY76esm92A+Gwj5EgveXFy/uI+8YVlhgy99N9LRh+G2hIurMWLnwvskEQ8EfKjldN1kn54KHYYGL1LgGlRAHKe3omW0VQD8sYVgZu0dvw+ev3iQXGyo4CXN4eP7T2qOpHk0HA3G8ly3V8x9cmFx92lafN3phsNzw= 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=m+xCT3Cz; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=YE1LoVST; 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="m+xCT3Cz"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="YE1LoVST" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6769ndBl1578698 for ; Thu, 6 Aug 2026 10:14:10 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= 416ezvAa7vht3zxlOak+Weqz9U31JUNYz4MnW33AYGc=; b=m+xCT3CzsTA6brgR f68XPWovoeySZ9NDumAJ50iZorjaymkHUuFVL2u6/pVcqdpifEcXmKjyO7DZISwJ pprDhMFVgoTt3lB8q2wA69T4EOpspzkZLun9wwS+5r0T9rrgj6O3uLhxdXUgh+p8 sIvbK8aLSO/07hxaIhCzI2J5aJLlpRxOF2R6psnHceX8/fmcyojA33kSgiDXufor jBfBIxzdtlcl+wm6TfBGaKSImmWFc8TocJP9reVflUrR2ggcVzr++eE5BU1+Y7AT 5MjAhgsg5j9ZOV0EhilxU1bnd6BDgBpS17DTznZkKvm8UWN9F7qKu3xnIBxxq2gK HWof4Q== Received: from mail-pj1-f72.google.com (mail-pj1-f72.google.com [209.85.216.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fvju8hgfm-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 06 Aug 2026 10:14:10 +0000 (GMT) Received: by mail-pj1-f72.google.com with SMTP id 98e67ed59e1d1-38dc085b0a7so3042356a91.2 for ; Thu, 06 Aug 2026 03:14:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1786011249; x=1786616049; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=416ezvAa7vht3zxlOak+Weqz9U31JUNYz4MnW33AYGc=; b=YE1LoVSTVq5vVMnM5SLSTvSTaWNViXltihBiIdbKzbuWi+bFVqAwOCYqZ/BF7CXVZR C6kY1Lmc7hF1xyb7XYVMUGaRDx+Lm6ets5q/OVQlFktQTaluQ5aqRaxHMJSeJcYMVP9S excs+JoZQXpuwG4o1g4uMt+sPvlfwmyhkqcH1ahTPdTH0QmBlOJ7QxKkD9+xT7WX3BFk 4IkPV+HUorvVaDPEjVVEZXZ4QP1VXFOWnIV5KJgTjFjUKYvbCzEYOHLv8g158ncvDoRN itxzhLQ/OEjzsJh31WKRH5QTMXwcDtTbNN7dgv8cYkx4gGBJPsM7RgilAhpWrlTsxOt5 Ej/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786011249; x=1786616049; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=416ezvAa7vht3zxlOak+Weqz9U31JUNYz4MnW33AYGc=; b=NVgyRuJMYm86i77uBvUhuuHpCvwczQKu55Mncayjuh0R1fb8RnICGyu0nT/j94+fRv DkDc0td7CMACBAQfBayj4oXygF3kj+/OTUGDBvCeNXtR/DmMGaA0U8fYftNz5Ujx7Bju 5HnxMw9d5Evs9IPl6uDawAEjcW6SKS5q2ujlKE+fu9HkXzVaTLZp3eZvnLOYL7Xwp7sw bqQLYPt/13PVj+y4KvtZOUf3UswSrNWR/Zo4uOVIdBW6ErVcocWeZZRTgBfLLGv1a0HW X7hShvxWZQPGxZMkn39aQ5omm48cHCeh6iThGFoXzyz5uBaOxpJnOZOKkuf0aTbFO44G uOSQ== X-Forwarded-Encrypted: i=1; AHgh+RrXuJwJ32ohpFklitSLdsRqzYqQgX74WaMBgCwj9/d3aP4Se04CWPaKfaJKA53KrasvKh+hzCkwl+Ni6Ro=@vger.kernel.org X-Gm-Message-State: AOJu0Yw3VBjA35RnwrBZLYu7Z2K2GeuVRdYZnNWrcNynRiGre+clbo4B O6CTcbIwDy2TekDvONEK6B6oOciB32XlS55s3RC/VhSFyhFhPf2w4dUbS5qMdYMnyHI/sT1D+VR Y0SomFf3DM4wS0JKGMVCAo/mEWjdV8vaJiZdWqkFlCwHVezL8DOnagRzVAR1QkrBh+gokxHS3s/ I= X-Gm-Gg: AR+sD11dW0kqi6WN3RNKG5nw+sGbRjrP7fUqtCaSAtxJXHeC5C+28W35aua9rFxNFp6 95K1/hbVojobEtbq6GgOjsT1WMM9PYr0bmM/GjUG+DotzZkXg0bhTzl0ApU487FYJUL/LRt4iA3 kee7kal2xaIXIDKpUjpRVb45XrqutimoXBizIYOEZFuq63OVAUYbVkUAUOpNdc2X3nbyVQKUUV6 jUiyvIeP1Uz5Lci8K/hoRvW1R1y11VduvUD+v+hgfor358XvzkxOQmCfY/tfxYGPlMtA00QC5n8 s4ZPa2QoXBLX0bmng8Ii81UXW5yr7IuiSlnxDGH8Plv3rmt8+6Jp9iSNjN4cld487PaWBjxvDWn 9FbZZE8lFpeMecLRyPPXeNOypG1sYCFGrDw== X-Received: by 2002:a05:6a20:728f:b0:3a2:d316:de53 with SMTP id adf61e73a8af0-3cb85c0732fmr15100516637.0.1786011249083; Thu, 06 Aug 2026 03:14:09 -0700 (PDT) X-Received: by 2002:a05:6a20:728f:b0:3a2:d316:de53 with SMTP id adf61e73a8af0-3cb85c0732fmr15100334637.0.1786011247257; Thu, 06 Aug 2026 03:14:07 -0700 (PDT) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-cbe707c9970sm2668814a12.6.2026.08.06.03.14.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Aug 2026 03:14:06 -0700 (PDT) From: Praveen Talari Date: Thu, 06 Aug 2026 15:43:45 +0530 Subject: [PATCH 2/2] spi: qcom-geni: Use GPIO to notify master of SPI target activity 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: <20260806-use_gpio_to_notify_master_of_spi_target_activity-v1-2-c363a9b5df69@oss.qualcomm.com> References: <20260806-use_gpio_to_notify_master_of_spi_target_activity-v1-0-c363a9b5df69@oss.qualcomm.com> In-Reply-To: <20260806-use_gpio_to_notify_master_of_spi_target_activity-v1-0-c363a9b5df69@oss.qualcomm.com> To: konrad.dybcio@oss.qualcomm.com, Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Andy Gross , Bjorn Andersson Cc: chandana.chiluveru@oss.qualcomm.com, Krzysztof Kozlowski , linux-arm-msm@vger.kernel.org, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Praveen Talari X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1786011233; l=3714; i=praveen.talari@oss.qualcomm.com; s=20251114; h=from:subject:message-id; bh=V5V5s6ABXoH6ecteKraTt569MwVJ9lwyTYOAYyLIlWA=; b=FMqYfS8Uf9RpOP4VVG+4mnDIrNxYrkCSfp21CcgNIAgopjBtrmSVUEWIIxyI8VxaRQhKGu2Z8 CrCK3k22DeNDAem4S+X2BvPPJb+XzbcxiXm2FPJSDezOG/I2boLUKgm X-Developer-Key: i=praveen.talari@oss.qualcomm.com; a=ed25519; pk=NGK/88fjyHXgfhIKwag7+uIytOmyOypvZ/hDFaYPEss= X-Proofpoint-GUID: LealRBxrQRE-1R-Qw9k8vZaZ5fcPkrez X-Proofpoint-ORIG-GUID: LealRBxrQRE-1R-Qw9k8vZaZ5fcPkrez X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA2MDA4MCBTYWx0ZWRfX7lOcBcbn5Sth Ccod4Q4RMUX9BzBevo6I5NegTxlXUehpBhtPM1IH2NuxHTgtXIzut+hOAyPHSTY1TMKOFeNOQea Qxsy4eiGFxLKEZBepiX7Ja6EaHaDcDz1/hK/aHPM28EX1MnLfIiRwAmPsH9+mlsbAfidbCu/RdJ JbHRnI9PnYRPFPwCFS3V1DJZhKQYQaQvDLn2yeDwcMCoaI9fUK4ZdaVFwfOBatkV5h5JtvtYGZS ypi7PmQ86vKThkumyhBq51ZfIR0ywSBGYGOQy9IpoPnmVa6OeA2OCp7UPbrnFScpNU4U1u9W5kr 5ab2uELPJvGIS8ztj8hPbqdrBm0sXuLW92tVnCs1QeLIa8SMLPNpvJv11xApIu0aMCGKeUsFil7 00beC63lj9Q8++M+29OrXeTs9SAgSDGsol4KWe9a7s1JxFy8zbMCGohtyK0nYxQSjUw9fxTcXUC OB51p85WpQyUmyJ1kkA== X-Authority-Analysis: v=2.4 cv=K5cS2SWI c=1 sm=1 tr=0 ts=6a745e72 cx=c_pps a=RP+M6JBNLl+fLTcSJhASfg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=Fo9EMwYq_bmgDG0ZVhAA:9 a=QEXdDO2ut3YA:10 a=iS9zxrgQBfv6-_F4QbHw:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwODA2MDA4MCBTYWx0ZWRfX83aNq1rMsCmU Uu8zkAx0wI+Sh7TS916TMksw2pC0ujRiD3jACE/5IRp26TCgZ5Dfy9GHGOx8MQb453kHwWM2dWT 2CB+2HrIRFiKjhpguzALTzCOqAKNA70= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-05_06,2026-08-05_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 malwarescore=0 bulkscore=0 priorityscore=1501 spamscore=0 clxscore=1015 phishscore=0 lowpriorityscore=0 adultscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608060080 When operating in SPI target mode, the GENI controller relies on an external GPIO to notify the SPI master about the target's active state. Add support for an optional device GPIO that is asserted when a target transfer begins and deasserted when the transfer completes, is aborted, or hits a timeout. This allows the target to explicitly signal its availability to the master and ensures the GPIO is released in all error and completion paths, preventing the master from observing a stale or incorrect target-ready indication. The GPIO is optional and requested only when target mode is enabled, using devm_gpiod_get_index_optional() so targets without this signal continue to work unchanged. Signed-off-by: Praveen Talari --- drivers/spi/spi-geni-qcom.c | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c index d262206ed663..ffb8871a55d8 100644 --- a/drivers/spi/spi-geni-qcom.c +++ b/drivers/spi/spi-geni-qcom.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -113,6 +114,7 @@ struct spi_geni_master { struct dma_chan *rx; int cur_xfer_mode; const struct geni_spi_desc *dev_data; + struct gpio_desc *target_gpio; }; =20 static void spi_slv_setup(struct spi_geni_master *mas) @@ -171,6 +173,9 @@ static void handle_se_timeout(struct spi_controller *sp= i) xfer =3D mas->cur_xfer; mas->cur_xfer =3D NULL; =20 + if (spi->target && mas->target_gpio) + gpiod_set_value(mas->target_gpio, 0); + /* The controller doesn't support the Cancel commnand in target mode */ if (!spi->target) { reinit_completion(&mas->cancel_done); @@ -928,8 +933,12 @@ static int spi_geni_transfer_one(struct spi_controller= *spi, if (mas->cur_xfer_mode =3D=3D GENI_SE_FIFO || mas->cur_xfer_mode =3D=3D G= ENI_SE_DMA) { ret =3D setup_se_xfer(xfer, mas, slv->mode, spi); /* SPI framework expects +ve ret code to wait for transfer complete */ - if (!ret) + if (!ret) { + if (spi->target && mas->target_gpio) + gpiod_set_value(mas->target_gpio, 1); ret =3D 1; + } + return ret; } return setup_gsi_xfer(xfer, mas, slv, spi); @@ -969,6 +978,8 @@ static irqreturn_t geni_spi_isr(int irq, void *data) if (mas->cur_xfer) { spi_finalize_current_transfer(spi); mas->cur_xfer =3D NULL; + if (spi->target && mas->target_gpio) + gpiod_set_value(mas->target_gpio, 0); /* * If this happens, then a CMD_DONE came before all the * Tx buffer bytes were sent out. This is unusual, log @@ -1012,6 +1023,8 @@ static irqreturn_t geni_spi_isr(int irq, void *data) if (!mas->tx_rem_bytes && !mas->rx_rem_bytes && xfer) { spi_finalize_current_transfer(spi); mas->cur_xfer =3D NULL; + if (spi->target && mas->target_gpio) + gpiod_set_value(mas->target_gpio, 0); } } =20 @@ -1116,8 +1129,16 @@ static int spi_geni_probe(struct platform_device *pd= ev) init_completion(&mas->rx_reset_done); spin_lock_init(&mas->lock); =20 - if (spi->target) + if (spi->target) { spi->target_abort =3D spi_geni_target_abort; + mas->target_gpio =3D devm_gpiod_get_index_optional(dev, "device", 0, + GPIOD_OUT_LOW); + if (IS_ERR(mas->target_gpio)) { + dev_err(dev, "Failed to request GPIO: %ld\n", + PTR_ERR(mas->target_gpio)); + mas->target_gpio =3D NULL; + } + } =20 pm_runtime_use_autosuspend(&pdev->dev); pm_runtime_set_autosuspend_delay(&pdev->dev, 250); --=20 2.34.1