All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v10 0/6] mfd: Add support for NXP MC33978/MC34978 MSDI
@ 2026-04-02 17:43 Oleksij Rempel
  2026-04-02 17:43 ` [PATCH v11 1/6] dt-bindings: pinctrl: add " Oleksij Rempel
                   ` (6 more replies)
  0 siblings, 7 replies; 10+ messages in thread
From: Oleksij Rempel @ 2026-04-02 17:43 UTC (permalink / raw)
  To: Guenter Roeck, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Lee Jones, Peter Rosin, Linus Walleij
  Cc: Oleksij Rempel, kernel, linux-kernel, devicetree, linux-hwmon,
	linux-gpio, David Jander

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         |  158 +++
 drivers/hwmon/Kconfig                         |   10 +
 drivers/hwmon/Makefile                        |    1 +
 drivers/hwmon/mc33978-hwmon.c                 |  549 +++++++++
 drivers/mfd/Kconfig                           |   15 +
 drivers/mfd/Makefile                          |    2 +
 drivers/mfd/mc33978.c                         | 1088 +++++++++++++++++
 drivers/mux/Kconfig                           |   14 +
 drivers/mux/Makefile                          |    2 +
 drivers/mux/mc33978-mux.c                     |  141 +++
 drivers/pinctrl/Kconfig                       |   16 +
 drivers/pinctrl/Makefile                      |    1 +
 drivers/pinctrl/core.c                        |   41 +-
 drivers/pinctrl/pinconf.c                     |    9 +-
 drivers/pinctrl/pinctrl-mc33978.c             | 1008 +++++++++++++++
 include/linux/mfd/mc33978.h                   |   95 ++
 16 files changed, 3143 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


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2026-04-23 15:12 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-02 17:43 [PATCH v10 0/6] mfd: Add support for NXP MC33978/MC34978 MSDI Oleksij Rempel
2026-04-02 17:43 ` [PATCH v11 1/6] dt-bindings: pinctrl: add " Oleksij Rempel
2026-04-02 18:33   ` Rob Herring (Arm)
2026-04-02 17:43 ` [PATCH v11 2/6] mfd: add NXP MC33978/MC34978 core driver Oleksij Rempel
2026-04-23 15:12   ` Lee Jones
2026-04-02 17:43 ` [PATCH v11 3/6] pinctrl: core: Make pin group callbacks optional for pin-only drivers Oleksij Rempel
2026-04-02 17:43 ` [PATCH v11 4/6] pinctrl: add NXP MC33978/MC34978 pinctrl driver Oleksij Rempel
2026-04-02 17:43 ` [PATCH v11 5/6] hwmon: add NXP MC33978/MC34978 driver Oleksij Rempel
2026-04-02 17:43 ` [PATCH v11 6/6] mux: add NXP MC33978/MC34978 AMUX driver Oleksij Rempel
2026-04-02 20:09 ` [PATCH v10 0/6] mfd: Add support for NXP MC33978/MC34978 MSDI Oleksij Rempel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.