{"id":2196236,"url":"http://patchwork.ozlabs.org/api/1.0/covers/2196236/?format=json","project":{"id":57,"url":"http://patchwork.ozlabs.org/api/1.0/projects/57/?format=json","name":"Linux ASPEED SoC development","link_name":"linux-aspeed","list_id":"linux-aspeed.lists.ozlabs.org","list_email":"linux-aspeed@lists.ozlabs.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20260213-pinctrl-single-bit-v1-0-c60f2fb80efb@aspeedtech.com>","date":"2026-02-13T08:17:41","name":"[RFC,0/2] pinctrl: add syscon-backed packed-field pinctrl driver and DT bindings","submitter":{"id":80235,"url":"http://patchwork.ozlabs.org/api/1.0/people/80235/?format=json","name":"Billy Tsai","email":"billy_tsai@aspeedtech.com"},"series":[{"id":492066,"url":"http://patchwork.ozlabs.org/api/1.0/series/492066/?format=json","date":"2026-02-13T08:17:43","name":"pinctrl: add syscon-backed packed-field pinctrl driver and DT bindings","version":1,"mbox":"http://patchwork.ozlabs.org/series/492066/mbox/"}],"headers":{"Return-Path":"\n <linux-aspeed+bounces-3514-incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-aspeed@lists.ozlabs.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=linux-aspeed+bounces-3514-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=none smtp.remote-ip=211.20.114.72","lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=aspeedtech.com","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=aspeedtech.com\n (client-ip=211.20.114.72; helo=twmbx01.aspeed.com;\n envelope-from=billy_tsai@aspeedtech.com; receiver=lists.ozlabs.org)"],"Received":["from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:21b9:f100::1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1 raw public key)\n server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fC4mr5gqwz1xxR\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 13 Feb 2026 19:18:20 +1100 (AEDT)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4fC4mk5Tvcz2yL8;\n\tFri, 13 Feb 2026 19:18:14 +1100 (AEDT)","from TWMBX01.aspeed.com (mail.aspeedtech.com [211.20.114.72])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4fC4mj42N7z2xdY\n\tfor <linux-aspeed@lists.ozlabs.org>; Fri, 13 Feb 2026 19:18:12 +1100 (AEDT)","from TWMBX01.aspeed.com (192.168.0.62) by TWMBX01.aspeed.com\n (192.168.0.62) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.10; Fri, 13 Feb\n 2026 16:17:55 +0800","from [127.0.1.1] (192.168.10.13) by TWMBX01.aspeed.com\n (192.168.0.62) with Microsoft SMTP Server id 15.2.1748.10 via Frontend\n Transport; Fri, 13 Feb 2026 16:17:55 +0800"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1770970694;\n\tcv=none;\n b=B0qM4hmCXFrA7fSVI+Qi5KJYyTYIFL5zb63/ULdXxKWQLqlj9JGIqkT7QIoKLvAF/DjDPXhOL/W0caKoFIll5NNIbmKlLKzwNqNSCfcFSU5uMVIk7L6o5WYVPWMPItrp+GJQ/mElWrU6jJ1pQnOCMnL5en6YGoyk7ckcG6sbdIe8AJFgE/ZsGF+CSWNljX1RvRQNCSEPGxtZ39FP+H0MEbq3QhH1qwoF1p+6I3m79z3jlDTXq4Weg+B5TNl3MNgF4VoNYlJJlhh0gTX7r7Cf8fWJLVaL6x9CLef9bbew67qUQO6L3+wOroI9OC2sNuXhyFebXAXIupUGErqhSYODsA==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1770970694; c=relaxed/relaxed;\n\tbh=M8dnnrrcEDHnIimVUAM15GI9TwFy54Eqb719DGpYZB0=;\n\th=From:Subject:Date:Message-ID:MIME-Version:Content-Type:To:CC;\n b=PNA8F9BNVou16ETsXDTp/dP4p84pj1jgYqVRt32Q5tYMUWPGeFKN37P2KYpECPwQw7py/BmBKcnm6oNAK9lXf4g6gpvuSXU85MZu/ryKyXEdzO0pf3H0W7NibZ+O0tME2+WWGj6qIchNyQr7hPxs+cjXMRL9oe+ql6qKDOYwEJ3w2dNkaN9NYix/9Pp50I4ywD03/n3me9q3Cc6OtqjP+ErFKtpOhj8wszjhrLIFHMXGtrADVeqdbw5D4Y88zBO5RdtHuiDRCPHde68ePHR66KIIh+MqdxRhX572mFLiNlcnr6ibOjL4PnUnMNKaFH0y3jMpZJKNECAGj2Io4k176Q==","ARC-Authentication-Results":"i=1; lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=aspeedtech.com;\n spf=pass (client-ip=211.20.114.72; helo=twmbx01.aspeed.com;\n envelope-from=billy_tsai@aspeedtech.com;\n receiver=lists.ozlabs.org) smtp.mailfrom=aspeedtech.com","From":"Billy Tsai <billy_tsai@aspeedtech.com>","Subject":"[PATCH RFC 0/2] pinctrl: add syscon-backed packed-field pinctrl\n driver and DT bindings","Date":"Fri, 13 Feb 2026 16:17:41 +0800","Message-ID":"<20260213-pinctrl-single-bit-v1-0-c60f2fb80efb@aspeedtech.com>","X-Mailing-List":"linux-aspeed@lists.ozlabs.org","List-Id":"<linux-aspeed.lists.ozlabs.org>","List-Help":"<mailto:linux-aspeed+help@lists.ozlabs.org>","List-Owner":"<mailto:linux-aspeed+owner@lists.ozlabs.org>","List-Post":"<mailto:linux-aspeed@lists.ozlabs.org>","List-Archive":"<https://lore.kernel.org/linux-aspeed/>,\n  <https://lists.ozlabs.org/pipermail/linux-aspeed/>","List-Subscribe":"<mailto:linux-aspeed+subscribe@lists.ozlabs.org>,\n  <mailto:linux-aspeed+subscribe-digest@lists.ozlabs.org>,\n  <mailto:linux-aspeed+subscribe-nomail@lists.ozlabs.org>","List-Unsubscribe":"<mailto:linux-aspeed+unsubscribe@lists.ozlabs.org>","Precedence":"list","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"7bit","X-B4-Tracking":"v=1; b=H4sIACXejmkC/x3MwQpAQBCA4VfRnE3ZEeGqPICrHNgdTGlpV1Lad\n 7c5fof/f8GzE/bQJC84vsXLYSNUmoDeJrsyiokGyqjMSCk8xerL7ejFrjvjLBeaiVS+UEW6LiC\n Gp+NFnn86QN+1MIbwAdRy5kxpAAAA","X-Change-ID":"20260211-pinctrl-single-bit-da213f282c95","To":"Linus Walleij <linusw@kernel.org>, Tony Lindgren <tony@atomide.com>, \"Rob\n Herring\" <robh@kernel.org>, Krzysztof Kozlowski <krzk+dt@kernel.org>, \"Conor\n Dooley\" <conor+dt@kernel.org>, Joel Stanley <joel@jms.id.au>, Andrew Jeffery\n\t<andrew@codeconstruct.com.au>, Bartosz Golaszewski <brgl@kernel.org>","CC":"<patrickw3@meta.com>, <linux-gpio@vger.kernel.org>,\n\t<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,\n\t<linux-arm-kernel@lists.infradead.org>, <linux-aspeed@lists.ozlabs.org>,\n\t<BMC-SW@aspeedtech.com>, Billy Tsai <billy_tsai@aspeedtech.com>","X-Mailer":"b4 0.14.3","X-Developer-Signature":"v=1; a=ed25519-sha256; t=1770970675; l=2131;\n i=billy_tsai@aspeedtech.com; s=20251118; h=from:subject:message-id;\n bh=GyucnYRddM+KPEwtfmXcesurg0IS8btBZhDNqZcs91M=;\n b=wnr8PkYCiaj6qIxDNo2bobprHQFZzxKZe4ITj4bP2A7etp7tWDxgaI1FFV0ZkCF8v/Mzh9EvQ\n i9jFMJZ6T+wBt80YTsSiVUTiqGAEBSJYEh8C4XVx4HGcMDlWw2KJ+jV","X-Developer-Key":"i=billy_tsai@aspeedtech.com; a=ed25519;\n pk=/A8qvgZ6CPfnwKgT6/+k+nvXOkN477MshEGJvVdzeeQ=","X-Spam-Status":"No, score=0.0 required=5.0 tests=SPF_HELO_FAIL,SPF_PASS\n\tautolearn=disabled version=4.0.1","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"},"content":"This work follows earlier review discussions around extending\npinctrl-single for bit-per-mux / packed-field controllers. Based on\nfeedback from Linus Walleij and Tony Lindgren, the direction was changed\ntowards introducing a separate targeted driver instead of further\nincreasing the complexity of pinctrl-single.\n\nThe prior pinctrl-single series is at:\nhttps://lore.kernel.org/all/20260123-upstream_pinctrl_single-v2-0-40f8063cc5a2@aspeedtech.com/\n\nThis series is a replacement of that approach., targeted pinctrl driver\nfor controllers where pinmux and/or pin configuration are represented as\nfixed-width fields packed sequentially within shared registers\n(packed-field / bit-per-pin style controllers).\n\nAlthough pinctrl-single contains support for some bit-per-mux use cases,\nit was originally designed around direct MMIO ownership and has grown\nin complexity over time. For SoCs where the pin controller lives inside\na larger SCU/syscon register block, using syscon + regmap-mmio provides\na clearer ownership model and naturally avoids MMIO resource conflicts.\n\nThe new driver is designed to be instantiated as a subnode of a syscon\ndevice (e.g. SCU). It obtains a regmap from the parent and uses the\nchild node 'reg' as a window into the syscon register space.\n\nThis series includes:\n  1. A generic Devicetree binding for packed-field pin controllers.\n  2. The new pinctrl-packed driver (derived from pinctrl-single).\n\nSigned-off-by: Billy Tsai <billy_tsai@aspeedtech.com>\n---\nBilly Tsai (2):\n      dt-bindings: pinctrl: Add pinctrl-packed\n      pinctrl: add syscon-backed packed-field pin controller driver\n\n .../bindings/pinctrl/pinctrl-packed.yaml           |  166 +++\n drivers/pinctrl/Kconfig                            |   13 +\n drivers/pinctrl/Makefile                           |    1 +\n drivers/pinctrl/pinctrl-packed.c                   | 1168 ++++++++++++++++++++\n 4 files changed, 1348 insertions(+)\n---\nbase-commit: ea24857a76ad90632f86f1e8c8465f96c9f2e407\nchange-id: 20260211-pinctrl-single-bit-da213f282c95\n\nBest regards,"}