get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/1.1/patches/2227862/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2227862,
    "url": "http://patchwork.ozlabs.org/api/1.1/patches/2227862/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20260424111330.702272-20-changhuang.liang@starfivetech.com/",
    "project": {
        "id": 42,
        "url": "http://patchwork.ozlabs.org/api/1.1/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": ""
    },
    "msgid": "<20260424111330.702272-20-changhuang.liang@starfivetech.com>",
    "date": "2026-04-24T11:13:29",
    "name": "[v1,19/20] riscv: dts: starfive: Add StarFive JHB100 pin function definitions",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "6ea31de4559ad850ae95585243d6abace6392b20",
    "submitter": {
        "id": 85771,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/85771/?format=api",
        "name": "Changhuang Liang",
        "email": "changhuang.liang@starfivetech.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20260424111330.702272-20-changhuang.liang@starfivetech.com/mbox/",
    "series": [
        {
            "id": 501347,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/501347/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/list/?series=501347",
            "date": "2026-04-24T11:13:16",
            "name": "Add basic pinctrl drivers for JHB100 SoC",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/501347/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2227862/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2227862/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "\n <linux-gpio+bounces-35494-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 spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c04:e001:36c::12fc:5321; helo=tor.lore.kernel.org;\n envelope-from=linux-gpio+bounces-35494-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)",
            "smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=139.219.146.110",
            "smtp.subspace.kernel.org;\n dmarc=pass (p=quarantine dis=none) header.from=starfivetech.com",
            "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=starfivetech.com",
            "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=starfivetech.com;"
        ],
        "Received": [
            "from tor.lore.kernel.org (tor.lore.kernel.org\n [IPv6:2600:3c04:e001:36c::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 4g2BCR2yTMz1yD5\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 24 Apr 2026 21:52:19 +1000 (AEST)",
            "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id 334C8300C9B9\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 24 Apr 2026 11:52:17 +0000 (UTC)",
            "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id A0D943BF689;\n\tFri, 24 Apr 2026 11:52:15 +0000 (UTC)",
            "from CHN02-SH0-obe.outbound.protection.partner.outlook.cn\n (mail-sh0chn02on2110.outbound.protection.partner.outlook.cn\n [139.219.146.110])\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 C933F3BF698;\n\tFri, 24 Apr 2026 11:52:11 +0000 (UTC)",
            "from ZQ4PR01MB1202.CHNPR01.prod.partner.outlook.cn\n (2406:e500:c550:17::6) by ZQ4PR01MB1156.CHNPR01.prod.partner.outlook.cn\n (2406:e500:c550:14::9) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.22; Fri, 24 Apr\n 2026 11:14:04 +0000",
            "from ZQ4PR01MB1202.CHNPR01.prod.partner.outlook.cn\n ([fe80::e7d4:256c:b066:850d]) by\n ZQ4PR01MB1202.CHNPR01.prod.partner.outlook.cn ([fe80::e7d4:256c:b066:850d%5])\n with mapi id 15.20.9846.021; Fri, 24 Apr 2026 11:14:04 +0000"
        ],
        "ARC-Seal": [
            "i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777031534; cv=fail;\n b=R68UoavnAC2dIXTjwy7GHRs/XaY2ccUR2qmcuoW4Arha0IlgZNu3MWX69zDoQ1gosSmT7TRF9nnxCnB51YhDqm6N7qmTDm9IW3LjBSAhveZmwh9r/hCdrRQTxdnLbIVVjYz+7lTQLkOmpkwtbHKVeKc6CZu8Y9NZ7B9ciF4VJl8=",
            "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=ajzTHzX9yJ2Mp6uK6L1vDRDHzDd1nTH8cEZmi/seUg2FJbV2tr2bM5CUEVAGVsM6XV7aTpEkl6cQaHI4D1ycT5vsk2apVDUBfaf8s+8CtBSrSDMr8pTRIYo8Uw0x6ja5Hz1lSCDox4/q9RggZeO0zzMCRM67SwKr89u7FiuNnf2A0/QgpbcQL9hKRNj+uWnAYsdKgsMKdvH68u1gdE04EdY8PEAA+eFID7yQfXh7lbPpSGXjK+Dz7YETf0C+bTlr46cBWHN9xtfFz2GKfDqKqhcBgoCBk5LvRm0lC+Km7AzVQxK6+peHvxo7IysGrX5LeV6Ao9Jv4jvXjxYD7h03MQ=="
        ],
        "ARC-Message-Signature": [
            "i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777031534; c=relaxed/simple;\n\tbh=5bWWmlgTx/5kiqFsAaeJG2zlJ0OvJVwqhm1EORdgUVs=;\n\th=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:\n\t Content-Type:MIME-Version;\n b=cTz0/5vwIVbWW0fQiWfWpP602TCmoFMwYxgYxpbn9kAxs01E9cpzY+KpaFXt2CffZMwfRb3pj0Xp5RfPm0ckEeesGxIOi+c+Y9lI6yTbs4xa1W1NNV6BHBeTiwklI4AiInNF3HuAmtlTLG1hcrDJHcJc0rgRXQjP03/yYomLyjE=",
            "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\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=Px/rLpNH8L79+NAO3MwIMeegl10YL4ImrUoTOacLLqE=;\n b=ZqJhy3MS/RlQjr7M8IYmOCotvElfI+lE1PB0Ru/fpYnCwv19W/oX/Fv9QGdFfe2OzKKtffZd+ktUmh3DWPJ8n28A9ZfDAyQg2RBB7QUyPS/1iKOfPKeoIlqkRRhAaEpBUU0WFP9ucpkLzccLIZeuocT6Ms4pZfBAouOw+YcvcX6WKsswgb+mjJY+jAK3+jsMD0sMS2ncKeg8pAu9Ngu3WAZcjcSEgf/aEc4Lh42ytX0F1V5ZgkXNpyOpkkdV3lV+I85DvAwC9BjBKydr4V5yHB+JMicg51LudkyozOO8JkOVops9km1ogoC0N5bUTaC4Y3YOufqCPNo+F2vAYj4Y0Q=="
        ],
        "ARC-Authentication-Results": [
            "i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=quarantine dis=none) header.from=starfivetech.com;\n spf=pass smtp.mailfrom=starfivetech.com;\n arc=fail smtp.client-ip=139.219.146.110",
            "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=starfivetech.com; dmarc=pass action=none\n header.from=starfivetech.com; dkim=pass header.d=starfivetech.com; arc=none"
        ],
        "From": "Changhuang Liang <changhuang.liang@starfivetech.com>",
        "To": "Linus Walleij <linusw@kernel.org>,\n\tRob Herring <robh@kernel.org>,\n\tKrzysztof Kozlowski <krzk+dt@kernel.org>,\n\tConor Dooley <conor+dt@kernel.org>,\n\tEmil Renner Berthing <kernel@esmil.dk>,\n\tPaul Walmsley <pjw@kernel.org>,\n\tAlbert Ou <aou@eecs.berkeley.edu>,\n\tPalmer Dabbelt <palmer@dabbelt.com>,\n\tAlexandre Ghiti <alex@ghiti.fr>,\n\tPhilipp Zabel <p.zabel@pengutronix.de>,\n\tBartosz Golaszewski <brgl@kernel.org>",
        "Cc": "linux-gpio@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org,\n\tdevicetree@vger.kernel.org,\n\tlinux-riscv@lists.infradead.org,\n\tLianfeng Ouyang <lianfeng.ouyang@starfivetech.com>,\n\tChanghuang Liang <changhuang.liang@starfivetech.com>",
        "Subject": "[PATCH v1 19/20] riscv: dts: starfive: Add StarFive JHB100 pin\n function definitions",
        "Date": "Fri, 24 Apr 2026 04:13:29 -0700",
        "Message-Id": "<20260424111330.702272-20-changhuang.liang@starfivetech.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20260424111330.702272-1-changhuang.liang@starfivetech.com>",
        "References": "<20260424111330.702272-1-changhuang.liang@starfivetech.com>",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-ClientProxiedBy": "SHXPR01CA0025.CHNPR01.prod.partner.outlook.cn\n (2406:e500:c311:1b::34) To ZQ4PR01MB1202.CHNPR01.prod.partner.outlook.cn\n (2406:e500:c550:17::6)",
        "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": "ZQ4PR01MB1202:EE_|ZQ4PR01MB1156:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "1a60dae7-0fbe-46d6-75da-08dea1f29822",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-Microsoft-Antispam": "\n\tBCL:0;ARA:13230040|7416014|52116014|376014|366016|1800799024|38350700014|921020|56012099003|18002099003|22082099003;",
        "X-Microsoft-Antispam-Message-Info": "\n\twC2m8EonuEYpwTKhAvTz11Q6YC1Bt6E9ol4xpkCP+2BsxUusSw8QUsz1ZTKKPdIQreuAqjr5n5C7EA70pu1MzXfG8UBPgrQJnXi6O/CxQm5wg3SyBST8dAsFDohENXH7lxtbChjbwblUQm04IIjacblvXYZ/2XNnomhlQ3A3oOVc+3dnoASbZX4Vh5ULYnuq/Q0SQCToD5FvWeRg0RXMmF0eYDE/qUmyOCCkmunBCwPZqlsPHVe5vKA6ju04MkSVKEJURnpowkPFMLC4SCN5JOYPaDWeec+XAOqqYsQgVtt7PbNupxc6I5wx+GnExH6FJ9ciscmx95CzMFz1wXQsQW76h9YF0gCAx/2KVPrjnpGDOhzlatqFF++xT9R0GGuh+O4tjD7nkPZJ/Q2WcchGWoN5U9w3xi2+Pvdt/TMp4RGuOiEktbwdeXJpLqtXu7UmJ4urACHw2ydrEk5jB51v1DRWLqbxCe7RH1ixSP4sbDNchTGF8HNKqTdCKOMtt5SHLq632whaeqNOc8exGTTMD8aHoDiRcAu6B9WokupFIaUWTeqB9749i65G8j/hX992qq7DBmdiS+D+e4s0rGESb1vXGXKBxbAN4h6SBa2vfZI=",
        "X-Forefront-Antispam-Report": "\n\tCIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:ZQ4PR01MB1202.CHNPR01.prod.partner.outlook.cn;PTR:;CAT:NONE;SFS:(13230040)(7416014)(52116014)(376014)(366016)(1800799024)(38350700014)(921020)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1102;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "\n B2tZs/o5ZO65OfiAq5PW0Le/NHjOh57YIi8t9URAPfdkevgP8YN8B66bJ0x5PtL7/uqKvl+GY0/p/Yj+5SILneNhRXSYvLY/y4PqAnqGJ37UFUHalm+F6GN5jVYP/sZwxDQpkBhOyNO1+VYG57JLe0MJET0gcVqWCNg/7OOV3igEHOWHLRy1ULGniZt7wC2l5KzB2da2odPXRT7ZK+Ra5D5zhhRO26krqknSlNiPSobz/TG/leW/XRUUGQbdOOnWOqAYqkI5Wr8brpgfAJ6VwrD8zL0dPHeo37NnjlpZ11R6AygbiBvheBISulxRwh2x2xnEM91bDPaNSnEjg7nMiu780W+B6Nc4HzycTdYJ7cLG1KT2Rbqo0sq14lUl9AfCDwKmJLPZiJAWc4OH+RctqHftPgsuaxmdo2OaqTXFjZ5zfBWGrTx9o7WukvC+iOsXhO7RlF6CJCEe4hwt2znUGfCv8uhkqlgzLrYGEcE/d79kpdnUHYeujBRPqZ9CUKaAbqgDyMVpPQK8UvfDlvYWRdlofbpkBHmKNHajhEKKOzQ9T9vEMQ1tp1eiEnealBNdyN2LXA+mP+hgeIBUeCrESEJlvGGWtr0WErbMmnsZNiBGHlqqx4OlEiClYD1QZKMWOIq8yRcFpJQuHjzeP4iptTa+7UOQuBB9ybOKmMD4YP/W7XBohjzxcNYRTDmDIStEgvh66cx09uiIeTs1ndi0ZWhMPMD/6lYrBxeqgh1ny0gbmQK5Dx8YpIdsxIuCnpQDBNFo9vuP6B24VgiUChVeSHeNmb7qRDBajN0jGYsR3ZKA/cYZuUZYTVY10HTGUQJJ2lG04Bbj9OR30VQ32p80fHVIJUcwf/IYRs9Llz8qa056HVXOd8QT6t78ff2SgEajZCgAAFpUgqE2wzKDNfLXIChaQjdpux/E1GRRYuxKpDUj0oTEeZxD/haMERdyR4NdGTJiGRBt3kvcdl9HpnEprp9BzC4ZNkHesJcwD2ENFippr7EPC5P3RdLEAr9H6sR0gLYHHcRdTOJD0hIbCG1zodoA8a0ijZ9k3GCClfuRrm1EdjxeJa2uYGE7Y5p7AHfr8j/HcDWRfF6SBz00RBVPD6IkUjnNPCabGZDXj2GcwsgIO4sRHCuE2HTj0OCrRBpJvoecaBNZdl+ebGvg/4LC2/elTViy/8rgxg6F7m0pepmFTlrQeEVFiIUlCbNLuHanS/MuKe6L/IFBO6MfOM7oqNAetRD5NynBiFEhWKoRZeigyGT8PJoqdyotw8rXh2q04OUiF+dUVO+fV7WBrru8Se+Lg0sXpHvgwima3QtWyL96LQQ79Whz2mA4rx0AKszHhSpl3iAWdGCX1tkNVJb4/IMeB8dpn/+rFojTqppHeGHbgpdKGKqNri4gvAenbGTuRTWWrFsa6wq++ca/iGNVsXuKNhDvAFZcx9BmTEWSurqFIwjh5kfQJxZ5QmLQqTdZ0mWB2GLJEij57ozjI/rz3A/N66pKiw9MkR0xI2Bsd2nn0MniiSwjh+U1YroEUwb9TKZHjzMlmLoqCC4YSAVgR/a1ve1wpXrksfSUUdkKRKcfhhUEliBmeWiztnYMmjb9APKnoCd6bqZRw4jbwYV3O5dURWApG66fdDbIq5BcySPJKvJ6/P2CB6z8wr/JwWxxYBWclE+WpD/hGq7BJp7pZRjKDfqmsC4oqdOC2AFCVe+wBiZ8xdd2xV+CWOBYwIbufHCYgsG2LeMI8lPribqVtaszR/nas3MdZupu6BoZSfpuEaW+BBfhFewaJUuGJSEk",
        "X-OriginatorOrg": "starfivetech.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 1a60dae7-0fbe-46d6-75da-08dea1f29822",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n ZQ4PR01MB1202.CHNPR01.prod.partner.outlook.cn",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "24 Apr 2026 11:14:04.1057\n (UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "06fe3fa3-1221-43d3-861b-5a4ee687a85c",
        "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED",
        "X-MS-Exchange-CrossTenant-UserPrincipalName": "\n LHnpFHasDJ/Z/xU8N0RITNj1QW63Vm9WCtmcmSo34YF/JooSzUlI49LpIb7HLvet31LDuS+csS6NTpL0QHFMbqUSk3RXbtnn6pDxunXDY+mOo4XBYHA+xyMx6qTig8Fi",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "ZQ4PR01MB1156"
    },
    "content": "From: Lianfeng Ouyang <lianfeng.ouyang@starfivetech.com>\n\nAdd pin function definitions for StarFive JHB100 SoC.\n\nSigned-off-by: Lianfeng Ouyang <lianfeng.ouyang@starfivetech.com>\nSigned-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>\n---\n arch/riscv/boot/dts/starfive/jhb100-pinfunc.h | 642 ++++++++++++++++++\n 1 file changed, 642 insertions(+)\n create mode 100644 arch/riscv/boot/dts/starfive/jhb100-pinfunc.h",
    "diff": "diff --git a/arch/riscv/boot/dts/starfive/jhb100-pinfunc.h b/arch/riscv/boot/dts/starfive/jhb100-pinfunc.h\nnew file mode 100644\nindex 000000000000..cddad07444b0\n--- /dev/null\n+++ b/arch/riscv/boot/dts/starfive/jhb100-pinfunc.h\n@@ -0,0 +1,642 @@\n+/* SPDX-License-Identifier: GPL-2.0 OR MIT */\n+/*\n+ * Copyright (C) 2024 StarFive Technology Co., Ltd.\n+ *\n+ */\n+\n+#ifndef __JHB100_PINFUNC_H__\n+#define __JHB100_PINFUNC_H__\n+\n+/*\n+ * pinmux bits:\n+ *  | 31 - 10  |  9 - 8   |  7 - 0  |\n+ *  | reserved | function | gpio nr |\n+ *\n+ * func:     function value: 0, 1, or 2\n+ * gpio nr:  gpio pad number, 0 through ngpios - 1\n+ */\n+#define PINMUX(n, func) ((((func) & 0x3) << 8) | ((n) & 0xff))\n+\n+/* pinctrl_sys0 pad numbers */\n+#define PADNUM_SYS0_GPIO_A0\t\t\t\t0\n+#define PADNUM_SYS0_GPIO_A1\t\t\t\t1\n+#define PADNUM_SYS0_GPIO_A2\t\t\t\t2\n+#define PADNUM_SYS0_GPIO_A3\t\t\t\t3\n+\n+/* pinctrl_sys0h pad numbers */\n+#define PADNUM_SYS0H_GPIO_A4\t\t\t\t0\n+#define PADNUM_SYS0H_GPIO_A5\t\t\t\t1\n+#define PADNUM_SYS0H_GPIO_A6\t\t\t\t2\n+#define PADNUM_SYS0H_GPIO_A7\t\t\t\t3\n+#define PADNUM_SYS0H_GPIO_A8\t\t\t\t4\n+#define PADNUM_SYS0H_GPIO_A9\t\t\t\t5\n+#define PADNUM_SYS0H_GPIO_A10\t\t\t\t6\n+#define PADNUM_SYS0H_GPIO_A11\t\t\t\t7\n+#define PADNUM_SYS0H_GPIO_A12\t\t\t\t8\n+#define PADNUM_SYS0H_GPIO_A13\t\t\t\t9\n+#define PADNUM_SYS0H_GPIO_A14\t\t\t\t10\n+#define PADNUM_SYS0H_GPIO_A15\t\t\t\t11\n+\n+/* pinctrl_sys1 pad numbers */\n+#define PADNUM_SYS1_GPIO_A16\t\t\t\t0\n+#define PADNUM_SYS1_GPIO_A17\t\t\t\t1\n+#define PADNUM_SYS1_GPIO_A18\t\t\t\t2\n+#define PADNUM_SYS1_GPIO_A19\t\t\t\t3\n+#define PADNUM_SYS1_GPIO_A20\t\t\t\t4\n+#define PADNUM_SYS1_GPIO_A21\t\t\t\t5\n+#define PADNUM_SYS1_GPIO_A22\t\t\t\t6\n+#define PADNUM_SYS1_GPIO_A23\t\t\t\t7\n+\n+/* pinctrl_sys2 pad numbers */\n+#define PADNUM_SYS2_GPIO_A24\t\t\t\t0\n+#define PADNUM_SYS2_GPIO_A25\t\t\t\t1\n+#define PADNUM_SYS2_GPIO_A26\t\t\t\t2\n+#define PADNUM_SYS2_GPIO_A27\t\t\t\t3\n+#define PADNUM_SYS2_GPIO_A28\t\t\t\t4\n+#define PADNUM_SYS2_GPIO_A29\t\t\t\t5\n+#define PADNUM_SYS2_GPIO_A30\t\t\t\t6\n+#define PADNUM_SYS2_GPIO_A31\t\t\t\t7\n+#define PADNUM_SYS2_GPIO_A32\t\t\t\t8\n+#define PADNUM_SYS2_GPIO_A33\t\t\t\t9\n+#define PADNUM_SYS2_GPIO_A34\t\t\t\t10\n+#define PADNUM_SYS2_GPIO_A35\t\t\t\t11\n+#define PADNUM_SYS2_GPIO_A36\t\t\t\t12\n+#define PADNUM_SYS2_GPIO_A37\t\t\t\t13\n+#define PADNUM_SYS2_GPIO_A38\t\t\t\t14\n+#define PADNUM_SYS2_GPIO_A39\t\t\t\t15\n+#define PADNUM_SYS2_GPIO_A40\t\t\t\t16\n+#define PADNUM_SYS2_GPIO_A41\t\t\t\t17\n+#define PADNUM_SYS2_GPIO_A42\t\t\t\t18\n+#define PADNUM_SYS2_GPIO_A43\t\t\t\t19\n+#define PADNUM_SYS2_GPIO_A44\t\t\t\t20\n+#define PADNUM_SYS2_GPIO_A45\t\t\t\t21\n+#define PADNUM_SYS2_GPIO_A46\t\t\t\t22\n+#define PADNUM_SYS2_GPIO_A47\t\t\t\t23\n+#define PADNUM_SYS2_GPIO_A48\t\t\t\t24\n+#define PADNUM_SYS2_GPIO_A49\t\t\t\t25\n+#define PADNUM_SYS2_GPIO_A50\t\t\t\t26\n+#define PADNUM_SYS2_GPIO_A51\t\t\t\t27\n+#define PADNUM_SYS2_GPIO_A52\t\t\t\t28\n+#define PADNUM_SYS2_GPIO_A53\t\t\t\t29\n+#define PADNUM_SYS2_GPIO_A54\t\t\t\t30\n+#define PADNUM_SYS2_GPIO_A55\t\t\t\t31\n+#define PADNUM_SYS2_GPIO_A56\t\t\t\t32\n+#define PADNUM_SYS2_GPIO_A57\t\t\t\t33\n+#define PADNUM_SYS2_GPIO_A58\t\t\t\t34\n+#define PADNUM_SYS2_GPIO_A59\t\t\t\t35\n+#define PADNUM_SYS2_GPIO_A60\t\t\t\t36\n+\n+/* pinctrl_per0 pad numbers */\n+#define PADNUM_PER0_GPIO_B0\t\t\t\t0\n+#define PADNUM_PER0_GPIO_B1\t\t\t\t1\n+#define PADNUM_PER0_GPIO_B2\t\t\t\t2\n+#define PADNUM_PER0_GPIO_B3\t\t\t\t3\n+#define PADNUM_PER0_GPIO_B4\t\t\t\t4\n+#define PADNUM_PER0_GPIO_B5\t\t\t\t5\n+#define PADNUM_PER0_GPIO_B6\t\t\t\t6\n+#define PADNUM_PER0_GPIO_B7\t\t\t\t7\n+#define PADNUM_PER0_GPIO_B8\t\t\t\t8\n+#define PADNUM_PER0_GPIO_B9\t\t\t\t9\n+#define PADNUM_PER0_GPIO_B10\t\t\t\t10\n+#define PADNUM_PER0_GPIO_B11\t\t\t\t11\n+#define PADNUM_PER0_GPIO_B12\t\t\t\t12\n+#define PADNUM_PER0_GPIO_B13\t\t\t\t13\n+#define PADNUM_PER0_GPIO_B14\t\t\t\t14\n+#define PADNUM_PER0_GPIO_B15\t\t\t\t15\n+#define PADNUM_PER0_GPIO_B16\t\t\t\t16\n+#define PADNUM_PER0_GPIO_B17\t\t\t\t17\n+#define PADNUM_PER0_GPIO_B18\t\t\t\t18\n+#define PADNUM_PER0_GPIO_B19\t\t\t\t19\n+#define PADNUM_PER0_GPIO_B20\t\t\t\t20\n+#define PADNUM_PER0_GPIO_B21\t\t\t\t21\n+#define PADNUM_PER0_GPIO_B22\t\t\t\t22\n+#define PADNUM_PER0_GPIO_B23\t\t\t\t23\n+#define PADNUM_PER0_GPIO_B24\t\t\t\t24\n+#define PADNUM_PER0_GPIO_B25\t\t\t\t25\n+#define PADNUM_PER0_GPIO_B26\t\t\t\t26\n+#define PADNUM_PER0_GPIO_B27\t\t\t\t27\n+#define PADNUM_PER0_GPIO_B28\t\t\t\t28\n+#define PADNUM_PER0_GPIO_B29\t\t\t\t29\n+#define PADNUM_PER0_GPIO_B30\t\t\t\t30\n+#define PADNUM_PER0_GPIO_B31\t\t\t\t31\n+#define PADNUM_PER0_GPIO_B32\t\t\t\t32\n+#define PADNUM_PER0_GPIO_B33\t\t\t\t33\n+#define PADNUM_PER0_GPIO_B34\t\t\t\t34\n+#define PADNUM_PER0_GPIO_B35\t\t\t\t35\n+#define PADNUM_PER0_GPIO_B36\t\t\t\t36\n+#define PADNUM_PER0_GPIO_B37\t\t\t\t37\n+#define PADNUM_PER0_GPIO_B38\t\t\t\t38\n+#define PADNUM_PER0_GPIO_B39\t\t\t\t39\n+#define PADNUM_PER0_GPIO_B40\t\t\t\t40\n+#define PADNUM_PER0_GPIO_B41\t\t\t\t41\n+#define PADNUM_PER0_GPIO_B42\t\t\t\t42\n+#define PADNUM_PER0_GPIO_B43\t\t\t\t43\n+#define PADNUM_PER0_GPIO_B44\t\t\t\t44\n+#define PADNUM_PER0_GPIO_B45\t\t\t\t45\n+#define PADNUM_PER0_GPIO_B46\t\t\t\t46\n+#define PADNUM_PER0_GPIO_B47\t\t\t\t47\n+#define PADNUM_PER0_GPIO_B48\t\t\t\t48\n+#define PADNUM_PER0_GPIO_B49\t\t\t\t49\n+#define PADNUM_PER0_GPIO_B50\t\t\t\t50\n+#define PADNUM_PER0_GPIO_B51\t\t\t\t51\n+#define PADNUM_PER0_GPIO_B52\t\t\t\t52\n+#define PADNUM_PER0_GPIO_B53\t\t\t\t53\n+#define PADNUM_PER0_GPIO_B54\t\t\t\t54\n+#define PADNUM_PER0_GPIO_B55\t\t\t\t55\n+#define PADNUM_PER0_GPIO_B56\t\t\t\t56\n+#define PADNUM_PER0_GPIO_B57\t\t\t\t57\n+#define PADNUM_PER0_GPIO_B58\t\t\t\t58\n+#define PADNUM_PER0_GPIO_B59\t\t\t\t59\n+\n+/* pinctrl_per1 pad numbers */\n+#define PADNUM_PER1_GPIO_C0\t\t\t\t0\n+#define PADNUM_PER1_GPIO_C1\t\t\t\t1\n+#define PADNUM_PER1_GPIO_C2\t\t\t\t2\n+#define PADNUM_PER1_GPIO_C3\t\t\t\t3\n+#define PADNUM_PER1_GPIO_C4\t\t\t\t4\n+#define PADNUM_PER1_GPIO_C5\t\t\t\t5\n+#define PADNUM_PER1_GPIO_C6\t\t\t\t6\n+#define PADNUM_PER1_GPIO_C7\t\t\t\t7\n+#define PADNUM_PER1_GPIO_C8\t\t\t\t8\n+#define PADNUM_PER1_GPIO_C9\t\t\t\t9\n+#define PADNUM_PER1_GPIO_C10\t\t\t\t10\n+#define PADNUM_PER1_GPIO_C11\t\t\t\t11\n+#define PADNUM_PER1_GPIO_C12\t\t\t\t12\n+#define PADNUM_PER1_GPIO_C13\t\t\t\t13\n+#define PADNUM_PER1_GPIO_C14\t\t\t\t14\n+#define PADNUM_PER1_GPIO_C15\t\t\t\t15\n+#define PADNUM_PER1_GPIO_C16\t\t\t\t16\n+#define PADNUM_PER1_GPIO_C17\t\t\t\t17\n+#define PADNUM_PER1_GPIO_C18\t\t\t\t18\n+#define PADNUM_PER1_GPIO_C19\t\t\t\t19\n+#define PADNUM_PER1_GPIO_C20\t\t\t\t20\n+#define PADNUM_PER1_GPIO_C21\t\t\t\t21\n+#define PADNUM_PER1_GPIO_C22\t\t\t\t22\n+#define PADNUM_PER1_GPIO_C23\t\t\t\t23\n+#define PADNUM_PER1_GPIO_C24\t\t\t\t24\n+#define PADNUM_PER1_GPIO_C25\t\t\t\t25\n+#define PADNUM_PER1_GPIO_C26\t\t\t\t26\n+#define PADNUM_PER1_GPIO_C27\t\t\t\t27\n+#define PADNUM_PER1_GPIO_C28\t\t\t\t28\n+#define PADNUM_PER1_GPIO_C29\t\t\t\t29\n+#define PADNUM_PER1_GPIO_C30\t\t\t\t30\n+#define PADNUM_PER1_GPIO_C31\t\t\t\t31\n+#define PADNUM_PER1_GPIO_C32\t\t\t\t32\n+#define PADNUM_PER1_GPIO_C33\t\t\t\t33\n+#define PADNUM_PER1_GPIO_C34\t\t\t\t34\n+#define PADNUM_PER1_GPIO_C35\t\t\t\t35\n+\n+/* pinctrl_per0 pad numbers */\n+#define PADNUM_PER2_GPIO_D0\t\t\t\t0\n+#define PADNUM_PER2_GPIO_D1\t\t\t\t1\n+#define PADNUM_PER2_GPIO_D2\t\t\t\t2\n+#define PADNUM_PER2_GPIO_D3\t\t\t\t3\n+#define PADNUM_PER2_GPIO_D4\t\t\t\t4\n+#define PADNUM_PER2_GPIO_D5\t\t\t\t5\n+#define PADNUM_PER2_GPIO_D6\t\t\t\t6\n+#define PADNUM_PER2_GPIO_D7\t\t\t\t7\n+#define PADNUM_PER2_GPIO_D8\t\t\t\t8\n+#define PADNUM_PER2_GPIO_D9\t\t\t\t9\n+#define PADNUM_PER2_GPIO_D10\t\t\t\t10\n+#define PADNUM_PER2_GPIO_D11\t\t\t\t11\n+#define PADNUM_PER2_GPIO_D12\t\t\t\t12\n+#define PADNUM_PER2_GPIO_D13\t\t\t\t13\n+#define PADNUM_PER2_GPIO_D14\t\t\t\t14\n+#define PADNUM_PER2_GPIO_D15\t\t\t\t15\n+#define PADNUM_PER2_GPIO_D16\t\t\t\t16\n+#define PADNUM_PER2_GPIO_D17\t\t\t\t17\n+#define PADNUM_PER2_GPIO_D18\t\t\t\t18\n+#define PADNUM_PER2_GPIO_D19\t\t\t\t19\n+#define PADNUM_PER2_GPIO_D20\t\t\t\t20\n+#define PADNUM_PER2_GPIO_D21\t\t\t\t21\n+#define PADNUM_PER2_GPIO_D22\t\t\t\t22\n+#define PADNUM_PER2_GPIO_D23\t\t\t\t23\n+#define PADNUM_PER2_GPIO_D24\t\t\t\t24\n+#define PADNUM_PER2_GPIO_D25\t\t\t\t25\n+#define PADNUM_PER2_GPIO_D26\t\t\t\t26\n+#define PADNUM_PER2_GPIO_D27\t\t\t\t27\n+#define PADNUM_PER2_GPIO_D28\t\t\t\t28\n+#define PADNUM_PER2_GPIO_D29\t\t\t\t29\n+#define PADNUM_PER2_GPIO_D30\t\t\t\t30\n+\n+/* pinctrl_per2pok pad numbers */\n+#define PADNUM_PER2POK_GPIO_D31\t\t\t\t0\n+#define PADNUM_PER2POK_GPIO_D32\t\t\t\t1\n+#define PADNUM_PER2POK_GPIO_D33\t\t\t\t2\n+#define PADNUM_PER2POK_GPIO_D34\t\t\t\t3\n+#define PADNUM_PER2POK_GPIO_D35\t\t\t\t4\n+#define PADNUM_PER2POK_GPIO_D36\t\t\t\t5\n+#define PADNUM_PER2POK_GPIO_D37\t\t\t\t6\n+#define PADNUM_PER2POK_GPIO_D38\t\t\t\t7\n+#define PADNUM_PER2POK_GPIO_D39\t\t\t\t8\n+#define PADNUM_PER2POK_GPIO_D40\t\t\t\t9\n+#define PADNUM_PER2POK_GPIO_D41\t\t\t\t10\n+#define PADNUM_PER2POK_GPIO_D42\t\t\t\t11\n+#define PADNUM_PER2POK_GPIO_D43\t\t\t\t12\n+#define PADNUM_PER2POK_GPIO_D44\t\t\t\t13\n+#define PADNUM_PER2POK_GPIO_D45\t\t\t\t14\n+#define PADNUM_PER2POK_GPIO_D46\t\t\t\t15\n+#define PADNUM_PER2POK_GPIO_D47\t\t\t\t16\n+#define PADNUM_PER2POK_GPIO_D48\t\t\t\t17\n+\n+/* pinctrl_per3 pad numbers */\n+#define PADNUM_PER3_GPIO_E0\t\t\t\t0\n+#define PADNUM_PER3_GPIO_E1\t\t\t\t1\n+#define PADNUM_PER3_GPIO_E2\t\t\t\t2\n+#define PADNUM_PER3_GPIO_E3\t\t\t\t3\n+#define PADNUM_PER3_GPIO_E4\t\t\t\t4\n+#define PADNUM_PER3_GPIO_E5\t\t\t\t5\n+#define PADNUM_PER3_GPIO_E6\t\t\t\t6\n+#define PADNUM_PER3_GPIO_E7\t\t\t\t7\n+#define PADNUM_PER3_GPIO_E8\t\t\t\t8\n+#define PADNUM_PER3_GPIO_E9\t\t\t\t9\n+#define PADNUM_PER3_GPIO_E10\t\t\t\t10\n+#define PADNUM_PER3_GPIO_E11\t\t\t\t11\n+\n+/* Function Selection */\n+\n+/* pinctrl_sys0 pad function selection */\n+#define FUNC_SYS0_DOM_HOSTSS_AUXPWRGOOD0\t\t1\n+#define FUNC_SYS0_DOM_HOSTSS_AUXPWRGOOD1\t\t1\n+#define FUNC_SYS0_HBLED\t\t\t\t\t1\n+#define FUNC_SYS0_PE2RST_OUT\t\t\t\t0\n+#define FUNC_SYS0_GPIO3\t\t\t\t\t1\n+\n+/* pinctrl_sys0h pad function selection */\n+#define FUNC_SYS0H_ESPI0_DATA0\t\t\t\t1\n+#define FUNC_SYS0H_ESPI0_DATA1\t\t\t\t1\n+#define FUNC_SYS0H_ESPI0_DATA2\t\t\t\t1\n+#define FUNC_SYS0H_ESPI0_DATA3\t\t\t\t1\n+#define FUNC_SYS0H_ESPI0_CLK\t\t\t\t1\n+#define FUNC_SYS0H_ESPI0_CS\t\t\t\t1\n+#define FUNC_SYS0H_ESPI0_ALERT\t\t\t\t1\n+#define FUNC_SYS0H_ESPI0_RESET\t\t\t\t0\n+#define FUNC_SYS0H_GPIO7\t\t\t\t1\n+#define FUNC_SYS0H_ESPI0_VW0\t\t\t\t1\n+#define FUNC_SYS0H_ESPI0_VW1\t\t\t\t1\n+#define FUNC_SYS0H_ESPI0_VW2\t\t\t\t1\n+#define FUNC_SYS0H_ESPI0_VW3\t\t\t\t1\n+#define FUNC_SYS0H_ESPI1_VW0\t\t\t\t2\n+#define FUNC_SYS0H_ESPI1_VW1\t\t\t\t2\n+#define FUNC_SYS0H_ESPI1_VW2\t\t\t\t2\n+#define FUNC_SYS0H_ESPI1_VW3\t\t\t\t2\n+#define FUNC_SYS0H_SCAP_TRIG0_A\t\t\t\t3\n+#define FUNC_SYS0H_SCAP_TRIG1_A\t\t\t\t3\n+\n+/* pinctrl_sys1 pad numbers */\n+#define FUNC_SYS1_ESPI1_DATA0\t\t\t\t1\n+#define FUNC_SYS1_ESPI1_DATA1\t\t\t\t1\n+#define FUNC_SYS1_ESPI1_DATA2\t\t\t\t1\n+#define FUNC_SYS1_ESPI1_DATA3\t\t\t\t1\n+#define FUNC_SYS1_ESPI1_CLK\t\t\t\t1\n+#define FUNC_SYS1_ESPI1_CS\t\t\t\t1\n+#define FUNC_SYS1_ESPI1_ALERT\t\t\t\t1\n+#define FUNC_SYS1_ESPI1_RESET\t\t\t\t0\n+#define FUNC_SYS1_GPIO7\t\t\t\t\t1\n+\n+#define FUNC_SYS1_HOST0_PORT80_DATA_OUT0\t\t2\n+#define FUNC_SYS1_HOST0_PORT80_DATA_OUT1\t\t2\n+#define FUNC_SYS1_HOST0_PORT80_DATA_OUT2\t\t2\n+#define FUNC_SYS1_HOST0_PORT80_DATA_OUT3\t\t2\n+#define FUNC_SYS1_HOST0_PORT80_DATA_OUT4\t\t2\n+#define FUNC_SYS1_HOST0_PORT80_DATA_OUT5\t\t2\n+#define FUNC_SYS1_HOST0_PORT80_DATA_OUT6\t\t2\n+#define FUNC_SYS1_HOST0_PORT80_DATA_OUT7\t\t2\n+\n+#define FUNC_SYS1_HOST1_PORT80_DATA_OUT0\t\t3\n+#define FUNC_SYS1_HOST1_PORT80_DATA_OUT1\t\t3\n+#define FUNC_SYS1_HOST1_PORT80_DATA_OUT2\t\t3\n+#define FUNC_SYS1_HOST1_PORT80_DATA_OUT3\t\t3\n+#define FUNC_SYS1_HOST1_PORT80_DATA_OUT4\t\t3\n+#define FUNC_SYS1_HOST1_PORT80_DATA_OUT5\t\t3\n+#define FUNC_SYS1_HOST1_PORT80_DATA_OUT6\t\t3\n+#define FUNC_SYS1_HOST1_PORT80_DATA_OUT7\t\t3\n+\n+/* pinctrl_sys2 pad function selection */\n+#define FUNC_SYS2_UART_CTS\t\t\t\t1\n+#define FUNC_SYS2_UART_RTS\t\t\t\t1\n+#define FUNC_SYS2_UART_DCD\t\t\t\t1\n+#define FUNC_SYS2_UART_DSR\t\t\t\t1\n+#define FUNC_SYS2_UART_DTR\t\t\t\t1\n+#define FUNC_SYS2_UART_RI\t\t\t\t1\n+#define FUNC_SYS2_UART0_TX\t\t\t\t1\n+#define FUNC_SYS2_UART0_RX\t\t\t\t1\n+#define FUNC_SYS2_UART1_TX\t\t\t\t1\n+#define FUNC_SYS2_UART1_RX\t\t\t\t1\n+#define FUNC_SYS2_UART2_TX\t\t\t\t1\n+#define FUNC_SYS2_UART2_RX\t\t\t\t1\n+#define FUNC_SYS2_UART3_TX\t\t\t\t1\n+#define FUNC_SYS2_UART3_RX\t\t\t\t1\n+#define FUNC_SYS2_UART4_TX\t\t\t\t1\n+#define FUNC_SYS2_UART4_RX\t\t\t\t1\n+#define FUNC_SYS2_UART5_TX\t\t\t\t1\n+#define FUNC_SYS2_UART5_RX\t\t\t\t1\n+#define FUNC_SYS2_UART6_TX\t\t\t\t1\n+#define FUNC_SYS2_UART6_RX\t\t\t\t1\n+#define FUNC_SYS2_UART7_TX\t\t\t\t1\n+#define FUNC_SYS2_UART7_RX\t\t\t\t1\n+#define FUNC_SYS2_UART8_TX\t\t\t\t1\n+#define FUNC_SYS2_UART8_RX\t\t\t\t1\n+#define FUNC_SYS2_UART9_TX\t\t\t\t1\n+#define FUNC_SYS2_UART9_RX\t\t\t\t1\n+#define FUNC_SYS2_UART10_TX\t\t\t\t1\n+#define FUNC_SYS2_UART10_RX\t\t\t\t1\n+#define FUNC_SYS2_UART11_TX\t\t\t\t1\n+#define FUNC_SYS2_UART11_RX\t\t\t\t1\n+#define FUNC_SYS2_UART12_TX\t\t\t\t1\n+#define FUNC_SYS2_UART12_RX\t\t\t\t1\n+#define FUNC_SYS2_UART13_TX\t\t\t\t1\n+#define FUNC_SYS2_UART13_RX\t\t\t\t1\n+#define FUNC_SYS2_UART14_TX\t\t\t\t1\n+#define FUNC_SYS2_UART14_RX\t\t\t\t1\n+\n+#define FUNC_SYS2_I2C8_SMBALERT\t\t\t\t2\n+#define FUNC_SYS2_I2C9_SMBALERT\t\t\t\t2\n+#define FUNC_SYS2_I2C10_SMBALERT\t\t\t2\n+#define FUNC_SYS2_I2C11_SMBALERT\t\t\t2\n+#define FUNC_SYS2_I2C12_SMBALERT\t\t\t2\n+#define FUNC_SYS2_I2C13_SMBALERT\t\t\t2\n+#define FUNC_SYS2_I2C14_SMBALERT\t\t\t2\n+#define FUNC_SYS2_I2C15_SMBALERT\t\t\t2\n+#define FUNC_SYS2_HOST0_PORT80_DATA_OUT0\t\t2\n+#define FUNC_SYS2_HOST0_PORT80_DATA_OUT1\t\t2\n+#define FUNC_SYS2_HOST0_PORT80_DATA_OUT2\t\t2\n+#define FUNC_SYS2_HOST0_PORT80_DATA_OUT3\t\t2\n+#define FUNC_SYS2_HOST0_PORT80_DATA_OUT4\t\t2\n+#define FUNC_SYS2_HOST0_PORT80_DATA_OUT5\t\t2\n+#define FUNC_SYS2_HOST0_PORT80_DATA_OUT6\t\t2\n+#define FUNC_SYS2_HOST0_PORT80_DATA_OUT7\t\t2\n+#define FUNC_SYS2_JTAG_MST_TDI\t\t\t\t2\n+#define FUNC_SYS2_JTAG_MST_TRST_N\t\t\t2\n+#define FUNC_SYS2_JTAG_MST_TMS\t\t\t\t2\n+#define FUNC_SYS2_JTAG_MST_TCK\t\t\t\t2\n+#define FUNC_SYS2_JTAG_MST_TDO\t\t\t\t2\n+\n+#define FUNC_SYS2_HOST1_PORT80_DATA_OUT0\t\t3\n+#define FUNC_SYS2_HOST1_PORT80_DATA_OUT1\t\t3\n+#define FUNC_SYS2_HOST1_PORT80_DATA_OUT2\t\t3\n+#define FUNC_SYS2_HOST1_PORT80_DATA_OUT3\t\t3\n+#define FUNC_SYS2_HOST1_PORT80_DATA_OUT4\t\t3\n+#define FUNC_SYS2_HOST1_PORT80_DATA_OUT5\t\t3\n+#define FUNC_SYS2_HOST1_PORT80_DATA_OUT6\t\t3\n+#define FUNC_SYS2_HOST1_PORT80_DATA_OUT7\t\t3\n+\n+/* pinctrl_per0 function numbers */\n+#define FUNC_PER0_I2C0_CLK\t\t\t\t1\n+#define FUNC_PER0_I2C0_DATA\t\t\t\t1\n+#define FUNC_PER0_I2C1_CLK\t\t\t\t1\n+#define FUNC_PER0_I2C1_DATA\t\t\t\t1\n+#define FUNC_PER0_I2C2_CLK\t\t\t\t1\n+#define FUNC_PER0_I2C2_DATA\t\t\t\t1\n+#define FUNC_PER0_I2C3_CLK\t\t\t\t1\n+#define FUNC_PER0_I2C3_DATA\t\t\t\t1\n+#define FUNC_PER0_I2C4_CLK\t\t\t\t1\n+#define FUNC_PER0_I2C4_DATA\t\t\t\t1\n+#define FUNC_PER0_I2C5_CLK\t\t\t\t1\n+#define FUNC_PER0_I2C5_DATA\t\t\t\t1\n+#define FUNC_PER0_I2C6_CLK\t\t\t\t1\n+#define FUNC_PER0_I2C6_DATA\t\t\t\t1\n+#define FUNC_PER0_I2C7_CLK\t\t\t\t1\n+#define FUNC_PER0_I2C7_DATA\t\t\t\t1\n+#define FUNC_PER0_I2C8_CLK\t\t\t\t1\n+#define FUNC_PER0_I2C8_DATA\t\t\t\t1\n+#define FUNC_PER0_I2C9_CLK\t\t\t\t1\n+#define FUNC_PER0_I2C9_DATA\t\t\t\t1\n+#define FUNC_PER0_I2C10_CLK\t\t\t\t1\n+#define FUNC_PER0_I2C10_DATA\t\t\t\t1\n+#define FUNC_PER0_I2C11_CLK\t\t\t\t1\n+#define FUNC_PER0_I2C11_DATA\t\t\t\t1\n+#define FUNC_PER0_I2C12_CLK\t\t\t\t1\n+#define FUNC_PER0_I2C12_DATA\t\t\t\t1\n+#define FUNC_PER0_I2C13_CLK\t\t\t\t1\n+#define FUNC_PER0_I2C13_DATA\t\t\t\t1\n+#define FUNC_PER0_SMBUS0_SMBALERT\t\t\t1\n+#define FUNC_PER0_SMBUS1_SMBALERT\t\t\t1\n+#define FUNC_PER0_SMBUS2_SMBALERT\t\t\t1\n+#define FUNC_PER0_SMBUS3_SMBALERT\t\t\t1\n+#define FUNC_PER0_SMBUS4_SMBALERT\t\t\t1\n+#define FUNC_PER0_SMBUS5_SMBALERT\t\t\t1\n+#define FUNC_PER0_SMBUS6_SMBALERT\t\t\t1\n+#define FUNC_PER0_SMBUS7_SMBALERT\t\t\t1\n+#define FUNC_PER0_MIPI_I3C12_SCL0\t\t\t1\n+#define FUNC_PER0_MIPI_I3C12_SDA0\t\t\t1\n+#define FUNC_PER0_MIPI_I3C13_SCL0\t\t\t1\n+#define FUNC_PER0_MIPI_I3C13_SDA0\t\t\t1\n+#define FUNC_PER0_MIPI_I3C14_SCL0\t\t\t1\n+#define FUNC_PER0_MIPI_I3C14_SDA0\t\t\t1\n+#define FUNC_PER0_MIPI_I3C15_SCL0\t\t\t1\n+#define FUNC_PER0_MIPI_I3C15_SDA0\t\t\t1\n+#define FUNC_PER0_MIPI_I3C0_SCL0\t\t\t1\n+#define FUNC_PER0_MIPI_I3C0_SDA0\t\t\t1\n+#define FUNC_PER0_MIPI_I3C1_SCL0\t\t\t1\n+#define FUNC_PER0_MIPI_I3C1_SDA0\t\t\t1\n+#define FUNC_PER0_MIPI_I3C2_SCL0\t\t\t1\n+#define FUNC_PER0_MIPI_I3C2_SDA0\t\t\t1\n+#define FUNC_PER0_MIPI_I3C3_SCL0\t\t\t1\n+#define FUNC_PER0_MIPI_I3C3_SDA0\t\t\t1\n+#define FUNC_PER0_MIPI_I3C4_SCL1\t\t\t1\n+#define FUNC_PER0_MIPI_I3C4_SDA1\t\t\t1\n+#define FUNC_PER0_MIPI_I3C5_SCL1\t\t\t1\n+#define FUNC_PER0_MIPI_I3C5_SDA1\t\t\t1\n+#define FUNC_PER0_MIPI_I3C6_SCL1\t\t\t1\n+#define FUNC_PER0_MIPI_I3C6_SDA1\t\t\t1\n+#define FUNC_PER0_MIPI_I3C7_SCL1\t\t\t1\n+#define FUNC_PER0_MIPI_I3C7_SDA1\t\t\t1\n+\n+#define FUNC_PER0_MIPI_I3C4_SCL0\t\t\t2\n+#define FUNC_PER0_MIPI_I3C4_SDA0\t\t\t2\n+#define FUNC_PER0_MIPI_I3C5_SCL0\t\t\t2\n+#define FUNC_PER0_MIPI_I3C5_SDA0\t\t\t2\n+#define FUNC_PER0_MIPI_I3C6_SCL0\t\t\t2\n+#define FUNC_PER0_MIPI_I3C6_SDA0\t\t\t2\n+#define FUNC_PER0_MIPI_I3C7_SCL0\t\t\t2\n+#define FUNC_PER0_MIPI_I3C7_SDA0\t\t\t2\n+#define FUNC_PER0_MIPI_I3C8_SCL0\t\t\t2\n+#define FUNC_PER0_MIPI_I3C8_SDA0\t\t\t2\n+#define FUNC_PER0_MIPI_I3C9_SCL0\t\t\t2\n+#define FUNC_PER0_MIPI_I3C9_SDA0\t\t\t2\n+#define FUNC_PER0_MIPI_I3C10_SCL0\t\t\t2\n+#define FUNC_PER0_MIPI_I3C10_SDA0\t\t\t2\n+#define FUNC_PER0_MIPI_I3C11_SCL0\t\t\t2\n+#define FUNC_PER0_MIPI_I3C11_SDA0\t\t\t2\n+#define FUNC_PER0_GMAC2_MDC\t\t\t\t2\n+#define FUNC_PER0_GMAC2_MDIO\t\t\t\t2\n+#define FUNC_PER0_GMAC3_MDC\t\t\t\t2\n+#define FUNC_PER0_GMAC3_MDIO\t\t\t\t2\n+#define FUNC_PER0_GMAC1_MDC\t\t\t\t2\n+#define FUNC_PER0_GMAC1_MDIO\t\t\t\t2\n+#define FUNC_PER0_WDT0_3_OR_RESET_OUTPUT\t\t2\n+#define FUNC_PER0_WDT_SECRP_RESET_OUTPUT\t\t2\n+#define FUNC_PER0_WDT4_RESET_OUTPUT\t\t\t2\n+#define FUNC_PER0_WDT4_RESTART_INPUT\t\t\t2\n+\n+/* pinctrl_per1 pad function selection */\n+#define FUNC_PER1_SPI0_N_SS_OUT_0\t\t\t1\n+#define FUNC_PER1_SPI0_N_SS_OUT_1\t\t\t1\n+#define FUNC_PER1_SPI0_SCLK_OUT\t\t\t\t1\n+#define FUNC_PER1_SPI0_TX\t\t\t\t1\n+#define FUNC_PER1_SPI0_RX\t\t\t\t1\n+#define FUNC_PER1_SFC0_N_SS_OUT_0\t\t\t1\n+#define FUNC_PER1_SFC0_N_SS_OUT_1\t\t\t1\n+#define FUNC_PER1_SFC0_SCLK_OUT\t\t\t\t1\n+#define FUNC_PER1_SFC0_IO0\t\t\t\t1\n+#define FUNC_PER1_SFC0_IO1\t\t\t\t1\n+#define FUNC_PER1_SFC0_IO2\t\t\t\t1\n+#define FUNC_PER1_SFC0_IO3\t\t\t\t1\n+#define FUNC_PER1_SFC1_N_SS_OUT_0\t\t\t1\n+#define FUNC_PER1_SFC1_N_SS_OUT_1\t\t\t1\n+#define FUNC_PER1_SFC1_N_SS_OUT_2\t\t\t1\n+#define FUNC_PER1_SFC1_SCLK_OUT\t\t\t\t1\n+#define FUNC_PER1_SFC1_IO0\t\t\t\t1\n+#define FUNC_PER1_SFC1_IO1\t\t\t\t1\n+#define FUNC_PER1_SFC1_IO2\t\t\t\t1\n+#define FUNC_PER1_SFC1_IO3\t\t\t\t1\n+#define FUNC_PER1_SFC2_N_SS_OUT_0\t\t\t1\n+#define FUNC_PER1_SFC2_N_SS_OUT_1\t\t\t1\n+#define FUNC_PER1_SFC2_N_SS_OUT_2\t\t\t1\n+#define FUNC_PER1_SFC2_SCLK_OUT\t\t\t\t1\n+#define FUNC_PER1_SFC2_IO0\t\t\t\t1\n+#define FUNC_PER1_SFC2_IO1\t\t\t\t1\n+#define FUNC_PER1_SFC2_IO2\t\t\t\t1\n+#define FUNC_PER1_SFC2_IO3\t\t\t\t1\n+#define FUNC_PER1_SGPIO0_M_CLK\t\t\t\t1\n+#define FUNC_PER1_SGPIO0_M_LOAD\t\t\t\t1\n+#define FUNC_PER1_SGPIO0_M_DATA_OUT\t\t\t1\n+#define FUNC_PER1_SGPIO0_M_DATA_IN\t\t\t1\n+#define FUNC_PER1_I2C14_CLK\t\t\t\t1\n+#define FUNC_PER1_I2C14_DATA\t\t\t\t1\n+#define FUNC_PER1_I2C15_CLK\t\t\t\t1\n+#define FUNC_PER1_I2C15_DATA\t\t\t\t1\n+\n+#define FUNC_PER1_SGPIO1_M_CLK\t\t\t\t2\n+#define FUNC_PER1_SGPIO1_M_LOAD\t\t\t\t2\n+#define FUNC_PER1_SGPIO1_M_DATA_OUT\t\t\t2\n+#define FUNC_PER1_SGPIO1_M_DATA_IN\t\t\t2\n+\n+/* pinctrl_per2 function selection */\n+#define FUNC_PER2_FAN0_TACH_I_0\t\t\t\t1\n+#define FUNC_PER2_FAN0_TACH_I_1\t\t\t\t1\n+#define FUNC_PER2_FAN0_TACH_I_2\t\t\t\t1\n+#define FUNC_PER2_FAN0_TACH_I_3\t\t\t\t1\n+#define FUNC_PER2_FAN0_TACH_I_4\t\t\t\t1\n+#define FUNC_PER2_FAN0_TACH_I_5\t\t\t\t1\n+#define FUNC_PER2_FAN0_TACH_I_6\t\t\t\t1\n+#define FUNC_PER2_FAN0_TACH_I_7\t\t\t\t1\n+#define FUNC_PER2_FAN0_TACH_I_8\t\t\t\t1\n+#define FUNC_PER2_FAN0_TACH_I_9\t\t\t\t1\n+#define FUNC_PER2_FAN0_TACH_I_10\t\t\t1\n+#define FUNC_PER2_FAN0_TACH_I_11\t\t\t1\n+#define FUNC_PER2_FAN0_TACH_I_12\t\t\t1\n+#define FUNC_PER2_FAN0_TACH_I_13\t\t\t1\n+#define FUNC_PER2_FAN0_TACH_I_14\t\t\t1\n+#define FUNC_PER2_FAN0_TACH_I_15\t\t\t1\n+#define FUNC_PER2_GMAC2_RGMII_RX_CLK\t\t\t1\n+#define FUNC_PER2_GMAC2_RGMII_RXCTL\t\t\t1\n+#define FUNC_PER2_GMAC2_RGMII_PHY_RXD0\t\t\t1\n+#define FUNC_PER2_GMAC2_RGMII_PHY_RXD1\t\t\t1\n+#define FUNC_PER2_GMAC2_RGMII_PHY_RXD2\t\t\t1\n+#define FUNC_PER2_GMAC2_RGMII_PHY_RXD3\t\t\t1\n+#define FUNC_PER2_GMAC2_RGMII_TX_CLK\t\t\t1\n+#define FUNC_PER2_GMAC2_RGMII_TXCTL\t\t\t1\n+#define FUNC_PER2_GMAC2_RGMII_PHY_TX0\t\t\t1\n+#define FUNC_PER2_GMAC2_RGMII_PHY_TX1\t\t\t1\n+#define FUNC_PER2_GMAC2_RGMII_PHY_TX2\t\t\t1\n+#define FUNC_PER2_GMAC2_RGMII_PHY_TX3\t\t\t1\n+\n+#define FUNC_PER2_GMAC2_RMII_RX_CLK\t\t\t2\n+#define FUNC_PER2_GMAC2_RMII_CRSDV\t\t\t2\n+#define FUNC_PER2_GMAC2_RMII_PHY_RXD0\t\t\t2\n+#define FUNC_PER2_GMAC2_RMII_PHY_RXD1\t\t\t2\n+#define FUNC_PER2_GMAC2_RMII_RX_CKO\t\t\t2\n+#define FUNC_PER2_GMAC2_RMII_TXEN\t\t\t2\n+#define FUNC_PER2_GMAC2_RMII_PHY_TXD0\t\t\t2\n+#define FUNC_PER2_GMAC2_RMII_PHY_TXD1\t\t\t2\n+\n+#define FUNC_PER2_HOSTSS0_PORT80_DATA_OUT0\t\t2\n+#define FUNC_PER2_HOSTSS0_PORT80_DATA_OUT1\t\t2\n+#define FUNC_PER2_HOSTSS0_PORT80_DATA_OUT2\t\t2\n+#define FUNC_PER2_HOSTSS0_PORT80_DATA_OUT3\t\t2\n+#define FUNC_PER2_HOSTSS0_PORT80_DATA_OUT4\t\t2\n+#define FUNC_PER2_HOSTSS0_PORT80_DATA_OUT5\t\t2\n+#define FUNC_PER2_HOSTSS0_PORT80_DATA_OUT6\t\t2\n+#define FUNC_PER2_HOSTSS0_PORT80_DATA_OUT7\t\t2\n+#define FUNC_PER2_HOSTSS1_PORT80_DATA_OUT0\t\t3\n+#define FUNC_PER2_HOSTSS1_PORT80_DATA_OUT1\t\t3\n+#define FUNC_PER2_HOSTSS1_PORT80_DATA_OUT2\t\t3\n+#define FUNC_PER2_HOSTSS1_PORT80_DATA_OUT3\t\t3\n+#define FUNC_PER2_HOSTSS1_PORT80_DATA_OUT4\t\t3\n+#define FUNC_PER2_HOSTSS1_PORT80_DATA_OUT5\t\t3\n+#define FUNC_PER2_HOSTSS1_PORT80_DATA_OUT6\t\t3\n+#define FUNC_PER2_HOSTSS1_PORT80_DATA_OUT7\t\t3\n+\n+/* pinctrl_per2pok function selection */\n+#define FUNC_PER2POK_PWM0_CHANNEL0\t\t\t0\n+#define FUNC_PER2POK_PWM0_CHANNEL1\t\t\t0\n+#define FUNC_PER2POK_PWM0_CHANNEL2\t\t\t0\n+#define FUNC_PER2POK_PWM0_CHANNEL3\t\t\t0\n+#define FUNC_PER2POK_PWM0_CHANNEL4\t\t\t0\n+#define FUNC_PER2POK_PWM0_CHANNEL5\t\t\t0\n+#define FUNC_PER2POK_PWM0_CHANNEL6\t\t\t0\n+#define FUNC_PER2POK_PWM0_CHANNEL7\t\t\t0\n+\n+#define FUNC_PER2POK_CAN0_TXD\t\t\t\t1\n+#define FUNC_PER2POK_CAN0_RXD\t\t\t\t1\n+#define FUNC_PER2POK_CAN0_STBY\t\t\t\t1\n+#define FUNC_PER2POK_CAN1_TXD\t\t\t\t1\n+#define FUNC_PER2POK_CAN1_RXD\t\t\t\t1\n+#define FUNC_PER2POK_CAN1_STBY\t\t\t\t1\n+#define FUNC_PER2POK_GPIO_PASSTHRU1_IN\t\t\t1\n+#define FUNC_PER2POK_GPIO_PASSTHRU1_OUT\t\t\t1\n+#define FUNC_PER2POK_GPIO_PASSTHRU2_IN\t\t\t1\n+#define FUNC_PER2POK_GPIO_PASSTHRU2_OUT\t\t\t1\n+#define FUNC_PER2POK_GPIO10\t\t\t\t1\n+#define FUNC_PER2POK_GPIO11\t\t\t\t1\n+#define FUNC_PER2POK_GPIO12\t\t\t\t1\n+#define FUNC_PER2POK_GPIO13\t\t\t\t1\n+#define FUNC_PER2POK_GPIO14\t\t\t\t1\n+#define FUNC_PER2POK_GPIO15\t\t\t\t1\n+#define FUNC_PER2POK_GPIO16\t\t\t\t1\n+#define FUNC_PER2POK_GPIO17\t\t\t\t1\n+\n+#define FUNC_PER2POK_GPIO_PASSTHRU3_IN\t\t\t2\n+#define FUNC_PER2POK_GPIO_PASSTHRU3_OUT\t\t\t2\n+#define FUNC_PER2POK_HOSTSS0_PORT80_DATA_OUT0\t\t2\n+#define FUNC_PER2POK_HOSTSS0_PORT80_DATA_OUT1\t\t2\n+#define FUNC_PER2POK_HOSTSS0_PORT80_DATA_OUT2\t\t2\n+#define FUNC_PER2POK_HOSTSS0_PORT80_DATA_OUT3\t\t2\n+#define FUNC_PER2POK_HOSTSS0_PORT80_DATA_OUT4\t\t2\n+#define FUNC_PER2POK_HOSTSS0_PORT80_DATA_OUT5\t\t2\n+#define FUNC_PER2POK_HOSTSS0_PORT80_DATA_OUT6\t\t2\n+#define FUNC_PER2POK_HOSTSS0_PORT80_DATA_OUT7\t\t2\n+\n+#define FUNC_PER2POK_HOSTSS1_PORT80_DATA_OUT0\t\t3\n+#define FUNC_PER2POK_HOSTSS1_PORT80_DATA_OUT1\t\t3\n+#define FUNC_PER2POK_HOSTSS1_PORT80_DATA_OUT2\t\t3\n+#define FUNC_PER2POK_HOSTSS1_PORT80_DATA_OUT3\t\t3\n+#define FUNC_PER2POK_HOSTSS1_PORT80_DATA_OUT4\t\t3\n+#define FUNC_PER2POK_HOSTSS1_PORT80_DATA_OUT5\t\t3\n+#define FUNC_PER2POK_HOSTSS1_PORT80_DATA_OUT6\t\t3\n+#define FUNC_PER2POK_HOSTSS1_PORT80_DATA_OUT7\t\t3\n+\n+/* pinctrl_per3 function selection */\n+#define FUNC_PER3_GMAC0_MDC\t\t\t\t1\n+#define FUNC_PER3_GMAC0_MDIO\t\t\t\t1\n+#define FUNC_PER3_GMAC0_RMII_RCLKI\t\t\t1\n+#define FUNC_PER3_GMAC0_RMII_RCLKO\t\t\t1\n+#define FUNC_PER3_GMAC0_RMII_CRSDV\t\t\t1\n+#define FUNC_PER3_GMAC0_RMII_PHY_RXD0\t\t\t1\n+#define FUNC_PER3_GMAC0_RMII_PHY_RXD1\t\t\t1\n+#define FUNC_PER3_GMAC0_RMII_TXEN\t\t\t1\n+#define FUNC_PER3_GMAC0_RMII_PHY_TXD0\t\t\t1\n+#define FUNC_PER3_GMAC0_RMII_PHY_TXD1\t\t\t1\n+\n+/* gpio func sel value */\n+#define FUNC_SEL0_GPIO\t\t\t\t\t0\n+#define FUNC_SEL1_GPIO\t\t\t\t\t1\n+\n+/* vref value */\n+#define JHB100_PINVREF_3_3V\t\t\t\t0\n+#define JHB100_PINVREF_2_5V\t\t\t\t1\n+#define JHB100_PINVREF_1_8V\t\t\t\t2\n+\n+#endif\n",
    "prefixes": [
        "v1",
        "19/20"
    ]
}