Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.1/patches/2227852/?format=api
{ "id": 2227852, "url": "http://patchwork.ozlabs.org/api/1.1/patches/2227852/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20260424111330.702272-15-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-15-changhuang.liang@starfivetech.com>", "date": "2026-04-24T11:13:24", "name": "[v1,14/20] pinctrl: starfive: Add StarFive JHB100 per2 controller driver", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "a89d4bc648fe7898a62f4cf47378081e25be0a9e", "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-15-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/2227852/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2227852/checks/", "tags": {}, "headers": { "Return-Path": "\n <linux-gpio+bounces-35484-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-35484-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)", "smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=139.219.17.130", "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 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g29md1ssFz1yDD\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 24 Apr 2026 21:32:33 +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 D23CB3023DA9\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 24 Apr 2026 11:31:48 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 6B7F23BB9E5;\n\tFri, 24 Apr 2026 11:31:41 +0000 (UTC)", "from CHN02-BJS-obe.outbound.protection.partner.outlook.cn\n (mail-bjschn02on2130.outbound.protection.partner.outlook.cn [139.219.17.130])\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 DDBF03BA24F;\n\tFri, 24 Apr 2026 11:31:38 +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:13:57 +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:13:57 +0000" ], "ARC-Seal": [ "i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777030301; cv=fail;\n b=qR8LDgGihQ3q772vZTkEB7ar8dDt8dUuX9AjzBpcWx/F6R2Kvtrpsvigg9eRFO5ZJzGxDuX8TYHYsRJnb0n6Pqo9itL20zTz4s+RMJoQgRCnXQX767Cp0gH4tXncAL1572L5SsAyONew1i7sH9EWoozAGovXf13ZpqSxUKeFA3Y=", "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=Ms2Lchkf3u9kh+VRBk0V0m3oYdNpseMozqt1MQUI+ra9ittzXk4kfZVjMM2q7D1OhQJQqePKjktFeBR15cuInlPozBEc/v6mT0/caBL8skO+pfL6s0eZGWkKxrEIpXPxd1fT2cMKiNp6FX4xsaIwsKD0hA1sTreyo9ImmL96ISNt/YQY9s+4OBGN5OwP9c9wakQhpmpE7cP3G9uZuMWb+7NbV2y98b2aKMMXXLB1VYicjCIr7DD1JXFqjoeYs+hdhXF94C3Hb/AuMHD54I7BjQa6WzxVqatKfKy6QR2Ibsm3NwBHfKnqt29Mt38qK0gUXMPeaLYa7FXNhI0kTPOtuw==" ], "ARC-Message-Signature": [ "i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777030301; c=relaxed/simple;\n\tbh=71DVKHuDV+KDZLCkHdP1o2ZdW6rHgmOPTzSF6ok6PXg=;\n\th=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:\n\t Content-Type:MIME-Version;\n b=GhJRI8UukLNpYt36FPt3D3ZfE/mgYdDRnR888EsURaJiwcocK7fNuiZ/Ovk+ZMVE56EWVSTo2Hfqu4l8Bkjt2E7MV+AsOfVJ8aT4oAXGc6tP+yrybSQMAnhZgAu+3tcor+jhUWWh2U41nqzESDMvV2AtQ85hSFeTLRfr/kaa3kI=", "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=XKIWBk6uEye8vAuO1pm33yRYca12RGJVU+r8NIoOUsU=;\n b=gQZ/Flvb2WkVRDW8ZOnYsN/fOeFZPqvDHARgbs/P9ZtIIezDLZW0Sj7YPiOwg/j/HWYe+0q7UgnWMILJ7xyKOuTBBQNZUlmRNjExcAAUMlEl+aoerJctn2tsiVpKs4QW0F3gBv4PBV5GHWjYCOe8hKEi0xhAZhF9/lS6amZAONKuueLujvF46vqFPFY2K1W3MadayQZHGP2fiTuEZ7int/dC1+8a0UJcRwExCRcDxWjYp1bmlWaL5DsLzvKU1d3/lc4DmGs+UcqLXPFIBsXDDRCwm7mA24KT3SON7aHJQvo9tLUTZtk0h4iSZYd1EKdWIrcwxtuYDki0ziIgAyTjjQ==" ], "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.17.130", "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 14/20] pinctrl: starfive: Add StarFive JHB100 per2\n controller driver", "Date": "Fri, 24 Apr 2026 04:13:24 -0700", "Message-Id": "<20260424111330.702272-15-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": "cd059695-448d-4140-880c-08dea1f2940a", "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\tfn3Vg3TsbboS3ujYYnsM6KLSBRbjbFNZMAbcLtE8JJ2j697O5JnIPTlrRjonqWF3dC9RWVk2Xj6NKx4YuvcVT0ZNdI+FLA2Z4G7DHWpX8iwsKLgW+cy+gRy/6T1Zb9fP6heHnkbc28WtG4jU0u6usU9RuVtAVhD2xdqkypwulti6eGWq4A6lwJoodMqM//8bXPcjU82YA0SLyuXtb1UUogOlmV8z8+pV7IT73psGzHovSqIWmbeZ1iQ+mo1y6KNbrAFooo8mdhgUwT2RHsuiju/fTncD8PO00Jw+sXCd5uwpKmBIUkJHsjW2doglOhwljs1bbfLu+avlmrqgWxSKaTf3Gn22Q2rEAQSjQHa9LurioA6EPMQqAI+2LLPjAWxFK1NN/c9Ge4+Gc8jY7nh+3szr6QWiUMUaWGH3RqYsfgXg9ikjwsxjVCZvUyBx9/DCRPBvwhSH+h5Ipz8qagb5hzLYnWWrx0886Iza8Y/5iQz8IYZavWMWF0J1wjw+lZwoVoUm3u0o8Mczlxf4yzPOp80l5WazWiYfRy3H2aSz3OU5B8kHAL/LU7PGfKCOhjWMbcgxkgTn+gsj45KO/IC5+CCU4wBNGGYPQ6g9le0hd7E=", "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 OKp6QvgT9uKScjRueS7S4LZwq7b+VZ33ZjnpxG/PMVH2U3ENAaBAtXv/yyRCAEf+feUr/x1GKKjFYICK85oBbgxLGBVcyfsP9PIzSh/A/hdym1Su7lq7duiI071qUuS8MtORE0UK+2epp3uoUlsCi+etVjCEjzIPZ+cj+iJiLofUHhn1B66UkJVmvn0X4mikYalB0makrJ4TZQsGY9X8eA5CpEx6HAk6JBQY+5w7iZjzCQGGNIG2QyURo4VgtNUnNMnuJX/F4qdpmj62U0dKFMquxsobPXarmr18JcOI2QPZWyO+QrxTLIiYRgwvUGoaeGXHTwWJueHna1S6tHdLyglHaaWsDgRE7PVO4j/RgsqJ+P87FZFieCDl3zqKFrQqitu3vTBkLq81AGmRrsv3IU12+kL2ggixfU1+P8/SMdMPbZ7BWWZbKq8cTkUB5lnsXokhJbxk5gYWRqdGA8vGxxoXKIfNy7B1m/5zCovpcGGRzFjUYWGdnqTzuAj+N6deJe6Xht6O1dFVyfj+sD+GFyPLE9lWzjK3dTyUV/uuL0pxQbTl+QbFO5sA9h1C5gHnpotxlbPDVCW2GZEhLh8LKgoHi8farem8Rd4UrFJltO/Psa7f8qwmMNimJ2pKjJyTeve2BlYgQlpNitwtlkkC8+GiZ0SpWkSb2PrnFrMuGKaB7ug/oO/lPMDlbL9IsdquSy4IFLyTFpN0Nw+n/dK/zpTjP5DjXJ7XQb4Gffq31x/l6KnaPMQysJBw9pn+1BSTgTi4aHfL0RrFfW1QTHjIocwgZcsXxiIy3VMPMt0dTiV1f52D76NAA5kBEzaLABM3Le7IUiUhzemB0XiIsVrR67OKyEgd/3u6VUflpcmGKbBYBGKBxLivjPcGn2LiG6NIWCQFlrJD3jQ1OB12vm7etq1tkWiIFCpbIgRYhTKF3b+CGUCnn1o1rduhGw2KH1tgOdpI/iqik1b7WOx3aW6PrG/3WGudo2VtmN0NDmULxfNuApbPFIrTOFY9Eb7E0nlScdqSti1A2Z4fYyljbAMCkwQCCBCScX6uBX5kUC6fWbmKnx1Qnzv99fGkrbmbTfM4UZ6flWNMSvOFtWVDgd+gsm6kMNFofcDaqI0vHPWE30c6mAxOMmKvn/VZg3dVxW10NXCIndFyVDsyBCDrWsRm2pBWDz7jrajOV+lBz3FNWfzwEwK1GPeUsTOx5wpQqglQsC5i2a39jbHwTpUOd1I7yB2PoWJf4yaySBhEfPPt1FJk6KwWHSfc4yfmS9VXUUEeV0rBV/06mUQEdOXfm9n8ba8sjT0cLj/oyWjGebdJOVTdjOLZZnOdkaj0fygZbq6PJNyxeHvUKZIQubDdUsOPhjk/3zDcg2a0BT9rBvK9ikn2xzBHmQFgxsvPr9xcUhyFwo4Jkdlf8RJA7mytACcW3EXwIQkIsP5HSHCAHRBwwAsKzWe16iIKBvqhN0yJKlRZ8p7OKIfrTgKtD1kv/Kw1hJZERjCQqQo8y3m4NvS+MmJGQYTZR79hJhoaxVFv096bNgTYAz8bBVT7bxsRR/B/DVNpgnYq7VjFDDzROue4tcLrSBOG/7FY+D83pAEWkujMrOvYsH1u+wglfOpqxdeUT+o60S9eF+DXENsQi3Zu6FC5ixloTZAo5AJXITFPnjngMhs4jIaQhmFn5Z0I7BYifU5vJ03fy3ohDPNTw0AsNoqSI/Y4dWwD/xW2UALwQwSc0A566Upd76ouveaMM1QD7x0p+1dfjKeifPF2xmnvx8z04ZbvZ4S5WozwOXRFYJUo", "X-OriginatorOrg": "starfivetech.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n cd059695-448d-4140-880c-08dea1f2940a", "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:13:57.2186\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 4QiFwjAamil2SywrehiAXly4hhhWrAvGvn1638epbqF4TVGF/SZ7yKrbPBGUNtKdMQefEV0dYCMvOwxXEK2lFgChADdf+/R/PqvpUQOibLCUcbuHNP6d+E42Zh5DUlD7", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "ZQ4PR01MB1156" }, "content": "Add pinctrl driver for StarFive JHB100 SoC Peripheral-2(per2) pinctrl\ncontroller.\n\nSigned-off-by: Lianfeng Ouyang <lianfeng.ouyang@starfivetech.com>\nSigned-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>\n---\n drivers/pinctrl/starfive/Kconfig | 12 +++\n drivers/pinctrl/starfive/Makefile | 1 +\n .../starfive/pinctrl-starfive-jhb100-per2.c | 102 ++++++++++++++++++\n 3 files changed, 115 insertions(+)\n create mode 100644 drivers/pinctrl/starfive/pinctrl-starfive-jhb100-per2.c", "diff": "diff --git a/drivers/pinctrl/starfive/Kconfig b/drivers/pinctrl/starfive/Kconfig\nindex c5937207b2d3..765379bf3d52 100644\n--- a/drivers/pinctrl/starfive/Kconfig\n+++ b/drivers/pinctrl/starfive/Kconfig\n@@ -83,6 +83,18 @@ config PINCTRL_STARFIVE_JHB100_PER1\n \t peripherals supporting inputs, outputs, configuring pull-up/pull-down\n \t and interrupts on input changes.\n \n+config PINCTRL_STARFIVE_JHB100_PER2\n+\ttristate \"StarFive JHB100 SoC Peripheral-2 pinctrl and GPIO driver\"\n+\tdepends on ARCH_STARFIVE || COMPILE_TEST\n+\tdepends on OF\n+\tselect PINCTRL_STARFIVE_JHB100\n+\tdefault ARCH_STARFIVE\n+\thelp\n+\t Say yes here to support Peripheral-2 pin control on the StarFive JHB100 SoC.\n+\t This also provides an interface to the GPIO pins not used by other\n+\t peripherals supporting inputs, outputs, configuring pull-up/pull-down\n+\t and interrupts on input changes.\n+\n config PINCTRL_STARFIVE_JHB100_SYS0\n \ttristate \"StarFive JHB100 SoC System-0 pinctrl and GPIO driver\"\n \tdepends on ARCH_STARFIVE || COMPILE_TEST\ndiff --git a/drivers/pinctrl/starfive/Makefile b/drivers/pinctrl/starfive/Makefile\nindex 6beef7e313ef..33213bd1919f 100644\n--- a/drivers/pinctrl/starfive/Makefile\n+++ b/drivers/pinctrl/starfive/Makefile\n@@ -9,6 +9,7 @@ obj-$(CONFIG_PINCTRL_STARFIVE_JH7110_AON)\t+= pinctrl-starfive-jh7110-aon.o\n obj-$(CONFIG_PINCTRL_STARFIVE_JHB100)\t\t+= pinctrl-starfive-jhb100.o\n obj-$(CONFIG_PINCTRL_STARFIVE_JHB100_PER0)\t+= pinctrl-starfive-jhb100-per0.o\n obj-$(CONFIG_PINCTRL_STARFIVE_JHB100_PER1)\t+= pinctrl-starfive-jhb100-per1.o\n+obj-$(CONFIG_PINCTRL_STARFIVE_JHB100_PER2)\t+= pinctrl-starfive-jhb100-per2.o\n obj-$(CONFIG_PINCTRL_STARFIVE_JHB100_SYS0)\t+= pinctrl-starfive-jhb100-sys0.o\n obj-$(CONFIG_PINCTRL_STARFIVE_JHB100_SYS0H)\t+= pinctrl-starfive-jhb100-sys0h.o\n obj-$(CONFIG_PINCTRL_STARFIVE_JHB100_SYS1)\t+= pinctrl-starfive-jhb100-sys1.o\ndiff --git a/drivers/pinctrl/starfive/pinctrl-starfive-jhb100-per2.c b/drivers/pinctrl/starfive/pinctrl-starfive-jhb100-per2.c\nnew file mode 100644\nindex 000000000000..d4c2927f1014\n--- /dev/null\n+++ b/drivers/pinctrl/starfive/pinctrl-starfive-jhb100-per2.c\n@@ -0,0 +1,102 @@\n+// SPDX-License-Identifier: GPL-2.0-or-later\n+/*\n+ * Pinctrl / GPIO driver for StarFive JHB100 SoC Peripheral-2 domain\n+ *\n+ * Copyright (C) 2024 StarFive Technology Co., Ltd.\n+ * Author: Alex Soo <yuklin.soo@starfivetech.com>\n+ *\n+ */\n+\n+#include <linux/mod_devicetable.h>\n+#include <linux/platform_device.h>\n+\n+#include \"pinctrl-starfive-jhb100.h\"\n+\n+static const struct jhb100_pin_layout_desc jhb100_per2_pl_desc[] = {\n+\t{ .pin_start = 0, .pin_cnt = 15, .name = \"gpio\", .gpio_func_sel = 0 },\n+\t{ .pin_start = 15, .pin_cnt = 1, .name = \"gpio\", .gpio_func_sel = -1 },\n+\t{ .pin_start = 16, .pin_cnt = 15, .name = \"gpio\", .gpio_func_sel = 0 },\n+\t{ 0xff },\n+};\n+\n+static struct config_reg_layout_desc jhb100_per2_pinctrl_rl_desc[] = {\n+\t{\n+\t\t.pin_start\t\t\t= 0,\n+\t\t.pin_cnt\t\t\t= 19,\n+\t\t.drive_strength_2bit\t\t= { .shift = 0, .width = 2 },\n+\t\t.input_enable\t\t\t= { .shift = 2, .width = 1 },\n+\t\t.pull_down\t\t\t= { .shift = 3, .width = 1 },\n+\t\t.pull_up\t\t\t= { .shift = 4, .width = 1 },\n+\t\t.slew_rate\t\t\t= { .shift = 5, .width = 1 },\n+\t\t.schmitt_trigger_select\t\t= { .shift = 6, .width = 1 },\n+\t\t.reserved\t\t\t= { .shift = 7, .width = 8 },\n+\t\t.debounce_width\t\t\t= { .shift = 15, .width = 17 },\n+\t},\n+\t{\n+\t\t.pin_start\t\t\t= 19,\n+\t\t.pin_cnt\t\t\t= 12,\n+\t\t.input_enable\t\t\t= { .shift = 0, .width = 1 },\n+\t\t.slew_rate\t\t\t= { .shift = 1, .width = 1 },\n+\t\t.vsel\t\t\t\t= { .shift = 2, .width = 2,\n+\t\t\t\t\t\t .func = BIT(PER2_GMAC_RGMII_FUNC) |\n+\t\t\t\t\t\t\t BIT(PER2_GMAC_RMII_FUNC) },\n+\t\t.reserved\t\t\t= {.shift = 4, .width = 11 },\n+\t\t.debounce_width\t\t\t= {.shift = 15, .width = 17 },\n+\t},\n+\t{ 0xff },\n+};\n+\n+static const struct pinvref_desc pinvref_desc_per2[] = {\n+\t{\n+\t\t.name = \"gpionw\",\n+\t\t.range = BIT(JHB100_PINVREF_1_8V) | BIT(JHB100_PINVREF_2_5V) |\n+\t\t\t BIT(JHB100_PINVREF_3_3V)\n+\t},\n+\t{ NULL },\n+};\n+\n+struct starfive_pinctrl_regs jhb100_per2_pinctrl_regs = {\n+\t.vref\t\t\t= { .reg = 0x00, .pv_desc = pinvref_desc_per2 },\n+\t.config\t\t\t= { .reg = 0x04, .width_per_pin = 1 },\n+\t.output\t\t\t= { .reg = 0x80, .width_per_pin = 1 },\n+\t.output_en\t\t= { .reg = 0x84, .width_per_pin = 1 },\n+\t.gpio_status\t\t= { .reg = 0x88, .width_per_pin = 1 },\n+\t.func_sel\t\t= { .reg = 0x8c, .width_per_pin = 2 },\n+\t.irq_en\t\t\t= { .reg = 0x94, .width_per_pin = 1 },\n+\t.irq_status\t\t= { .reg = 0x98, .width_per_pin = 1 },\n+\t.irq_clr\t\t= { .reg = 0x9c, .width_per_pin = 1 },\n+\t.irq_trigger\t\t= { .reg = 0xa0, .width_per_pin = 1 },\n+\t.irq_level\t\t= { .reg = 0xa4, .width_per_pin = 1 },\n+\t.irq_both_edge\t\t= { .reg = 0xa8, .width_per_pin = 1 },\n+\t.irq_edge\t\t= { .reg = 0xac, .width_per_pin = 1 },\n+};\n+\n+static const struct jhb100_pinctrl_domain_info jhb100_per2_pinctrl_info = {\n+\t.name\t\t\t= \"jhb100-per2\",\n+\t.gc_base\t\t= -1,\n+\t.pl_desc\t\t= jhb100_per2_pl_desc,\n+\t.crl_desc\t\t= jhb100_per2_pinctrl_rl_desc,\n+\t.regs\t\t\t= &jhb100_per2_pinctrl_regs,\n+};\n+\n+static const struct of_device_id jhb100_per2_pinctrl_of_match[] = {\n+\t{\n+\t\t.compatible = \"starfive,jhb100-per2-pinctrl\",\n+\t\t.data = &jhb100_per2_pinctrl_info,\n+\t},\n+\t{ /* sentinel */ }\n+};\n+MODULE_DEVICE_TABLE(of, jhb100_per2_pinctrl_of_match);\n+\n+static struct platform_driver jhb100_per2_pinctrl_driver = {\n+\t.probe = jhb100_pinctrl_probe,\n+\t.driver = {\n+\t\t.name = \"starfive-jhb100-per2-pinctrl\",\n+\t\t.of_match_table = jhb100_per2_pinctrl_of_match,\n+\t},\n+};\n+module_platform_driver(jhb100_per2_pinctrl_driver);\n+\n+MODULE_DESCRIPTION(\"Pinctrl driver for StarFive JHB100 SoC Peripheral-2 domain\");\n+MODULE_AUTHOR(\"Alex Soo <yuklin.soo@starfivetech.com>\");\n+MODULE_LICENSE(\"GPL\");\n", "prefixes": [ "v1", "14/20" ] }