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 |