u-boot/include/power
Stephan Gerhold 3f6e4ec7c3 power: pmic: Add driver for ST-Ericsson AB8500 via PRCMU
All devices based on ST-Ericsson Ux500 use a PMIC similar to AB8500
(Analog Baseband). There is AB8500, AB8505, AB9540 and AB8540
although in practice only AB8500 and AB8505 are relevant since the
platforms with AB9540 and AB8540 were cancelled and never used in
production.

In general, the AB8500 PMIC uses I2C as control interface, where the
different register banks are represented as separate I2C devices.
However, in practice AB8500 is always connected to a special I2C bus
on the DB8500 SoC that is controlled by the power/reset/clock
management unit (PRCMU) firmware.

Add a simple driver that allows reading/writing registers of the
AB8500 PMIC. The driver directly accesses registers from the PRCMU
parent device (represented by syscon in U-Boot). Abstracting it
further (e.g. with the i2c uclass) would not provide any advantage
because the PRCMU I2C bus is always just connected to AB8500 and
vice-versa.

The ab8500.h header is mostly taken as-is from Linux (with some
minor adjustments) to allow using similar code in both Linux and
U-Boot.

Cc: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
2021-07-14 16:48:14 -04:00
..
ab8500.h power: pmic: Add driver for ST-Ericsson AB8500 via PRCMU 2021-07-14 16:48:14 -04:00
acpi_pmc.h dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
act8846_pmic.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
as3722.h common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
battery.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bd71837.h regulator: bd718x7: support ROHM BD71837 and BD71847 PMICs 2019-07-19 15:18:47 +02:00
da9063_pmic.h power: regulator: add driver for Dialog DA9063 PMIC 2020-01-27 19:54:20 -05:00
fan53555.h power: fan53555: add support for Silergy SYR82X and SYR83X 2019-11-23 22:29:49 +08:00
fg_battery_cell_params.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
hi6553_pmic.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
lp873x.h power: pmic: lp873x: Add the base pmic support 2016-10-11 10:17:06 -06:00
lp87565.h power: pmic: lp87565: Add the basic pmic support 2017-06-09 20:25:16 +09:00
ltc3676_pmic.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
max8997_muic.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
max8997_pmic.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
max8998_pmic.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
max17042_fg.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
max77686_pmic.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
max77693_fg.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
max77693_muic.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
max77693_pmic.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mc34vr500_pmic.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mp5416.h power: pmic: add driver for Monolithic Power mp5416 2021-01-18 15:23:06 -05:00
palmas.h regulator: palmas: disable bypass when the LDO is enabled 2017-08-01 11:58:01 +09:00
pca9450.h power: pca9450: add a new parameter for power_pca9450_init 2021-04-08 09:18:29 +02:00
pfuze100_pmic.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
pfuze3000_pmic.h power: pmic: Let PFUZE3000 see all 256 registers 2018-06-27 09:47:46 +02:00
pmic.h pmic: Add support for setting transmission length in uclass private data 2018-05-18 08:27:26 +02:00
power_chrg.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
regulator.h power: regulator: Add support for regulator-force-boot-off 2021-04-29 07:38:57 +02:00
rk8xx_pmic.h power: pmic: rk809: support rk809 pmic 2019-11-10 20:34:10 +08:00
rn5t567_pmic.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
s2mps11.h power: regulator: s2mps11: add a regulator driver for s2mps11 2018-01-24 16:07:19 +09:00
s5m8767.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sandbox_pmic.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
stpmic1.h common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
tps62362.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
tps65090.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
tps65217.h power: make most tps drivers and the twl4030 driver compatible with DM_I2C 2018-12-10 06:17:30 +01:00
tps65218.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
tps65910.h power: make most tps drivers and the twl4030 driver compatible with DM_I2C 2018-12-10 06:17:30 +01:00
tps65910_pmic.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
tps65941.h power: pmic: tps65941: Add support for tps65941 family of PMICs 2019-11-07 18:39:16 -05:00