regulator: axp20x: Add support for the (external) drivebus regulator
authorHans de Goede <hdegoede@redhat.com>
Fri, 3 Jun 2016 16:59:44 +0000 (18:59 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 6 Jun 2016 17:38:30 +0000 (18:38 +0100)
commit636e2a39cf904946a0e062bc05445149b366ba2e
tree5de58acfbce1a367637a66541a43a4cc865384b8
parenta51f9f4622a34eb19b5658c08b083345d763657b
regulator: axp20x: Add support for the (external) drivebus regulator

The axp20x pmics have 2 power inputs, one called ACIN which is intended
for to be supplied via a powerbarrel on the board and one called VBUS
which is intended to be supplied via an otg connector.

In the VBUS case the pmic needs to know if the board is supplying power
to the otg connector, because then it should not take any power from
its VBUS pin. The axp209 pmic has a N_VBUSEN input pin via which the
board can signal to the pmic whether the board is supplying power to the
otg connector or not.

On the axp221/axp223 this pin can alternatively be used as an output
which controls an external regulator which (optionally) supplies
power to the otg connector from the board. When the pin is used as
output it is called DRIVEVBUS in the datasheet.

This commit adds support for the DRIVEVBUS pin as an extra pmic
controlled regulator. Since this is optional a new x-powers,drivebus dt
property is added. When this is present the misc-control register is
written to change the N_VBUSEN input pin to DRIVEVBUS output pin mode and
the extra drivebus regulator is registered with the regulator subsystem.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Documentation/devicetree/bindings/mfd/axp20x.txt
drivers/regulator/axp20x-regulator.c