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

Matti Vaittinen posted 6 patches 1 year, 5 months ago
.../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
[PATCH v5 0/6] Support ROHM BD96801 Scalable PMIC
Posted by Matti Vaittinen 1 year, 5 months ago
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
-- 
2.45.1


-- 
Matti Vaittinen, Linux device drivers
ROHM Semiconductors, Finland SWDC
Kiviharjunlenkki 1E
90220 OULU
FINLAND

~~~ "I don't think so," said Rene Descartes. Just then he vanished ~~~
Simon says - in Latin please.
~~~ "non cogito me" dixit Rene Descarte, deinde evanescavit ~~~
Thanks to Simon Glass for the translation =] 
Re: [PATCH v5 0/6] Support ROHM BD96801 Scalable PMIC
Posted by Lee Jones 1 year, 5 months ago
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

-- 
Lee Jones [李琼斯]
[GIT PULL] Immutable branch between MFD, Regulator and Watchdog due for the v6.11 merge window
Posted by Lee Jones 1 year, 5 months ago
Enjoy!

The following changes since commit 1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0:

  Linux 6.10-rc1 (2024-05-26 15:20:12 -0700)

are available in the Git repository at:

  ssh://git@gitolite.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git tags/ib-mfd-regulator-watchdog-v6.11

for you to fetch changes up to fcf1f960a6aa45a22efd4d49114c672ed305b85f:

  MAINTAINERS: Add ROHM BD96801 'scalable PMIC' entries (2024-06-27 09:24:45 +0100)

----------------------------------------------------------------
Immutable branch between MFD, Regulator and Watchdog due for the v6.11 merge window

----------------------------------------------------------------
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

 .../devicetree/bindings/mfd/rohm,bd96801-pmic.yaml | 173 ++++
 .../bindings/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

-- 
Lee Jones [李琼斯]