{"id":2218683,"url":"http://patchwork.ozlabs.org/api/1.0/covers/2218683/?format=json","project":{"id":42,"url":"http://patchwork.ozlabs.org/api/1.0/projects/42/?format=json","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":"<20260401162510.1706073-1-o.rempel@pengutronix.de>","date":"2026-04-01T16:25:04","name":"[v10,0/6] mfd: Add support for NXP MC33978/MC34978 MSDI","submitter":{"id":71360,"url":"http://patchwork.ozlabs.org/api/1.0/people/71360/?format=json","name":"Oleksij Rempel","email":"o.rempel@pengutronix.de"},"series":[{"id":498365,"url":"http://patchwork.ozlabs.org/api/1.0/series/498365/?format=json","date":"2026-04-01T16:25:07","name":"mfd: Add support for NXP MC33978/MC34978 MSDI","version":10,"mbox":"http://patchwork.ozlabs.org/series/498365/mbox/"}],"headers":{"Return-Path":"\n <linux-gpio+bounces-34565-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:3c15:e001:75::12fc:5321; helo=sin.lore.kernel.org;\n envelope-from=linux-gpio+bounces-34565-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=185.203.201.7","smtp.subspace.kernel.org;\n dmarc=none (p=none dis=none) header.from=pengutronix.de","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=pengutronix.de"],"Received":["from sin.lore.kernel.org (sin.lore.kernel.org\n [IPv6:2600:3c15:e001:75::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 4fm9rZ0s6Yz1yCp\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 02 Apr 2026 03:47:26 +1100 (AEDT)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sin.lore.kernel.org (Postfix) with ESMTP id 1456A30C7FB5\n\tfor <incoming@patchwork.ozlabs.org>; Wed,  1 Apr 2026 16:26:42 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 711CB478E5D;\n\tWed,  1 Apr 2026 16:25:49 +0000 (UTC)","from metis.whiteo.stw.pengutronix.de\n (metis.whiteo.stw.pengutronix.de [185.203.201.7])\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 50AAA46AF2B\n\tfor <linux-gpio@vger.kernel.org>; Wed,  1 Apr 2026 16:25:43 +0000 (UTC)","from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2])\n\tby metis.whiteo.stw.pengutronix.de with esmtps\n (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)\n\t(Exim 4.92)\n\t(envelope-from <ore@pengutronix.de>)\n\tid 1w7yNV-00088f-RJ; Wed, 01 Apr 2026 18:25:13 +0200","from dude04.red.stw.pengutronix.de ([2a0a:edc0:0:1101:1d::ac]\n helo=dude04)\n\tby drehscheibe.grey.stw.pengutronix.de with esmtps  (TLS1.3) tls\n TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384\n\t(Exim 4.96)\n\t(envelope-from <ore@pengutronix.de>)\n\tid 1w7yNV-003EjC-0X;\n\tWed, 01 Apr 2026 18:25:13 +0200","from ore by dude04 with local (Exim 4.98.2)\n\t(envelope-from <ore@pengutronix.de>)\n\tid 1w7yNV-000000079qc-0OLq;\n\tWed, 01 Apr 2026 18:25:13 +0200"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775060748; cv=none;\n b=nnRRrM5VE4QqN+5mLelSdoD2VsCPDvTfMfY710MunPXcWTkbpGXIQxC/BFYHF2c5dnjnowXAHKfWFg4pz0VJCDwyhQ5nMwdJZ4skUDFiJlOcaNuz5z1kqlae7sgVhnlv+xcUUYdRRLwPzvpsTAtbKyhqcoWK8DPMJwN9HxMLDRg=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775060748; c=relaxed/simple;\n\tbh=Jpv6RTniVBvt70szPgYAv0JGed4nVUgLqx8NINTIpxI=;\n\th=From:To:Cc:Subject:Date:Message-ID:MIME-Version;\n b=chId1zpxmrRyVY9zebePz1440LWdjxTKwr50OxqP0kwNHKnaVCxNcMHJHaw3+6neF80o3BfhbQkUywyQrU5Q8uk4c2sEbSPVVl4XWNGO3DYbe6aXfuFLx5//eV7aV4oKvAZ6c7HbQhPGV2eCo7PoDQfUIw/H5pJF3UaLOb9gPbw=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dmarc=none (p=none dis=none) header.from=pengutronix.de;\n spf=pass smtp.mailfrom=pengutronix.de; arc=none smtp.client-ip=185.203.201.7","From":"Oleksij Rempel <o.rempel@pengutronix.de>","To":"Guenter Roeck <linux@roeck-us.net>,\n\tRob Herring <robh@kernel.org>,\n\tKrzysztof Kozlowski <krzk+dt@kernel.org>,\n\tConor Dooley <conor+dt@kernel.org>,\n\tLee Jones <lee@kernel.org>,\n\tPeter Rosin <peda@axentia.se>,\n\tLinus Walleij <linusw@kernel.org>","Cc":"Oleksij Rempel <o.rempel@pengutronix.de>,\n\tkernel@pengutronix.de,\n\tlinux-kernel@vger.kernel.org,\n\tdevicetree@vger.kernel.org,\n\tlinux-hwmon@vger.kernel.org,\n\tlinux-gpio@vger.kernel.org,\n\tDavid Jander <david@protonic.nl>","Subject":"[PATCH v10 0/6] mfd: Add support for NXP MC33978/MC34978 MSDI","Date":"Wed,  1 Apr 2026 18:25:04 +0200","Message-ID":"<20260401162510.1706073-1-o.rempel@pengutronix.de>","X-Mailer":"git-send-email 2.47.3","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","Content-Transfer-Encoding":"8bit","X-SA-Exim-Connect-IP":"2a0a:edc0:0:c01:1d::a2","X-SA-Exim-Mail-From":"ore@pengutronix.de","X-SA-Exim-Scanned":"No (on metis.whiteo.stw.pengutronix.de);\n SAEximRunCond expanded to false","X-PTX-Original-Recipient":"linux-gpio@vger.kernel.org"},"content":"changes v7:\n- drop gpiolib irq fix and make pinctrl more robust against NULL point\n  dereference.\n\nThis series adds support for the NXP MC33978/MC34978 Multiple Switch Detection\nInterface (MSDI) via the MFD framework.\n\nArchitecture overview:\n* mfd: Core driver handling 2-frame pipelined SPI, regulator sequencing, and\n  linear irq_domain. Harvests status bits from SPI MISO MSB.\n* pinctrl: Exposes 22 physical switch inputs as standard GPIOs. Proxies IRQs to\n  the MFD domain.\n* hwmon: Exposes thermal limits, VBATP/VDDQ voltage boundaries, and dynamic\n  fault alarms.\n* mux: Controls the 24-to-1 AMUX routing analog signals (switch voltages,\n  temperature, VBATP) to an external ADC.\n\nInitial pinctrl implementation by David Jander, reworked into this MFD\narchitecture.\n\nBest regards,\nOleksij\n\nDavid Jander (1):\n  pinctrl: add NXP MC33978/MC34978 pinctrl driver\n\nOleksij Rempel (5):\n  dt-bindings: pinctrl: add NXP MC33978/MC34978 MSDI\n  mfd: add NXP MC33978/MC34978 core driver\n  pinctrl: core: Make pin group callbacks optional for pin-only drivers\n  hwmon: add NXP MC33978/MC34978 driver\n  mux: add NXP MC33978/MC34978 AMUX driver\n\n .../bindings/pinctrl/nxp,mc33978.yaml         |  158 +++\n drivers/hwmon/Kconfig                         |   10 +\n drivers/hwmon/Makefile                        |    1 +\n drivers/hwmon/mc33978-hwmon.c                 |  549 +++++++++\n drivers/mfd/Kconfig                           |   15 +\n drivers/mfd/Makefile                          |    2 +\n drivers/mfd/mc33978.c                         | 1079 +++++++++++++++++\n drivers/mux/Kconfig                           |   14 +\n drivers/mux/Makefile                          |    2 +\n drivers/mux/mc33978-mux.c                     |  141 +++\n drivers/pinctrl/Kconfig                       |   16 +\n drivers/pinctrl/Makefile                      |    1 +\n drivers/pinctrl/core.c                        |   41 +-\n drivers/pinctrl/pinconf.c                     |    9 +-\n drivers/pinctrl/pinctrl-mc33978.c             | 1008 +++++++++++++++\n include/linux/mfd/mc33978.h                   |   95 ++\n 16 files changed, 3134 insertions(+), 7 deletions(-)\n create mode 100644 Documentation/devicetree/bindings/pinctrl/nxp,mc33978.yaml\n create mode 100644 drivers/hwmon/mc33978-hwmon.c\n create mode 100644 drivers/mfd/mc33978.c\n create mode 100644 drivers/mux/mc33978-mux.c\n create mode 100644 drivers/pinctrl/pinctrl-mc33978.c\n create mode 100644 include/linux/mfd/mc33978.h\n\n--\n2.47.3"}