
Patch set adds basic support for PMICs used in many Tegra 3 devices. All PMIC drivers are based on datasheets provided by vendors. Implemented API include regulator set/get voltage enable/disable and basic PMIC r/w capabilities.
Drivers were tested by me on LG P895 (max77663), HTC One X (TPS80032) and ASUS TF300T (tps65911). Calculations and behavior were correct, predictable and reproducible.
Poweroff functional will be added after this basic drivers are merged.
--- Changes from v3: - expanded descriptions in Kconfigs for pmics and regulators - replaced ret with other variable name if it is not used for return - dropped prefixed with pmic name - dropped () in ~(var) type expressions - return dm_i2c_* output in pmic_read/write functions - switched to log_debug in some places - added descryptions for some "non obvious" functions - fixed tps80031 spms voltage calculation in non linear region - adjsuted tps65911 vio voltage calculation
Changes from v2: - removed all previously made poweroff API in favour to use sysreset after this patchset is accepted
Changes from v1: - created poweroff API for PMIC and integrated it call into do_poweroff - added poweroff function to submitted max77663, tps80032 and tps65911 drivers - fixed registers asignments for regulators with non-numeric name (ldoln, ldousb, vddctrl) ---
Svyatoslav Ryhel (7): power: pmic: palmas: support TI TPS65913 PMIC power: pmic: add the base MAX77663 PMIC support power: regulator: max77663: add regulator support power: pmic: add the base TPS80031 PMIC support power: regulator: tps80031: add regulator support power: pmic: tps65910: add TPS65911 PMIC support power: regulator: tps65911: add regulator support
doc/device-tree-bindings/pmic/max77663.txt | 84 ++++ doc/device-tree-bindings/pmic/tps65911.txt | 78 ++++ doc/device-tree-bindings/pmic/tps80031.txt | 76 ++++ drivers/power/pmic/Kconfig | 20 + drivers/power/pmic/Makefile | 2 + drivers/power/pmic/max77663.c | 86 ++++ drivers/power/pmic/palmas.c | 1 + drivers/power/pmic/pmic_tps65910_dm.c | 26 +- drivers/power/pmic/tps80031.c | 87 ++++ drivers/power/regulator/Kconfig | 28 ++ drivers/power/regulator/Makefile | 3 + drivers/power/regulator/max77663_regulator.c | 378 ++++++++++++++++++ drivers/power/regulator/tps65911_regulator.c | 397 +++++++++++++++++++ drivers/power/regulator/tps80031_regulator.c | 343 ++++++++++++++++ include/power/max77663.h | 42 ++ include/power/tps65910_pmic.h | 47 +++ include/power/tps80031.h | 45 +++ 17 files changed, 1740 insertions(+), 3 deletions(-) create mode 100644 doc/device-tree-bindings/pmic/max77663.txt create mode 100644 doc/device-tree-bindings/pmic/tps65911.txt create mode 100644 doc/device-tree-bindings/pmic/tps80031.txt create mode 100644 drivers/power/pmic/max77663.c create mode 100644 drivers/power/pmic/tps80031.c create mode 100644 drivers/power/regulator/max77663_regulator.c create mode 100644 drivers/power/regulator/tps65911_regulator.c create mode 100644 drivers/power/regulator/tps80031_regulator.c create mode 100644 include/power/max77663.h create mode 100644 include/power/tps80031.h