Rohm power management IC drivers for Linux kernel.
This project is maintained by RohmSemiconductor
The ROHM BD12790 is a Hot-Swap controller with PMBus Interface. It has load current, input voltage, output voltage, external N-channel FET power and temperature monitors via integrated 12-bit ADC.
The BD12790 controls the gate voltage of the external N-channel FET so that the load current is maintained around the current limit level. The controller sets the current profile and the amount of power that can be supplied by the FET, keeping the FET within the safe operating area. In the event of a short circuit, the internal overcurrent detector initiates shut down. Afterwards, the gate recovers control within 50μs, minimizing interruptions in conditions such as line steps or surges.
The BD12790MUV has under voltage and over voltage detection of the input voltage at UVH, UVL and OV pins, and the detection voltage levels can be programmed with external resistor divider. The output voltage is also monitored at PWGIN pin with external resistor divider and the PWRGD signal is the indicator if the input and output voltages are within normal range.
Many of the device drivers require information about the hardware surrounding hardware. The device-tree is a hardware description, which must be written to describe the connections and ICs in the board. In some cases, the device-tree also needs to describe the used OTP configuration, so drivers know what features are provided by the IC they control. Correctly written device-tree is mandatory for many of the drivers to work.
Device-tree binding documents describe the properties that can be added to the device-tree. These documents are written in YAML format, so that the actual device-tree can be verified using scripts/tools.
The bindings are provided for documentory purposes only, “as is” and with no warranty.
The ROHM Finland SWDC has created a Linux driver (or added support to an exsiting driver) in collaboration with the Linux kernel community. Driver is included in the Upstream Linux from v7.2 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
Configuration options one may want to enable for kernel build are:
- CONFIG_SENSORS_ADM1275
| config | description | subsystem |
|---|---|---|
| CONFIG_SENSORS_ADM1275 | enables driver supporting PMBus based hardware monitoring | PMBus hwmon |