Support ROHM BD96802, BD96805 and BD96806 PMICs The ROHM BD96801 [1] and BD96805 [2] are almost identical PMICs what comes to the digital interface. Main difference is voltage tuning range. Supporting BD96805 with BD96801 drivers is mostly just a matter of being able to differentiate the PMICs (done based on the devicetree compatible) and then providing separate voltage tables. The ROHM BD96802 [3] is a companion PMIC which is intended to be used to provide more capacity on systems where the BD96801 alone is not sufficient. Startup sequence of these PMICs can be synchronized in hardware level, and there seems to be some mechanisms which allow delivering the companion PMIC (BD96802) status to the main PMIC (BD96801/BD96805). This patch series does treat the companion PMIC(s) as individual PMICs and allows using them from software point of view as a stand alone ICs. From the digital point of view, the BD96802 is a subset of BD96801, providing only buck1 and buck2 regulators. Please see the data sheet The ROHM BD96806 [4] is similar to the BD96802, except that it does also provide different voltage tuning ranges. This series adds basic voltage monitoring and control as well as a watchdog support for these PMICs using the BD96801 drivers. Similarly to the BD96801, these PMICs too have a few configurations which can only be done when the PMIC is in STBY state. Similarly to the BD96801, doing these configurations isn't supported by the driver. The original BD96801 RFC [5] driver should be able to cover those configurations, if modified to support these models. [1]: ROHM BD96801 data sheet: https://fscdn.rohm.com/en/products/databook/datasheet/ic/power/switching_regulator_system/product_brief_bd96801qxx-c-e.pdf [2]: ROHM BD96805 data sheet: https://fscdn.rohm.com/en/products/databook/datasheet/ic/power/switching_regulator_system/product_brief_bd96805qxx-c-e.pdf [3]: ROHM BD96802 data sheet: https://fscdn.rohm.com/en/products/databook/datasheet/ic/power/switching_regulator_system/product_brief_bd96802qxx-c-e.pdf [4]: ROHM BD96806 data sheet: https://fscdn.rohm.com/en/products/databook/datasheet/ic/power/switching_regulator_system/product_brief_bd96806qxx-c-e.pdf [5]: Original BD96801 RFC: https://lore.kernel.org/all/cover.1712058690.git.mazziesaccount@xxxxxxxxx/ --- Matti Vaittinen (14): dt-bindings: regulator: Add ROHM BD96802 PMIC dt-bindings: mfd: Add ROHM BD96802 PMIC dt-bindings: mfd: bd96801: Add ROHM BD96805 dt-bindings: mfd: bd96802: Add ROHM BD96806 mfd: rohm-bd96801: Add chip info mfd: bd96801: Drop IC name from the regulator IRQ resources regulator: bd96801: Drop IC name from the IRQ resources mfd: rohm-bd96801: Support ROHM BD96802 regulator: bd96801: Support ROHM BD96802 mfd: bd96801: Support ROHM BD96805 regulator: bd96801: Support ROHM BD96805 PMIC mfd: bd96801: Support ROHM BD96806 regulator: bd96801: Support ROHM BD96806 PMIC MAINTAINERS: Add BD96802 specific header .../bindings/mfd/rohm,bd96801-pmic.yaml | 10 +- .../bindings/mfd/rohm,bd96802-pmic.yaml | 101 ++++ .../regulator/rohm,bd96802-regulator.yaml | 44 ++ MAINTAINERS | 1 + drivers/mfd/rohm-bd96801.c | 549 ++++++++++++++---- drivers/regulator/bd96801-regulator.c | 447 ++++++++++++-- include/linux/mfd/rohm-bd96801.h | 2 + include/linux/mfd/rohm-bd96802.h | 74 +++ 8 files changed, 1047 insertions(+), 181 deletions(-) create mode 100644 Documentation/devicetree/bindings/mfd/rohm,bd96802-pmic.yaml create mode 100644 Documentation/devicetree/bindings/regulator/rohm,bd96802-regulator.yaml create mode 100644 include/linux/mfd/rohm-bd96802.h base-commit: 7eb172143d5508b4da468ed59ee857c6e5e01da6 -- 2.48.1
Attachment:
signature.asc
Description: PGP signature