Linux-Kernel-PMIC-Drivers

Rohm power management IC drivers for Linux kernel.

Drivers Home

This project is maintained by RohmSemiconductor

ROHM Power Management IC BD71851 and BD73800

The ROHM BD71851 is a Power Management IC which has: 8 BUCK regulators and 4 LDOs. There’s also an ADC with an accumulator for current/voltage sensing, RTC and 32.768 kHz clock gate and interrupt capable GPIOs*.

(*)Available functions depend on OTP configuration. The pins are shared and amount of available GPIOs depend on what are the other enabled functions

The BD73800 is updated variant, supported by the same Linux software.

Linux:

Source Code:

Upstream

Being upstreamed. See Patches.

Upstream plan

Upstream driver is currently expected to land in Linux v7.3

Downstream

Here is an unmaintained reference driver which you can try.

The driver branch is unstable, meaning it is under development and the git branch can be changed without a warning. Changes include rebases and other operations which can break the change history and modify the commits. If git tags are created, they should stay stable. Please note, drivers under development are expected to be buggy, sometimes even up to the point where compilation may fail. You should know the risks of trying such code. Even hardware breakages are possible and it is user’s responsibility to ensure the code is safe before using it. Please note that this reference driver is provided as is, without a warranty. It is not a “production ready quality”, and you are required to do all porting, fixing and testing while writing your driver using it as a starting point.

Configuration:

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

- CONFIG_MFD_ROHM_BD71828
- CONFIG_REGULATOR_BD71828
- CONFIG_COMMON_CLK_BD718XX
- CONFIG_GPIO_BD71851
- CONFIG_RTC_DRV_BD70528
config description subsystem
CONFIG_MFD_ROHM_BD71828 Enables the MFD core driver which handles interrupts and bus access. The core driver also launches the sub device drivers. mfd
CONFIG_REGULATOR_BD71828 Enables the regulator driver which allows the kernel to control PMIC’s regulatos. regulator
CONFIG_COMMON_CLK_BD718XX Enables the clk driver which provides control for the clock gate. clk
CONFIG_GPIO_BD71851 Enables the GPIO driver which provides control for the PMIC’s generic purpose input/output pins. gpio
CONFIG_RTC_DRV_BD70528 Enables the RTC driver which provides the control for the real time clock on PMIC. The RTC can maintain the time when SOC is turned off and provide timed events. Timed wake-up is also supported. rtc

uBoot:

An uBoot driver for evaluating some of the PMIC functionalities is done. Please contact matti.vaittinen(at)fi.rohmeurope.com for the details.