Linux-Kernel-PMIC-Drivers

Rohm power management IC drivers for Linux kernel.

Drivers Home

This project is maintained by RohmSemiconductor

ROHM Power Management IC BD9576MUF and BD9573MUF.

Linux Driver:

Source Code:

Upstream

The ROHM Finland SWDC has created a Linux driver in collaboration with the Linux kernel community. Driver is included in the Upstream Linux from v5.13 onwards.

The Linux kernel can be obtained from:

https://www.kernel.org/

or by cloning Linus Torvald’s official linux development tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux.git

(The regulator name in MFD driver cell was changed to “bd9576-regulator” and “bd9573-regulator”. If your regulator driver is not probed or the module is not load, please ensure you have matching platform_device_id in drivers/regulator/bd9576-regulator.c. The old version had name set to “bd9573-pmic”.)

The name was fixed in Linux release v5.14-rc1.

Safety limits and warnings

The BD9576MUF was designed to support notifying SoC from various problem conditions before problems are so severe they damage the hardware. The PMIC allows configuring per regulator notification limits for over/under voltages and over current. Additionally there are protection limits when PMIC will shut down regulator outputs to protect the hardware from further damages.

ROHM has in co-operation with the Linux kernel community developed Linux regulator framework extension so that these warnings can be fully utilized. This extension is expeted to be included in the Linux release v5.14. See the regulator subsystem pull-request for more information. You can specify board specific safety limits via device-tree and implement own handlers the regulator core notifiers will call to cope with the safety warnings/errors prior hardware originated forced shutdown.

Configuration:

Configuration options one may want to enable for kernel build are:

- CONFIG_MFD_ROHM_BD957XMUF
- CONFIG_REGULATOR_BD957XMUF
- CONFIG_BD957XMUF_WATCHDOG
config description subsystem
CONFIG_MFD_ROHM_BD957XMUF Enables the MFD core driver which handles interrupts and bus access. The core driver also launches the sub device drivers. mfd
CONFIG_REGULATOR_BD957XMUF Enables the regulator driver which allows the kernel to control PMIC’s regulatos. regulator
CONFIG_BD957XMUF_WATCHDOG Enables the watchdog driver which allows detecting system hang-up and performs an emergency reset to recover from hang-up. watchdog

Upstream driver support

Please use the regular upstream maintenance information for support. The maintenance information can be found from the linux MAINTAINERS file. You can read the MAINTAINERS manually or use the get_maintainer.pl. See why support via upstream for reason.