[PATCH 0/6] Maxim Integrated MAX77759 PMIC MFD-based drivers

André Draszik
2025-02-24T10:28:53Z

Hi,

This series improves support for the Maxim Integrated MAX77759
companion PMIC for USB Type-C applications using the MFD framework.

In particular, this PMIC includes Battery Charger, Fuel Gauge,
temperature sensors, USB Type-C Port Controller (TCPC), NVMEM, and a
GPIO expander.

This series adds support for the top-level MFD device, the gpio, and
nvmem cells. Other components are excluded for the following reasons:

While in the same package, Fuel Gauge and TCPC have separate and
independent I2C addresses, register maps, interrupt lines, and
aren't part of the top-level package interrupt hierarchy.
Furthermore, a driver for the TCPC part exists already (in
drivers/usb/typec/tcpm/tcpci_maxim_core.c).

I'm leaving out temperature sensors and charger in this submission,
because the former are not in use on Pixel 6 and I therefore can
not test them, and the latter can be added later, once we look at
the whole charging topic in more detail.

This PMIC is used on the Google Pixel 6 (oriole).

To make maintainers' work easier, I am planning to send the relevant
DTS and defconfig changes via a different series, unless everything
is expected to go via Lee's MFD tree in one series?

Cheers,
Andre'

Signed-off-by: André Draszik <andre.draszik@linaro.org>
---
André Draszik (6):
dt-bindings: mfd: add max77759 binding
dt-bindings: gpio: add max77759 binding
dt-bindings: nvmem: add max77759 binding
mfd: max77759: add Maxim MAX77759 core mfd driver
gpio: max77759: add Maxim MAX77759 gpio driver
nvmem: max77759: add Maxim MAX77759 NVMEM driver

.../bindings/gpio/maxim,max77759-gpio.yaml | 47 ++
.../devicetree/bindings/mfd/maxim,max77759.yaml | 104 +++
.../bindings/nvmem/maxim,max77759-nvmem.yaml | 50 ++
MAINTAINERS | 10 +
drivers/gpio/Kconfig | 13 +
drivers/gpio/Makefile | 1 +
drivers/gpio/gpio-max77759.c | 522 +++++++++++++++
drivers/mfd/Kconfig | 20 +
drivers/mfd/Makefile | 1 +
drivers/mfd/max77759.c | 739 +++++++++++++++++++++
drivers/nvmem/Kconfig | 12 +
drivers/nvmem/Makefile | 2 +
drivers/nvmem/max77759-nvmem.c | 156 +++++
include/linux/mfd/max77759.h | 74 +++
14 files changed, 1751 insertions(+)
---
base-commit: d4b0fd87ff0d4338b259dc79b2b3c6f7e70e8afa
change-id: 20250224-max77759-mfd-aaa7a3121b62

Best regards,
--
André Draszik <andre.draszik@linaro.org>