mbox series

[v5,0/6] Support ROHM BD96801 Scalable PMIC

Message ID cover.1719473802.git.mazziesaccount@gmail.com (mailing list archive)
Headers show
Series Support ROHM BD96801 Scalable PMIC | expand

Message

Matti Vaittinen June 27, 2024, 7:42 a.m. UTC
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@gmail.com/

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:
v4 => v5:
	- Drop unintended Makefile change from regulator Makefile

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                    |   1 +
 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, 2094 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


base-commit: 1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0

Comments

Lee Jones June 27, 2024, 8:25 a.m. UTC | #1
On Thu, 27 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@gmail.com/
> 
> 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:
> v4 => v5:
> 	- Drop unintended Makefile change from regulator Makefile
> 
> 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                    |   1 +
>  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, 2094 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

Applied and submitted for build testing.

If all is good, I'll follow-up with a PR for the other maintainers.

Note to self: ib-mfd-regulator-watchdog-6.11