
This adds a driver for the FAN53555 family of regulators and wraps it in a PMIC implementation.
While these devices support a 'normal' and 'suspend' mode (controlled via an external pin) to switch between two programmable voltages, this incarnation of the driver assumes that the device is always operating in 'normal' mode.
Only setting/reading the programmed voltage is supported at this time and the following device functionality remains unsupported:
- switching the selected voltage (via a GPIO)
- disabling the voltage output via software-control
This matches the functionality of the Linux driver.
Tested on a RK3399-Q7 (with 'option 5' devices): setting voltages from the U-Boot shell and verifying output voltages on the board.
Signed-off-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com Tested-by: Klaus Goger klaus.goger@theobroma-systems.com
Changes in v5:
- introduced a PMIC (as requested by SJG) to wrap the single regulator
Changes in v4:
- fix issues introduced when updating for review comments (sorry for this: my submit-branch had diverged from the WIP-branch I used for testing and I didn't notice)
Changes in v3:
- update for review comments
Changes in v2:
- adapted documentation on the device-tree binding from Linux
doc/device-tree-bindings/regulator/fan53555.txt | 23 +++ drivers/power/pmic/Kconfig | 14 ++ drivers/power/pmic/Makefile | 1 + drivers/power/pmic/fan53555.c | 82 +++++++++ drivers/power/regulator/Kconfig | 16 ++ drivers/power/regulator/Makefile | 1 + drivers/power/regulator/fan53555.c | 222 ++++++++++++++++++++++++ 7 files changed, 359 insertions(+) create mode 100644 doc/device-tree-bindings/regulator/fan53555.txt create mode 100644 drivers/power/pmic/fan53555.c create mode 100644 drivers/power/regulator/fan53555.c
Applied to u-boot-rockchip, thanks!