Cover Letter Detail
Show a cover letter.
GET /api/covers/2216174/?format=api
{ "id": 2216174, "url": "http://patchwork.ozlabs.org/api/covers/2216174/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/cover/20260325-pinctrl-mux-v4-0-043c2c82e623@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": "<20260325-pinctrl-mux-v4-0-043c2c82e623@nxp.com>", "list_archive_url": null, "date": "2026-03-25T23:04:09", "name": "[v4,0/7] pinctrl: Add generic pinctrl for board-level mux chips", "submitter": { "id": 68011, "url": "http://patchwork.ozlabs.org/api/people/68011/?format=api", "name": "Frank Li", "email": "Frank.Li@nxp.com" }, "mbox": "http://patchwork.ozlabs.org/project/linux-gpio/cover/20260325-pinctrl-mux-v4-0-043c2c82e623@nxp.com/mbox/", "series": [ { "id": 497519, "url": "http://patchwork.ozlabs.org/api/series/497519/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/list/?series=497519", "date": "2026-03-25T23:04:16", "name": "pinctrl: Add generic pinctrl for board-level mux chips", "version": 4, "mbox": "http://patchwork.ozlabs.org/series/497519/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/covers/2216174/comments/", "headers": { "Return-Path": "\n <linux-gpio+bounces-34175-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=J/JmKopF;\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-34175-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=\"J/JmKopF\"", "smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=52.101.84.40", "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 4fh2cR6Y3kz1xy1\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 26 Mar 2026 10:07:35 +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 AEF94308833C\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 25 Mar 2026 23:04:34 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 420EA394794;\n\tWed, 25 Mar 2026 23:04:34 +0000 (UTC)", "from DB3PR0202CU003.outbound.protection.outlook.com\n (mail-northeuropeazon11010040.outbound.protection.outlook.com [52.101.84.40])\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 6ED513264C4;\n\tWed, 25 Mar 2026 23:04:32 +0000 (UTC)", "from DU0PR04MB9372.eurprd04.prod.outlook.com (2603:10a6:10:35b::7)\n by GV2PR04MB12140.eurprd04.prod.outlook.com (2603:10a6:150:30c::18) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.24; Wed, 25 Mar\n 2026 23:04:28 +0000", "from DU0PR04MB9372.eurprd04.prod.outlook.com\n ([fe80::4f6:1e57:c3b9:62b4]) by DU0PR04MB9372.eurprd04.prod.outlook.com\n ([fe80::4f6:1e57:c3b9:62b4%4]) with mapi id 15.20.9745.019; Wed, 25 Mar 2026\n 23:04:28 +0000" ], "ARC-Seal": [ "i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1774479874; cv=fail;\n b=KI0W+49cAJfmwPwXILnuMdhEeYxgqDs03bx1gI0Vt4ELBBNeBXZgb6Vup+GfFUhMJdbzohrMjcFDUtEDFmOIS+n/ne7JrGy50Lnm2CJpYTfe8JeB1Ld4TjdVA1+zf1Dyx45W0qEPcVoxIJAyfQuFlD5mNc4YFWeYoXDixsyY8Ww=", "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=h9nRkzwWsl7OI4nGYaOndwuEimUMd0nLOHza0vRON4DtZZ3vMZRURCoCvKi8ZnErJT4oBmafBA6UqRBzmdt/G7csZcMw/X5Qbzg7BOjMWDxOOECnRmEPiwx0EnoNI/iALY38qTy+0BT6yYAe0Td0zCkzjgGILuOKbraMwvg7t49bPisiixS4VNBk93fpJGwLOsKIWxUqhLHrduZjumGfMMTnecUFwLBI8RIG18AIcMk5jBb/APNdvk+1/nkNvjUaGV5FbBUKDxWB1Md29tln6Wlfpppff1n/eGPDqjUWIzzFTmV1dGTAeeHDMR+oHwwmODaNYebMeFgIityOk91bRw==" ], "ARC-Message-Signature": [ "i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1774479874; c=relaxed/simple;\n\tbh=DmAPb7OZBiyKeLz0y2fs7pQjSz8NwO/m9FoRgPem4PY=;\n\th=From:Subject:Date:Message-Id:Content-Type:To:Cc:MIME-Version;\n b=dAhFqBmgE8ohXnYPfIhJjVPtkNREsMugP9gezQfn6StkI4keLj8+kNZFU/zpvUSTlm/weQBmw0g41Uoym0NPhNEYPCV5hvizT9iJlmtMlMySLlq3LxACityI3YnbqkFj5hfHwbt9ISSbr0x1eK+T43oe6Eze0jisE2T/e6to8sA=", "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=rDtbKSqjnt6iFJq8x5U0QzAkLelaLAXYOnTcZlPggpY=;\n b=Q3Qi2Py4RlHnstMy9Es6VGEBqM4XelWEHqeJrsNoXYUlZ/4I44cTxGHyM0fn1HhBsu7lX/G+IHCdwmb+lmI2aXrozpBTUgsYxxJYSF5mSjDR0IffTHfh9NcT5pK/FemsUyt06JVWuAqb/0tQSvXxgdN5TyBwyt/ZudKGHuy46fYZkTYWAQZJCOMcnTd6AJuajMeVj6wpAd+zxt6p9GHTffm6Mxj0/Ubiq2cOCyMPtdC8dHPxFgOUywxsZ7HD1DjAEPYWAsGosaycUWNymPCM5uy+VPgPZVlO3HDu2BFUjo+2C8mQOL2YvHz2P0V2GWcFWXFv4Gq6TtR0MTxJkudCJg==" ], "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=J/JmKopF; arc=fail smtp.client-ip=52.101.84.40", "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=rDtbKSqjnt6iFJq8x5U0QzAkLelaLAXYOnTcZlPggpY=;\n b=J/JmKopFVVZJPkbIYSkTPQk3i0l5tpU9YbflDA/nUWvuNlk9gCzCDp2iEh2R+qu69r/ollH4ev/jIjcZX7BPooOnVRavug+j8kiMV7B1ed8sfJNvpOHhLv0FdILekLcSvhTpIF7mF+xbxoT1ekL3RgGfF2PPQ3JxRPDHOMLIFFerKJpvgMn3BuUofK5HR7LfY2kg1oLO9rTPnW0fvy0aHEuT766NNVMBYVVXCxWaBXPCHH0sl9AvWyJCgtvX3zX7J0tfMkh3VFIUiTZeh2EKmbBh0YsrH5HkL7CEroZDI8gqPRnUoCjJ5xpWIDhZplArl/VEbwvqbeSyE7jYydkegQ==", "From": "Frank Li <Frank.Li@nxp.com>", "Subject": "[PATCH v4 0/7] pinctrl: Add generic pinctrl for board-level mux\n chips", "Date": "Wed, 25 Mar 2026 19:04:09 -0400", "Message-Id": "<20260325-pinctrl-mux-v4-0-043c2c82e623@nxp.com>", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "8bit", "X-B4-Tracking": "v=1; b=H4sIAOlpxGkC/1XMSw6CMBSF4a2Yjq3h3j4AR+7DOKCllSZSSEGCI\n ezdQmKww3OS71/IYIIzA7meFhLM5AbX+Tj4+UR0U/mnoa6Om2CGMkNgtHdej+FF2/dMa1tqoaQ\n EwTMSRR+MdfNeuz/ibtwwduGzxyfY3l+nTDoT0IzKvKgRJMvzorj5ub/oriVbZcI/iSKVGCVwJ\n isUtuKCp5IdkgGkkkWJTCrQkCtbqkOu6/oFw29sDhgBAAA=", "X-Change-ID": "20260213-pinctrl-mux-df9c5b661540", "To": "Peter Rosin <peda@axentia.se>, Linus Walleij <linusw@kernel.org>,\n Rob Herring <robh@kernel.org>, Krzysztof Kozlowski <krzk+dt@kernel.org>,\n Conor Dooley <conor+dt@kernel.org>,\n =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= <rafal@milecki.pl>,\n Sascha Hauer <s.hauer@pengutronix.de>,\n Pengutronix Kernel Team <kernel@pengutronix.de>,\n Fabio Estevam <festevam@gmail.com>", "Cc": "linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org,\n devicetree@vger.kernel.org, imx@lists.linux.dev,\n linux-arm-kernel@lists.infradead.org, Haibo Chen <haibo.chen@nxp.com>,\n Frank Li <Frank.Li@nxp.com>, Ahmad Fatoum <a.fatoum@pengutronix.de>", "X-Mailer": "b4 0.14.2", "X-Developer-Signature": "v=1; a=ed25519-sha256; t=1774479864; l=4715;\n i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id;\n bh=DmAPb7OZBiyKeLz0y2fs7pQjSz8NwO/m9FoRgPem4PY=;\n b=YCocW9qYb7CRV2MaU0pCcyFyTfgzw/Cepw9a7vvZRfYlfWJlxG0qYwipw1MFKFxNk675Flvl6\n VpNDMcAMuBSCnL935Lad7DT/0aKToI11lrzTh/dkW3oCiMXDKJqjJxp", "X-Developer-Key": "i=Frank.Li@nxp.com; a=ed25519;\n pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q=", "X-ClientProxiedBy": "SJ0PR03CA0161.namprd03.prod.outlook.com\n (2603:10b6:a03:338::16) To DU0PR04MB9372.eurprd04.prod.outlook.com\n (2603:10a6:10:35b::7)", "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": "DU0PR04MB9372:EE_|GV2PR04MB12140:EE_", "X-MS-Office365-Filtering-Correlation-Id": "ea410de2-f67d-4922-eed6-08de8ac2dda0", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "\n\tBCL:0;ARA:13230040|376014|19092799006|366016|52116014|7416014|1800799024|18002099003|56012099003|38350700014;", "X-Microsoft-Antispam-Message-Info": "\n\t3Ix6BL1IG+Eilhxa3QkqcCHb2QIuXnYcHDnjFegS8k3kcnNMyDtPLaqHxxU9Su9TYS0U6lChWWO7EHs6pGae5mFMIwq8smUb/RX7cu1jjo0ToWscz2+ofiwjIAsTlQep9SZLBC7Xh+gi0332717xAzgo4KrLLV2B4f+nAXAgW2nX148ZVWrRavLbKV+uBLQDz3wXRVN/hd3fexDbr7gVrZ//zyCXDluNn5XA55MKfdykjaTuCY0Ctm3fCMgEi7RjfVAT2kTAdQXcLaX1+tRjIVuxKoszcubRQM5OOX765z2wOePl0DJJUYn71q9kZa+b/zZ6By5PjnD9we7l17sXNu2ymOUVDEtGr6ETw97r8f3bZP/zKTgfW1limpuxZ8BASc98RTH/jMH5KOKRxqaGp5CTbGlwGXlDg3Zcd0nxGWGdx3mpcIUiTNtZIIRVKkVk3CZsd1W3DEDT7B56fdJ8WBzGBCcHMhzNeCPZI4mOi8nHC4gZ6H3SPXhSakYLJ2Q1kI/pAz7fUUcRmi3JHl5Q28A9pkQPhRfmOI2bxydNDugQcv0+Tk8LLI7VjNfRorE+//5v6ijVNjLGHQjxumX7Q3C2FAo77wDmkxoXHGxGlU8VW3eHa6h7bhL0DfFCIv3cvN4/M3lFqZSVeAaN8zJ7scwUk6jFw4Pr1HE2saFMzbpZuvfsGJtw51nXubZN+xEnOtaJTuv4aT+owhZj08mBWNYxMyBsGCD5XI0f116RQbHjn43ukd9baqFxsIXX5qFW0KEx5RB1+OKfFkJQSgC9fky77uUQ5KhphkKJwezCf/8gabsdM5P1jc+TJF50rm0W", "X-Forefront-Antispam-Report": "\n\tCIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9372.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(19092799006)(366016)(52116014)(7416014)(1800799024)(18002099003)(56012099003)(38350700014);DIR:OUT;SFP:1101;", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "=?utf-8?q?6t02CIAzrK0oIESvf8kUYnRlrhMv?=\n\t=?utf-8?q?ODV7nfeV79dhYP7noLTme5lRsjNRYwCLpZE6GIY4dcgQ5viaIitBy1uKHSN/FsyWo?=\n\t=?utf-8?q?25LrlNWnU9iGxNjnziRqcJGZ861Yd0EXWpmJ5ixrUXRqFcqjek3NwQ/Q90MFmDYov?=\n\t=?utf-8?q?KxYAxFCV8mPvXwKPPZz3HdAMh832b/Zu15Hr//o/bstzvJLiCnvj1+rGLzB9qCNpM?=\n\t=?utf-8?q?wh+ZivI3hc6b4tWRw1Nf7n9LodsjlGpn+Qvpj3JLLsaAwX0QPgKcLwD1TeQixAgFF?=\n\t=?utf-8?q?xe596oY7yv5ugId0n8YacNHYEdxAoyaiQJRXyJg5WfMr11MGGc3fMQ1CgyFBOFgzz?=\n\t=?utf-8?q?Zjg0za/wFtfQyAs6wgvmKbTrN3vkVvOzYFPMWENV0hA+AR5BANnuHm9m+5xeJgswS?=\n\t=?utf-8?q?G7A7QFbxebQroQSA+eKoZdvvjRlhVKS2WUhetDchtbdohccojTNURyRPUir+7IPVF?=\n\t=?utf-8?q?APGNRf5na4yZAMWtrSPuHYBxAYYhR31Ela10XefXRIdu8TUKdSZ/KMcEd5N4jQDXr?=\n\t=?utf-8?q?gz3ElzJC1WgTSZz8RGAnNDm2IvmxzfKkaPjqGjEeF2i2eE3MCHIY5s1R6PR3mPafE?=\n\t=?utf-8?q?kEuAnZDw37unXy+LSEZGYOtVNLKA8XYx7mvt2pwS/tydFu73EJ2Y4XxpT6WIad66Q?=\n\t=?utf-8?q?fBdvc3bO69NrYvFshlOKhoSfOyy8SFe6Dz5QFxcqWqP3gAkpYha7irTuRmFBtMG1w?=\n\t=?utf-8?q?YCoyB8KU2hrikfy9UrlfZ20ukErtmpALWIqlL1qxlsL2/wWNLhrZMVsTzU5MvyvT+?=\n\t=?utf-8?q?hPN1JzDKHmlszY39ZqVeKR1iXOkRMSreUZQ0HoZI8PfYtCZdyXkIYU6xnkIYTl8dX?=\n\t=?utf-8?q?8d3gTqwQkpB4Sj2cRrID69YGTcVV7wMUkocLC1uxbJ7nm3DFep5AiRd5VLnY/mtlT?=\n\t=?utf-8?q?Q5y0xlmeZN06gsz6Pd1YUM5ktJT5MVuYyHit3s4wWzBCpko47YAE5epHC57noZ7+z?=\n\t=?utf-8?q?wtwiBihLoVEu/JJykTlSnqLhX7s/FNWNtxvk484ndepmNBWhBtZSx9YTEFWi6v+q6?=\n\t=?utf-8?q?OcVJyt3jng+fG7ofmRtpAY3BgFAye2mSBQxIa+2ZeNGTTFHio0yOxp9BNgd91705x?=\n\t=?utf-8?q?8VHva7EePYzUMZOSIGls2KGrYYEhnsu9LCAxJvE1TEvOrOXHqLabpmydVs2K1OS5E?=\n\t=?utf-8?q?LIeFowePAMtCejfad1yqfi7of7BewX4FiqSdo9mfYglsE+WOPvrpEwbBD5KmJlIlZ?=\n\t=?utf-8?q?J67s4ypSmaGwf3BVHe8bvac7hRRQX0AhC/lhI45te5VoObSb7lSZtCvcx6qR/UTDY?=\n\t=?utf-8?q?cuseI6f5jJKdUvaa06B2o9lLvJVVU9fBKeraZdyO6Dqam2dIzg/+ihSqWI/dQK7Lk?=\n\t=?utf-8?q?DipT7rtwjDtYDm2FqEpHuBtvjjTwl0xlsDIjzN5m0IN8e+1fzu7gj2b8DEQB/m7c4?=\n\t=?utf-8?q?aidr1I/CBG/XyQyoE+YTkCtkOWUy/iNqb3Llx+5jWLssUlmq4sKiWg1pXDW62TR1A?=\n\t=?utf-8?q?DLNDDyb4nyhlWVQlZvFB/6hyRPTiXQdn2EuvHYg/8LvX2eV1yeRM2F+OE7kw9NCMb?=\n\t=?utf-8?q?G7b0LGqSKtl5Eo2XEyzOtIEsc+8yS/8ovvBSO5efzgnZ8zRINswr71gc2GeRs4kDR?=\n\t=?utf-8?q?SL5tzujJHsExKpx7zbG02h6YSNKiivyDiFCR3Cs0pHct0Y+bXtKFbG3Gxs7Ehjv6J?=\n\t=?utf-8?q?/bHOypbk9Q?=", "X-OriginatorOrg": "nxp.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n ea410de2-f67d-4922-eed6-08de8ac2dda0", "X-MS-Exchange-CrossTenant-AuthSource": "DU0PR04MB9372.eurprd04.prod.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Internal", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "25 Mar 2026 23:04:28.1664\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 GWwfFHtVPsUC00ZyHUBRNNa9PpCrr4j2kIJ659PUL55Zw6GbbqMAtJ1WwZVsNqsuyJ9D+jp/xL9Fx1LTSY0a4Q==", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "GV2PR04MB12140" }, "content": "Add a generic pinctrl binding for board-level pinmux chips that are\ncontrolled through the multiplexer subsystem.\n\nOn some boards, especially development boards, external mux chips are used\nto switch SoC signals between different peripherals (e.g. MMC and UART).\nThe mux select lines are often driven by a GPIO expander over I2C,\nas illustrated below:\n\n ┌──────┐ ┌─────┐\n │ SOC │ │ │ ┌───────┐\n │ │ │ │───►│ MMC │\n │ │ │ MUX │ └───────┘\n │ ├─────►│ │ ┌───────┐\n │ │ │ │───►│ UART │\n │ │ └─────┘ └───────┘\n │ │ ▲\n │ │ ┌────┴──────────────┐\n │ I2C ├───►│ GPIO Expander │\n └──────┘ └───────────────────┘\n\nTraditionally, gpio-hog is used to configure the onboard mux at boot.\nHowever, the GPIO expander may probe later than consumer devices such as\nMMC. As a result, the MUX might not be configured when the peripheral\ndriver probes, leading to initialization failures or data transfer errors.\n\nIntroduce a generic pinctrl binding that models the board-level MUX as a\npin control provider and builds proper device links between the MUX, its\nGPIO controller, and peripheral devices. This ensures correct probe\nordering and reliable mux configuration.\n\nThe implementation leverages the standard multiplexer subsystem, which\nprovides broad support for onboard mux controllers and avoids the need for\nper-driver custom MUX handling\n\nSigned-off-by: Frank Li <Frank.Li@nxp.com>\n---\nChanges in v4:\n- use Conor Dooley suggest to extract funciton pinctrl_generic_pins_to_map()\n- Link to v3: https://lore.kernel.org/r/20260311-pinctrl-mux-v3-0-236b1c17bf9b@nxp.com\n\nChanges in v3:\n- collect rob's review tag for binding\n- extend and use pinctrl_generic_pins_function_dt_node_to_map()\n- add judgement about\ncommit 2243a87d90b42eb38bc281957df3e57c712b5e56\n\"pinctrl: avoid duplicated calling enable_pinmux_setting for a pin\"\n\nwhich call pinmux_disable_setting() before pinmux_enable_setting() when\nswitch state. It is actually what wanted. Previous remove .disable() to\navoid hardware glitch when switch state.\n\nNew .release_mux() call intent just release software resource, like lock,\ndon't touch hardware register. No glitch involve. Comments already added\n\nLinus Walleij:\n I hope this answer all of your questions. If I missed, let me know\n\n- Link to v2: https://lore.kernel.org/r/20260225-pinctrl-mux-v2-0-1436a25fa454@nxp.com\n\nChanges in v2:\n- Add release_mux callback,\n test insmod/rmmod, mux_state_(de)select() called.\n- Link to v1: https://lore.kernel.org/r/20260219-pinctrl-mux-v1-0-678d21637788@nxp.com\n\n---\nFrank Li (7):\n mux: add devm_mux_control_get_from_np() to get mux from child node\n dt-bindings: pinctrl: Add generic pinctrl for board-level mux chips\n pinctrl: extract pinctrl_generic_to_map() from pinctrl_generic_pins_function_dt_node_to_map()\n pinctrl: add optional .release_mux() callback\n pinctrl: add generic board-level pinctrl driver using mux framework\n arm64: dts: imx8mp-evk: add board-level mux for CAN2 and MICFIL\n arm64: dts: imx8mp-evk: add flexcan2 overlay file\n\n .../bindings/pinctrl/pinctrl-multiplexer.yaml | 57 ++++++\n .../devicetree/bindings/pinctrl/pinctrl.yaml | 2 +-\n arch/arm64/boot/dts/freescale/Makefile | 4 +\n .../boot/dts/freescale/imx8mp-evk-flexcan2.dtso | 15 ++\n arch/arm64/boot/dts/freescale/imx8mp-evk.dts | 23 ++-\n drivers/mux/core.c | 40 +++--\n drivers/pinctrl/Kconfig | 9 +\n drivers/pinctrl/Makefile | 1 +\n drivers/pinctrl/pinconf.h | 18 ++\n drivers/pinctrl/pinctrl-generic-mux.c | 197 +++++++++++++++++++++\n drivers/pinctrl/pinctrl-generic.c | 91 ++++++----\n drivers/pinctrl/pinmux.c | 5 +\n include/linux/mux/consumer.h | 16 +-\n include/linux/pinctrl/pinmux.h | 5 +\n 14 files changed, 425 insertions(+), 58 deletions(-)\n---\nbase-commit: ff76d257e86235eb07ef33db8644a517c48d1c3f\nchange-id: 20260213-pinctrl-mux-df9c5b661540\n\nBest regards,\n--\nFrank Li <Frank.Li@nxp.com>" }