[PATCH v4 0/3] Initial support for XPowers AXP288 PMIC

Jacob Pan
2014-09-17T00:12:05Z

X-Powers AXP288 is a customized PMIC found on some Intel Baytrail-CR platforms.
It comes with sub-functions such as USB charging, fuel gauge, ADC, and many LDO
and BUCK channels.

By extending the existing AXP20x driver, this patchset adds basic support
for AXP288 PMIC with ADC as one MFD cell device driver.

Currently, the PMIC driver in this patchset does not support platform data
enumeration. But when ACPI _DSD and unified device properties become available,
cell devices with platform data will be added.

This patch does not use intel_soc_pmic core for i2c and regmap handling in that
axp288 shares similar programming interface with other X-Power PMICs supported in
axp20x.c. Therefore, extending axp20x.c to include axp288 makes more sense.

Changes
v4: - removed rename patch, use Kconfig description to list supported devices
- misc clean up in ADC code, use regmap_bulk_read and improve error
handling, etc.
- remove IIO ADC scale, treat raw data as processed since the unit is
already in IIO expected milliamps.

v3: - put all file rename changes in 1/5
- add iio documentation for in_current_raw/scale
- removed global variables in axp2xx
- removed pm callbacks from GPADC
- removed ACPI opregion cell device
- added scales to ADC current and voltage
- removed ADC thermal sensor from sysfs, kernel internal use only

v2:
- use format -M for 1/4
- minor tweak based on Maxime's review

Jacob Pan (3):
mfd/axp20x: extend axp20x to support axp288 pmic
iio/adc: add support for axp288 adc
iio: add documentation for current attribute

Documentation/ABI/testing/sysfs-bus-iio | 9 +
drivers/iio/adc/Kconfig | 8 +
drivers/iio/adc/Makefile | 1 +
drivers/iio/adc/axp288_adc.c | 254 +++++++++++++++++++++++
drivers/mfd/Kconfig | 3 +-
drivers/mfd/axp20x.c | 353 ++++++++++++++++++++++++++------
include/linux/mfd/axp20x.h | 58 ++++++
7 files changed, 626 insertions(+), 60 deletions(-)
create mode 100644 drivers/iio/adc/axp288_adc.c

--
1.9.1