Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2196108/?format=api
{ "id": 2196108, "url": "http://patchwork.ozlabs.org/api/patches/2196108/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20260212213656.662437-2-shenwei.wang@nxp.com/", "project": { "id": 42, "url": "http://patchwork.ozlabs.org/api/projects/42/?format=api", "name": "Linux GPIO development", "link_name": "linux-gpio", "list_id": "linux-gpio.vger.kernel.org", "list_email": "linux-gpio@vger.kernel.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260212213656.662437-2-shenwei.wang@nxp.com>", "list_archive_url": null, "date": "2026-02-12T21:36:53", "name": "[v8,1/4] docs: driver-api: gpio: rpmsg gpio driver over rpmsg bus", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "f68640453099990116c222dd1eb08464c61e5085", "submitter": { "id": 74153, "url": "http://patchwork.ozlabs.org/api/people/74153/?format=api", "name": "Shenwei Wang", "email": "shenwei.wang@nxp.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20260212213656.662437-2-shenwei.wang@nxp.com/mbox/", "series": [ { "id": 492027, "url": "http://patchwork.ozlabs.org/api/series/492027/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/list/?series=492027", "date": "2026-02-12T21:36:52", "name": "Enable Remote GPIO over RPMSG on i.MX Platform", "version": 8, "mbox": "http://patchwork.ozlabs.org/series/492027/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2196108/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2196108/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <linux-gpio+bounces-31641-incoming=patchwork.ozlabs.org@vger.kernel.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "linux-gpio@vger.kernel.org" ], "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=nxp.com header.i=@nxp.com header.a=rsa-sha256\n header.s=selector1 header.b=B+2kif12;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-gpio+bounces-31641-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)", "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com\n header.b=\"B+2kif12\"", "smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=40.107.159.1", "smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=nxp.com", "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=nxp.com", "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=nxp.com;" ], "Received": [ "from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fBpZb53RHz1xvQ\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 13 Feb 2026 08:38:31 +1100 (AEDT)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 8CDA83116A6A\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 12 Feb 2026 21:37:57 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 09CBC3590A2;\n\tThu, 12 Feb 2026 21:37:57 +0000 (UTC)", "from OSPPR02CU001.outbound.protection.outlook.com\n (mail-norwayeastazon11013001.outbound.protection.outlook.com [40.107.159.1])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 178D233120E;\n\tThu, 12 Feb 2026 21:37:54 +0000 (UTC)", "from PAXPR04MB9185.eurprd04.prod.outlook.com (2603:10a6:102:231::11)\n by PA4PR04MB7936.eurprd04.prod.outlook.com (2603:10a6:102:c6::21) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9611.10; Thu, 12 Feb\n 2026 21:37:52 +0000", "from PAXPR04MB9185.eurprd04.prod.outlook.com\n ([fe80::b4c0:6119:2228:2ceb]) by PAXPR04MB9185.eurprd04.prod.outlook.com\n ([fe80::b4c0:6119:2228:2ceb%4]) with mapi id 15.20.9611.008; Thu, 12 Feb 2026\n 21:37:52 +0000" ], "ARC-Seal": [ "i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1770932276; cv=fail;\n b=uZoPUR6prgMbFnQlFHUz0mfZT5afm8LE6DTHO4juBpQnwZY8+xySTYxFgXHLHjpl7HWHQhKGGyZ/ml7Nc8cD8U1ltqwkI0Bc6ZPSQD3/XuNa24NEKjDYfqTG+QMlru1qYkZEkLXpOPQiJ2If/iIcyEfNa+Ao0Wj3vgMW8kIm9w4=", "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=mujHw5puhkoJpoBUE0rIgSCPBa9VKkCaXHrbxkHAO6ONvUCLMLOvK27JX34jW+K8w+yhUTBHGectfEG4JijfKOTm6h2FwC2i3A0BrnZ/ceMNosmUVJfkCUUTWKOCxoGW27pDc4lpYTAn/EqxvkYjasx2MIR/ePgq03CiBHg9HipIWis71lSqp4+bI2RQSneU+XF8XRp6hMCajY4lZc/emYZr/h16/VwOO4ubw01MSPMv8bUGc3KaxnuVrB5pMAdkdf2y3VsNabnh99hLcCnom3DqfmqZY8OJi32We2aDWpKmtvNU3UysspFtk1hb474XqmaFdvHMpL9loNNWu6/A1g==" ], "ARC-Message-Signature": [ "i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1770932276; c=relaxed/simple;\n\tbh=APEsHsPA+SRYAQb56wdUX3R6FUPFjBh/Kb6DW9xMkTE=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t Content-Type:MIME-Version;\n b=elzAOQGXXIDr8vcEXldvnwLomxqmiuDedqw2nXBrgiCEpJ86SxARiy3YNTugoI0hRFaKoWxk7fnQycl+NRSauPTOUjdcBgGrggXt2RgNRvvkdjiMiyIwRP7NPiBfIRlTRs2XEB6rS4yecDZMN0hnept5XjYJAeNP54ugh2wt4qw=", "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=WebKrxRlyhQT8ggoK9Qy7iVHQbwQ7XNNHQo1FQKijFo=;\n b=bMtab+/7leM5yye7IFI21f0an81BqHeGPMyrq7FyxwMM/uvicly8sBsCf8iH6RDApJo7eSEJ7CTMuwG0UHS/pDtfk26NVA8nXJAL/r7wy55EPM7Y9fqTE9sOJMI5V1/5Tz74ftyUGFQC9oQI+o5ux3YPXMazpSTsVhs8BdC3zwkez/Bq1pkKKEVZwZeXZarUMcx39F0xRpDM+Eam1HXE/95U0i7m2oWUYMOcUuaIwGlmKI2tivW+M9FYpLbOQAvdQGyQjaaZZXiEgMKykKiwBcmjmrbwMGY1ch/OoJNgADs9pITkShvwdBAR2069p1TX81jUJOgpLnXRoOXkltBhfQ==" ], "ARC-Authentication-Results": [ "i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=nxp.com;\n spf=pass smtp.mailfrom=nxp.com;\n dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com\n header.b=B+2kif12; arc=fail smtp.client-ip=40.107.159.1", "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass\n header.d=nxp.com; arc=none" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=WebKrxRlyhQT8ggoK9Qy7iVHQbwQ7XNNHQo1FQKijFo=;\n b=B+2kif12fv3/l+UIE4lY0wXpITaE1YCRBUIB740M+SXEH+Ii4HlSjqu3WFN7vRWnjPDVk+gBoOejFX7jo3Z4xcXILJgWGuyJUX+xphKgU4SFbqMMORiDx+qzUn1uAqu8StZLaiMLHr6TC7ujmkSPi4gRXCXnOwzis//0rrY0CdjxgD2tPIa9u52rzMMHUoADAfIGJ2bflwz7/LLKWYK6IiC/RhyCCBMjir2wLSBJX2xrv7SSCouX3+TEv03gl34Iny3hV1c6K7FFKPi17nLIZIoMZGwMCY/V9PjMqWU28dEmPyGk/LAnKiyjMNl6SDXQvwG2VjVGGA1aKqutC688CQ==", "From": "Shenwei Wang <shenwei.wang@nxp.com>", "To": "Linus Walleij <linusw@kernel.org>,\n\tBartosz Golaszewski <brgl@kernel.org>,\n\tJonathan Corbet <corbet@lwn.net>,\n\tRob Herring <robh@kernel.org>,\n\tKrzysztof Kozlowski <krzk+dt@kernel.org>,\n\tConor Dooley <conor+dt@kernel.org>,\n\tBjorn Andersson <andersson@kernel.org>,\n\tMathieu Poirier <mathieu.poirier@linaro.org>,\n\tFrank Li <Frank.Li@nxp.com>,\n\tSascha Hauer <s.hauer@pengutronix.de>", "Cc": "Shuah Khan <skhan@linuxfoundation.org>,\n\tlinux-gpio@vger.kernel.org,\n\tlinux-doc@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org,\n\tPengutronix Kernel Team <kernel@pengutronix.de>,\n\tFabio Estevam <festevam@gmail.com>,\n\tShenwei Wang <shenwei.wang@nxp.com>,\n\tPeng Fan <peng.fan@nxp.com>,\n\tdevicetree@vger.kernel.org,\n\tlinux-remoteproc@vger.kernel.org,\n\timx@lists.linux.dev,\n\tlinux-arm-kernel@lists.infradead.org,\n\tlinux-imx@nxp.com,\n\tarnaud.pouliquen@foss.st.com", "Subject": "[PATCH v8 1/4] docs: driver-api: gpio: rpmsg gpio driver over rpmsg\n bus", "Date": "Thu, 12 Feb 2026 15:36:53 -0600", "Message-ID": "<20260212213656.662437-2-shenwei.wang@nxp.com>", "X-Mailer": "git-send-email 2.43.0", "In-Reply-To": "<20260212213656.662437-1-shenwei.wang@nxp.com>", "References": "<20260212213656.662437-1-shenwei.wang@nxp.com>", "Content-Transfer-Encoding": "8bit", "Content-Type": "text/plain", "X-ClientProxiedBy": "PH7PR17CA0032.namprd17.prod.outlook.com\n (2603:10b6:510:323::22) To PAXPR04MB9185.eurprd04.prod.outlook.com\n (2603:10a6:102:231::11)", "Precedence": "bulk", "X-Mailing-List": "linux-gpio@vger.kernel.org", "List-Id": "<linux-gpio.vger.kernel.org>", "List-Subscribe": "<mailto:linux-gpio+subscribe@vger.kernel.org>", "List-Unsubscribe": "<mailto:linux-gpio+unsubscribe@vger.kernel.org>", "MIME-Version": "1.0", "X-MS-PublicTrafficType": "Email", "X-MS-TrafficTypeDiagnostic": "PAXPR04MB9185:EE_|PA4PR04MB7936:EE_", "X-MS-Office365-Filtering-Correlation-Id": "929dbb04-eb61-48b7-01df-08de6a7ef99a", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "\n\tBCL:0;ARA:13230040|19092799006|366016|7416014|52116014|376014|1800799024|921020|38350700014;", "X-Microsoft-Antispam-Message-Info": "\n YMu7+0t73VkmJuPhcMej6BS2IqTbeqH8chb3NOBHXsb01q31d2MttSjRi8wG9Or6ieIEzmUGUGG2s3T82O3tzRjYSunDpL69oGEe1GoiWZyJpVvrp7FbuMy09EzNLrQbZjz1lCPcsnMQlxMv3TlzCIkVZWkgpSNLvvcHViJ2sXYrRBuWGuKULLFFs+DqtGIs8GB6BvXTmFIcW7KoNTkl+0iIU2xt7zBMW3w6bqAkhSUk2J58dd1aTa5Hpg2Jg+J0EGwzNoICRH40f+LWV6Rrlk7frEi0EzcvZXjIwQpjbluq6BjkBxrV4BvnUbMBLkm8qNoJG/jAD+Ta2Zaa3oLIZ+dKLjTfu5SSdaa5+WH86w2S/jabzZ2HXqjIcUZtfPprBncAFA1+fYdOyTOXnFc+5yzTCA98iBlF2cQ0ag5esdREt4hsalPoAkCbWZTzgDqESFJDEZRmIhEtkrSeMDAkYskbOlDl3AT+8LK3P2IidsQ0w3nS0YzA76JsgUuKRijAba03QhO41dNJAdCJwSW+gMIdgFFKmiMrbrlVwfHDJsCc7VT22jR9KQfd+q6ppR0c0FGUOMotz3TSz4kKtm4eBtiFVeO5UUiuuVwBxbJSvYElfbcAVwLuixmaq5dfAO2ltleQ0wM5yLfm9tcKhJ8ByacPrh49LxkbPd/Bb9sz0K2+UEXuiaslCC18zy+xjsZkY4et+810oaH2h0jqjGCTkiRYSMueh4tRNS4sy67yTNS476Y0rU87H4v9Tt3aais0qpda27ht6b5nuc+Tr+9lNX1xa3sXOWYToM6KNpedLoT930paIbFuZRqN5Av7u9+AxOZHg8KI9mmlJwBrr/UB0a/lCTD4WWlhpAiFpuzO7tW/yxWZ/3+5GUROQ5IP7ol01anar5mjjfEgTNaxvCW7xr5+lX4zzqzP3LubEobCli6nRL9IhgWpGNUK3WhgAb9eyv5qGfEsWkgs78QUthWf5+dEGxJk97PoCixHBfOttkHrOI0rR+MhK/Fm/04ykk35pyzbJlParjPaRCorrNDrskISiFugP2wlCWiOxhB6PpDiJHkcnM0YmYVZvV2HW59Hz0kTWCUmX2s8QszY82aEHj2dxsFpfsYoty4KE9UkNP4KHrHYVbixsL4okSaF3k1cArBstJinpKRtItS0Rkvqi307eIfI6w5m5/oKKenWGhdtyAbfpSPImPmKDvhwDl71c0hETrc8V9UwLGGuUMPqE1NbAuenjc19x5NlX7qoGPtmuzP6q5hhRKQCrhbyWpCjLmOuqbpwVW4Gcv7Q7Yqr4AaoHoBwdHv+taBxF3kEoVUMqBpad81eHeT43VyD2lxQ1NbrZHfEaRU/TMfpIrIK+1A31gp8JOg1C1pWM3wIEeYXCrvzwU8Hcc0iHhtETE+vyxWZN+kDTeZlsFDMoWBkFymEl6Znov2z585S3tptu/mRbQiatsTrIa0KJ2NE+oWhfWtPDoHQFDll8K5T5PcUzbfdKQ1P9zJsiNUVcA4KuLyYR4ybSm4liY5QYuFFPMCWjzX9aCjKNjeRXRp/Usf738EguC6YQcWFqjMoSBV0ZCAhevgF3ndK2OoTdCWBT4LEYcfcXkAn9g94MwR2QEJedICi70ZRNQ31NjvvDSuziugoJa+x7kWSqXUp9jTIUXXH", "X-Forefront-Antispam-Report": "\n\tCIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9185.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(19092799006)(366016)(7416014)(52116014)(376014)(1800799024)(921020)(38350700014);DIR:OUT;SFP:1101;", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "\n WC+gqONV/qMq+rEa58yWhSuYsSzBbFsxCOHiE4/r0xcjoWmPWeUuBzZCYMWUe1t4sjcCtp7Fw/iVqH4qbgHHfhDcI3KjkLecrDlOXpjzlQEsiW8y2DIP66dSJGHUJGcoZmgjCTREyftQL9l3YkMFS5s0YOJqq41ajHd19msyjdRXr6AVb4ZNuqYbj9MMpth7NuPScBtSFScm2zwls+SM1peJjubZUaMbh+SIbuoO6NMs2g3m0zI+EbzMPJl7Nu0QQ0NZCaDz/xsFfHaH8PQKp7RogIqpKddRKAxVBubsKWBpQ/ydcGqTHlOzrI1eg2RgD+jz6wpzZ0in+hanZKHJjU9w0GCQ75fvSwTrGm4IHUvx7H6DZpEl4YJ9XCTPG0Pbm7MpHrpraGxtqyQesRBBiI2y9Ig5BQccSZdekQtv9WdiWxIKBxIpLrqwCB+GBC7DcXap92g1uCxRmadwUvGpi7JHN2W4gz2YZycGE2m5J8e1xdBEnmecM7Fu39ntrU5+ONpO/M4FA8DRNKwaMKBWc3bmP7mmAn9RL7s9TxBLV1uB4m4m5whMKKt9UwfRNbOhy1V2Tl8w13c/QARa7VBL50TZjMDDxMQqG0Ul0R9iQJYnEuHSWqcS2TBmAqbl2QvBWRgbhc3vywZtsHl/w0ALW0511R2oYaWG803SvyrgNK2kGz2rYEfoHBFuUgfyGuAY1GHO0DtY2hYMHtzXPWxipxyMHi6mi+2K7tyoWaSEaHonBIOhP1R3DkF/m3HOQaMFyCYCIog8r+zCbhRXV9zf5vQk1mHfxrUflwt48u5gB7Gkd3AngEDN0BrG6SBZ+63pcYD0u74a/xvxPnAiKXe800+8PkbxfIULD636t+e7A9TN5IGGs/lJj/1uyUk1u//zZzuBR9+YYRoLACZQ19c5o1SsAZzjQ7pGal/iRej0D+R5TjcwIclUDz8ZBJnJk1M2hG75AChjuX/ZHPc1tfPtHv1o6OP6jGsvhIHaViPk991UtO6DTAI3AYtmJ2slA/p9Mx3ZPnOcyLIhDCmQOmFYxLUfQjAYPmUbFUBNccPd/GdHvYCgIJytumX74yGXpn1JPK3PzSRuTylVMq1fXzSJqkyBK7+Q88FC0bamxNMqbFH4Lx+L7Y4uop0+7pBko8285ewA22wLp2JFC13WEDVQpq5dofRIYzSukX7/78eCH351GbICGcnIZbph0vr7Oln9fItT1o/KNbDe/e2IgZnzdfW9XN3CXnUU6EZA/nLnHxHq9lNy81yqzSTjZW/nyzX/XPIbf/DVv791Kl6RYSy1oWXxax8+jfEWLdkoJrwqclJx2u1FxjkaQbSE5RG1uzzrP+0g3efG+QCpHhy8MIzR0y6izbCUE9CvHGc+4g0x/pWn9kPvc3PnhIJpxsS3rdxuIxevtdrJwywJ1DhaP6VEvDEi6rQEqPGz8T//07V3qmwfvLZZhgLLNB99C5tyYGEzImSS/25kZAHZnr+2ngXaneiWdyOKi+yChqT2vcoeNJ9RL/Ov/iUQmZN2qyYwdgkGAKVw/2OnDSFADgpxFToMDGG8QRAlvXWeJuzAY7p/NBcQN8GYqj8kDZQdequXloxEBwrTGN7+M2v/LUln1+w3iyDaD6rEoSV/OXMaB+SFIjYFHcGZx1CFxLjtX7rovzds7Ae6RSKNdTz90WT0RwooP1MElrj3XUDx/EcoGCEm3Pzg5yxGVWWlSACTkal1BLIqstgWU6uUA3xBZ2+f4vSuog==", "X-OriginatorOrg": "nxp.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 929dbb04-eb61-48b7-01df-08de6a7ef99a", "X-MS-Exchange-CrossTenant-AuthSource": "PAXPR04MB9185.eurprd04.prod.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Internal", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "12 Feb 2026 21:37:52.2146\n (UTC)", "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted", "X-MS-Exchange-CrossTenant-Id": "686ea1d3-bc2b-4c6f-a92c-d99c5c301635", "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED", "X-MS-Exchange-CrossTenant-UserPrincipalName": "\n YNOrJAJJh+KFrAIpBfLyIxqPSeUwnPG7hrBTwXKKxPVPyu7UTzgxjkbHpuE/ADg84f0A7PQGbGXB3eoeBXEfVA==", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "PA4PR04MB7936" }, "content": "Describes the gpio rpmsg transport protocol over the rpmsg bus between\nthe remote system and Linux.\n\nSigned-off-by: Shenwei Wang <shenwei.wang@nxp.com>\n---\n Documentation/driver-api/gpio/gpio-rpmsg.rst | 236 +++++++++++++++++++\n Documentation/driver-api/gpio/index.rst | 1 +\n 2 files changed, 237 insertions(+)\n create mode 100644 Documentation/driver-api/gpio/gpio-rpmsg.rst", "diff": "diff --git a/Documentation/driver-api/gpio/gpio-rpmsg.rst b/Documentation/driver-api/gpio/gpio-rpmsg.rst\nnew file mode 100644\nindex 000000000000..59eb0d49002a\n--- /dev/null\n+++ b/Documentation/driver-api/gpio/gpio-rpmsg.rst\n@@ -0,0 +1,236 @@\n+.. SPDX-License-Identifier: GPL-2.0-or-later\n+\n+GPIO RPMSG Protocol\n+===================\n+\n+The GPIO RPMSG transport protocol is used for communication and interaction\n+with GPIO controllers located on remote cores on the RPMSG bus.\n+\n+Message Format\n+--------------\n+\n+The RPMSG message consists of a 14-byte packet with the following layout:\n+\n+.. code-block:: none\n+\n+ +-----+-------+--------+-----+-----+------------+-----+-----+-----+----+\n+ |0x00 |0x01 |0x02 |0x03 |0x04 |0x05..0x09 |0x0A |0x0B |0x0C |0x0D|\n+ | ID |vendor |version |type |cmd |reserved[5] |line |port | data |\n+ +-----+-------+--------+-----+-----+------------+-----+-----+-----+----+\n+\n+- **ID (Message Identification Code)**: Must be 0x5. Indicates the GPIO message.\n+\n+- **Vendor**: Vendor ID number.\n+ - 0: Reserved\n+ - 1: NXP\n+\n+- **Version**: Vendor-specific version number (such as software release).\n+\n+- **Type (Message Type)**: The message type can be one of:\n+\n+ - 0: GPIO_RPMSG_SETUP\n+ - 1: GPIO_RPMSG_REPLY\n+ - 2: GPIO_RPMSG_NOTIFY\n+\n+- **Cmd**: Command code, used for GPIO_RPMSG_SETUP messages.\n+\n+- **reserved[5]**: Reserved bytes. Should always be 0.\n+\n+- **line**: The GPIO line(pin) index of the port.\n+\n+- **port**: The GPIO port(bank) index.\n+\n+- **data**: See details in the command description below.\n+\n+GPIO Commands\n+-------------\n+\n+Commands are specified in the **Cmd** field for **GPIO_RPMSG_SETUP** (Type=0) messages.\n+\n+The SETUP message is always sent from Linux to the remote firmware. Each\n+SETUP corresponds to a single REPLY message. The GPIO driver should\n+serialize messages and determine whether a REPLY message is required. If a\n+REPLY message is expected but not received within the specified timeout\n+period (currently 1 second in the Linux driver), the driver should return\n+-ETIMEOUT.\n+\n+GPIO_RPMSG_INPUT_INIT (Cmd=0)\n+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+\n+**Request:**\n+\n+.. code-block:: none\n+\n+ +-----+-----+-----+-----+-----+-----------+-----+-----+-----+----+\n+ |0x00 |0x01 |0x02 |0x03 |0x04 |0x05..0x09 |0x0A |0x0B |0x0C |0x0D|\n+ | 5 | 1 | 0 | 0 | 0 | 0 |line |port | val | wk |\n+ +-----+-----+-----+-----+-----+-----------+-----+-----+-----+----+\n+\n+- **val**: Interrupt trigger type.\n+\n+ - 0: Interrupt disabled\n+ - 1: Rising edge trigger\n+ - 2: Falling edge trigger\n+ - 3: Both edge trigger\n+ - 4: Low level trigger\n+ - 5: High level trigger\n+\n+- **wk**: Wakeup enable.\n+\n+ The remote system should always aim to stay in a power-efficient state by\n+ shutting down or clock-gating the GPIO blocks that aren't in use. Since\n+ the remoteproc driver is responsible for managing the power states of the\n+ remote firmware, the GPIO driver does not require to know the firmware's\n+ running states.\n+\n+ When the wakeup bit is set, the remote firmware should configure the line\n+ as a wakeup source. The firmware should send the notification message to\n+ Linux after it is woken from the GPIO line.\n+\n+ - 0: Disable wakeup from GPIO\n+ - 1: Enable wakeup from GPIO\n+\n+**Reply:**\n+\n+.. code-block:: none\n+\n+ +-----+-----+-----+-----+-----+-----------+-----+-----+-----+----+\n+ |0x00 |0x01 |0x02 |0x03 |0x04 |0x05..0x09 |0x0A |0x0B |0x0C |0x0D|\n+ | 5 | 1 | 0 | 1 | 1 | 0 |line |port | err | 0 |\n+ +-----+-----+-----+-----+-----+-----------+-----+-----+-----+----+\n+\n+- **err**: Error code from the remote core.\n+\n+ - 0: Success\n+ - 1: General error (Early remote software only returns this unclassified error)\n+ - 2: Not supported (A command is not supported by the remote firmware)\n+ - 3: Resource not available (The resource is not allocated to Linux)\n+ - 4: Resource busy (The resource is already in use)\n+ - 5: Parameter error\n+\n+GPIO_RPMSG_OUTPUT_INIT (Cmd=1)\n+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+\n+**Request:**\n+\n+.. code-block:: none\n+\n+ +-----+-----+-----+-----+-----+-----------+-----+-----+-----+----+\n+ |0x00 |0x01 |0x02 |0x03 |0x04 |0x05..0x09 |0x0A |0x0B |0x0C |0x0D|\n+ | 5 | 1 | 0 | 0 | 1 | 0 |line |port | val | 0 |\n+ +-----+-----+-----+-----+-----+-----------+-----+-----+-----+----+\n+\n+- **val**: Output level.\n+\n+ - 0: Low\n+ - 1: High\n+\n+**Reply:**\n+\n+.. code-block:: none\n+\n+ +-----+-----+-----+-----+-----+-----------+-----+-----+-----+----+\n+ |0x00 |0x01 |0x02 |0x03 |0x04 |0x05..0x09 |0x0A |0x0B |0x0C |0x0D|\n+ | 5 | 1 | 0 | 1 | 1 | 0 |line |port | err | 0 |\n+ +-----+-----+-----+-----+-----+-----------+-----+-----+-----+----+\n+\n+- **err**: See above for definitions.\n+\n+GPIO_RPMSG_INPUT_GET (Cmd=2)\n+~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+\n+**Request:**\n+\n+.. code-block:: none\n+\n+ +-----+-----+-----+-----+-----+-----------+-----+-----+-----+----+\n+ |0x00 |0x01 |0x02 |0x03 |0x04 |0x05..0x09 |0x0A |0x0B |0x0C |0x0D|\n+ | 5 | 1 | 0 | 0 | 2 | 0 |line |port | 0 | 0 |\n+ +-----+-----+-----+-----+-----+-----------+-----+-----+-----+----+\n+\n+**Reply:**\n+\n+.. code-block:: none\n+\n+ +-----+-----+-----+-----+-----+-----------+-----+-----+-----+-----+\n+ |0x00 |0x01 |0x02 |0x03 |0x04 |0x05..0x09 |0x0A |0x0B |0x0C |0x0D |\n+ | 5 | 1 | 0 | 1 | 2 | 0 |line |port | err |level|\n+ +-----+-----+-----+-----+-----+-----------+-----+-----+-----+-----+\n+\n+- **err**: See above for definitions.\n+\n+- **level**: Input level.\n+\n+ - 0: Low\n+ - 1: High\n+\n+GPIO_RPMSG_GET_DIRECTION (Cmd=3)\n+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+\n+**Request:**\n+\n+.. code-block:: none\n+\n+ +-----+-----+-----+-----+-----+-----------+-----+-----+-----+----+\n+ |0x00 |0x01 |0x02 |0x03 |0x04 |0x05..0x09 |0x0A |0x0B |0x0C |0x0D|\n+ | 5 | 1 | 0 | 0 | 3 | 0 |line |port | 0 | 0 |\n+ +-----+-----+-----+-----+-----+-----------+-----+-----+-----+----+\n+\n+**Reply:**\n+\n+.. code-block:: none\n+\n+ +-----+-----+-----+-----+-----+-----------+-----+-----+-----+-----+\n+ |0x00 |0x01 |0x02 |0x03 |0x04 |0x05..0x09 |0x0A |0x0B |0x0C |0x0D |\n+ | 5 | 1 | 0 | 1 | 3 | 0 |line |port | err | dir |\n+ +-----+-----+-----+-----+-----+-----------+-----+-----+-----+-----+\n+\n+- **err**: See above for definitions.\n+\n+- **dir**: Direction.\n+\n+ - 0: Output\n+ - 1: Input\n+\n+GPIO_RPMSG_NOTIFY_REPLY (Cmd=4)\n+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+The reply message for the notification is optional. The remote firmware can\n+implement it to simulate the interrupt acknowledgment behavior.\n+\n+**Request:**\n+\n+.. code-block:: none\n+\n+ +-----+-----+-----+-----+-----+-----------+-----+-----+-----+----+\n+ |0x00 |0x01 |0x02 |0x03 |0x04 |0x05..0x09 |0x0A |0x0B |0x0C |0x0D|\n+ | 5 | 1 | 0 | 0 | 4 | 0 |line |port |level| 0 |\n+ +-----+-----+-----+-----+-----+-----------+-----+-----+-----+----+\n+\n+- **line**: The GPIO line(pin) index of the port.\n+- **port**: The GPIO port(bank) index.\n+\n+Notification Message\n+--------------------\n+\n+Notifications are sent with **Type=2 (GPIO_RPMSG_NOTIFY)**:\n+\n+When a GPIO line asserts an interrupt on the remote processor, the firmware\n+should immediately mask the corresponding interrupt source and send a\n+notification message to the Linux. Upon completion of the interrupt\n+handling on the Linux side, the driver should issue a\n+**GPIO_RPMSG_INPUT_INIT** command to the firmware to unmask the interrupt.\n+\n+A Notification message can arrive between a SETUP and its REPLY message,\n+and the driver is expected to handle this scenario.\n+\n+.. code-block:: none\n+\n+ +-----+-----+-----+-----+-----+-----------+-----+-----+-----+----+\n+ |0x00 |0x01 |0x02 |0x03 |0x04 |0x05..0x09 |0x0A |0x0B |0x0C |0x0D|\n+ | 5 | 1 | 0 | 2 | 0 | 0 |line |port |type | 0 |\n+ +-----+-----+-----+-----+-----+-----------+-----+-----+-----+----+\n+\n+- **line**: The GPIO line(pin) index of the port.\n+- **port**: The GPIO port(bank) index.\n+- **type**: Optional parameter to indicate the trigger event type.\n+\ndiff --git a/Documentation/driver-api/gpio/index.rst b/Documentation/driver-api/gpio/index.rst\nindex bee58f709b9a..e5eb1f82f01f 100644\n--- a/Documentation/driver-api/gpio/index.rst\n+++ b/Documentation/driver-api/gpio/index.rst\n@@ -16,6 +16,7 @@ Contents:\n drivers-on-gpio\n bt8xxgpio\n pca953x\n+ gpio-rpmsg\n \n Core\n ====\n", "prefixes": [ "v8", "1/4" ] }