{"id":2219263,"url":"http://patchwork.ozlabs.org/api/1.0/covers/2219263/?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":"<20260402174349.3220518-1-o.rempel@pengutronix.de>","date":"2026-04-02T17:43:43","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":498521,"url":"http://patchwork.ozlabs.org/api/1.0/series/498521/?format=json","date":"2026-04-02T17:43:49","name":"mfd: Add support for NXP MC33978/MC34978 MSDI","version":11,"mbox":"http://patchwork.ozlabs.org/series/498521/mbox/"}],"headers":{"Return-Path":"\n <linux-gpio+bounces-34609-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-34609-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 4fmq6h14ftz1yCs\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 03 Apr 2026 04:46:52 +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 5D71A3045082\n\tfor <incoming@patchwork.ozlabs.org>; Thu,  2 Apr 2026 17:44:19 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id DF45D3F23A1;\n\tThu,  2 Apr 2026 17:44:12 +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 3A93E3E51C5\n\tfor <linux-gpio@vger.kernel.org>; Thu,  2 Apr 2026 17:44:11 +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 1w8M59-000534-3n; Thu, 02 Apr 2026 19:43:51 +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 1w8M58-003PUk-0Y;\n\tThu, 02 Apr 2026 19:43:50 +0200","from ore by dude04 with local (Exim 4.98.2)\n\t(envelope-from <ore@pengutronix.de>)\n\tid 1w8M58-0000000DVoz-0Of6;\n\tThu, 02 Apr 2026 19:43:50 +0200"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775151852; cv=none;\n b=II/osk4SZ9Y+2yzvdXmtP+yrqhsCIzdyDXJiiEJAc91paMIw/148IW8TxCQX1rdi5/5TS+G7U8AmnRWBd66QkACGrbuNnUr/TqYzN75awc92/sHJT635uBM7zwd33nI3SGodB+vUYhvv/z5IoiiNDUXtt2sEze5HLNwM3VoXmfY=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775151852; c=relaxed/simple;\n\tbh=injS5tQCZXVDTCGWVIa84riP79IKefj1CwX+qSDJL0I=;\n\th=From:To:Cc:Subject:Date:Message-ID:MIME-Version;\n b=AjAGo1rsya656QPuq8U+QLVBXip4ljqxdhpnDpEznEYuK1KcZLPTkpbKfJktLge+d9gS+xcN+cvdxyFp3dkKxMKlkQqtGF+hGWIYRMH1huh+2H67/uOvfYj71UI8WDPYyw6fpQXSG5hD/s0m4O4EQjxsB5ihsetN1jie+p/fHbI=","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":"Thu,  2 Apr 2026 19:43:43 +0200","Message-ID":"<20260402174349.3220518-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                         | 1088 +++++++++++++++++\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, 3143 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"}