regulator: bd718x7: support ROHM BD71837 and BD71847 PMICs
authorMatti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
Tue, 7 May 2019 07:45:55 +0000 (10:45 +0300)
committerStefano Babic <sbabic@denx.de>
Fri, 19 Jul 2019 13:18:47 +0000 (15:18 +0200)
commit21b02414f109e06f20c0718747187383b982ed88
tree5cbeab3bf9064fceab98c7a258ccade4c82a9b4f
parentd70c0fce6719d55750540bd46ed254197fbdc4c0
regulator: bd718x7: support ROHM BD71837 and BD71847 PMICs

BD71837 and BD71847 is PMIC intended for powering single-core,
dual-core, and quad-core SoC’s such as NXP-i.MX 8M. BD71847
is used for example on NXP imx8mm EVK.

Add regulator driver for ROHM BD71837 and BD71847 PMICs.
BD71837 contains 8 bucks and 7 LDOS. BD71847 is reduced
version containing 6 bucks and 6 LDOs. Voltages for DVS
bucks (1-4 on BD71837, 1 and 2 on BD71847) can be adjusted
when regulators are enabled. For other bucks and LDOs we may
have over- or undershooting if voltage is adjusted when
regulator is enabled. Thus this is prevented by default.

BD718x7 has a quirk which may leave power output disabled
after reset if enable/disable state was controlled by SW.
Thus the SW control is only allowed for BD71837  bucks
3 and 4 by default. The impact of this limitation must be
evaluated board-by board and restrictions may need to be
modified. (Linux driver get's these limitations from DT and we
may want to implement same on u-Boot driver).

Signed-off-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
drivers/power/pmic/bd71837.c
drivers/power/regulator/Kconfig
drivers/power/regulator/Makefile
drivers/power/regulator/bd71837.c [new file with mode: 0644]
include/power/bd71837.h