Re: [PATCH v7 0/6] mfd: Add support for NXP MC33978/MC34978 MSDI
From: Oleksij Rempel <o.rempel@pengutronix.de>
Date: 2026-03-29 05:56:49
Also in:
linux-gpio, linux-hwmon, lkml
Hi all, There are some valid review points related to the MFD core: https://sashiko.dev/#/patchset/20260327163450.3287313-1-o.rempel%40pengutronix.de i'll send a new version. On Fri, Mar 27, 2026 at 05:34:44PM +0100, Oleksij Rempel wrote:
changes v7: - drop gpiolib irq fix and make pinctrl more robust against NULL point dereference. This series adds support for the NXP MC33978/MC34978 Multiple Switch Detection Interface (MSDI) via the MFD framework. Architecture overview: * mfd: Core driver handling 2-frame pipelined SPI, regulator sequencing, and linear irq_domain. Harvests status bits from SPI MISO MSB. * pinctrl: Exposes 22 physical switch inputs as standard GPIOs. Proxies IRQs to the MFD domain. * hwmon: Exposes thermal limits, VBATP/VDDQ voltage boundaries, and dynamic fault alarms. * mux: Controls the 24-to-1 AMUX routing analog signals (switch voltages, temperature, VBATP) to an external ADC. Initial pinctrl implementation by David Jander, reworked into this MFD architecture. Best regards, Oleksij David Jander (1): pinctrl: add NXP MC33978/MC34978 pinctrl driver Oleksij Rempel (5): dt-bindings: pinctrl: add NXP MC33978/MC34978 MSDI mfd: add NXP MC33978/MC34978 core driver pinctrl: core: Make pin group callbacks optional for pin-only drivers hwmon: add NXP MC33978/MC34978 driver mux: add NXP MC33978/MC34978 AMUX driver .../bindings/pinctrl/nxp,mc33978.yaml | 153 +++ drivers/hwmon/Kconfig | 10 + drivers/hwmon/Makefile | 1 + drivers/hwmon/mc33978-hwmon.c | 548 ++++++++++ drivers/mfd/Kconfig | 15 + drivers/mfd/Makefile | 2 + drivers/mfd/mc33978.c | 933 ++++++++++++++++++ drivers/mux/Kconfig | 14 + drivers/mux/Makefile | 2 + drivers/mux/mc33978-mux.c | 136 +++ drivers/pinctrl/Kconfig | 14 + drivers/pinctrl/Makefile | 1 + drivers/pinctrl/core.c | 41 +- drivers/pinctrl/pinconf.c | 9 +- drivers/pinctrl/pinctrl-mc33978.c | 836 ++++++++++++++++ include/linux/mfd/mc33978.h | 92 ++ 16 files changed, 2800 insertions(+), 7 deletions(-) create mode 100644 Documentation/devicetree/bindings/pinctrl/nxp,mc33978.yaml create mode 100644 drivers/hwmon/mc33978-hwmon.c create mode 100644 drivers/mfd/mc33978.c create mode 100644 drivers/mux/mc33978-mux.c create mode 100644 drivers/pinctrl/pinctrl-mc33978.c create mode 100644 include/linux/mfd/mc33978.h -- 2.47.3
-- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |