On Fri, 14 Jun 2024, Matti Vaittinen wrote: > Support ROHM BD96801 Scalable PMIC > > The ROHM BD96801 is automotive grade PMIC, intended to be usable in > multiple solutions. The BD96801 can be used as a stand-alone, or together > with separate 'companion PMICs'. This modular approach aims to make this > PMIC suitable for various use-cases. > > This series brings only limited support. The more complete set of > features was sent in the RFC: > https://lore.kernel.org/lkml/cover.1712058690.git.mazziesaccount@xxxxxxxxx/ > > The v3: implemented also support for ERRB interrupt and setting a name > suffix to IRQ domains. That work was postponed and will be continued > after some unrelated changes to irqdomain code are completed as > discussed here: > https://lore.kernel.org/all/87plst28yk.ffs@tglx/ > > Revision history still tries to summarize changes from the RFC for the > reviewers. > > Revision history: > v3 => v4: > - Drop patches 7 to 10 (inclusive) until preparatory irqdomain changes > are done. > - Cleanups as suggested by Lee. > - Change the regulator subdevice name. (MFD and regulators). > - Minor styling in MFD driver > > v2 => v3: Mostly based on feedback from Thomas Gleixner > - Added acks from Krzysztof and Mark > - Rebased on v6.10-rc2 > - Drop name suffix support for legacy IRQ domains (both > irqdomain and regmap) > - Improve the commit message for patch 7/10 > > v1 => v2: > - Add support for setting a name suffix for fwnode backed IRQ domains. > - Add support for setting a domain name suffix for regmap-IRQ. > - Add handling of ERRB IRQs. > - Small fixes based on feedback. > > RFCv2 => v1: > - Drop ERRB IRQ from drivers (but not DT bindings). > - Drop configuration which requires STBY - state. > - Fix the register lock race by moving it from the regulator > driver to the MFD driver. > > RFCv1 => RFCv2: > - Tidying code based on feedback form Krzysztof Kozlowski and > Lee Jones. > - Documented undocumented watchdog related DT properties. > - Added usage of the watchdog IRQ. > - Use irq_domain_update_bus_token() to work-around debugFS name > collision for IRQ domains. > > --- > > > Matti Vaittinen (6): > dt-bindings: ROHM BD96801 PMIC regulators > dt-bindings: mfd: bd96801 PMIC core > mfd: support ROHM BD96801 PMIC core > regulator: bd96801: ROHM BD96801 PMIC regulators > watchdog: ROHM BD96801 PMIC WDG driver > MAINTAINERS: Add ROHM BD96801 'scalable PMIC' entries > > .../bindings/mfd/rohm,bd96801-pmic.yaml | 173 ++++ > .../regulator/rohm,bd96801-regulator.yaml | 63 ++ > MAINTAINERS | 4 + > drivers/mfd/Kconfig | 13 + > drivers/mfd/Makefile | 1 + > drivers/mfd/rohm-bd96801.c | 273 ++++++ > drivers/regulator/Kconfig | 12 + > drivers/regulator/Makefile | 2 + > drivers/regulator/bd96801-regulator.c | 908 ++++++++++++++++++ > drivers/watchdog/Kconfig | 13 + > drivers/watchdog/Makefile | 1 + > drivers/watchdog/bd96801_wdt.c | 416 ++++++++ > include/linux/mfd/rohm-bd96801.h | 215 +++++ > include/linux/mfd/rohm-generic.h | 1 + > 14 files changed, 2095 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mfd/rohm,bd96801-pmic.yaml > create mode 100644 Documentation/devicetree/bindings/regulator/rohm,bd96801-regulator.yaml > create mode 100644 drivers/mfd/rohm-bd96801.c > create mode 100644 drivers/regulator/bd96801-regulator.c > create mode 100644 drivers/watchdog/bd96801_wdt.c > create mode 100644 include/linux/mfd/rohm-bd96801.h allmodconfig and allyesconfig builds fail with: make[5]: *** No rule to make target 'drivers/regulator/da903x.o', needed by 'drivers/regulator/built-in.a'. make[5]: Target 'drivers/regulator/' not remade because of errors. -- Lee Jones [李琼斯]