[PATCH v6 0/2] Initial support for XPowers AXP288 PMIC

From: Jacob Pan
Date: Thu Sep 25 2014 - 14:21:48 EST


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
v6: - change axp20x_match_device() flow to give more specific error
messages.
- remove unnecessary cast

v5: - excluded iio documentation patch, already applied to iio.git
- restructured axp288_adc read_raw code to make it more readable
- renamed adc_enable to adc_set_state and add comment about why adc
has to be always on and there is no disable function.
- axp20x use const as needed for regmap structures

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 (2):
mfd/axp20x: extend axp20x to support axp288 pmic
iio/adc: add support for axp288 adc

drivers/iio/adc/Kconfig | 8 +
drivers/iio/adc/Makefile | 1 +
drivers/iio/adc/axp288_adc.c | 253 ++++++++++++++++++++++++++++++
drivers/mfd/Kconfig | 3 +-
drivers/mfd/axp20x.c | 361 ++++++++++++++++++++++++++++++++++++-------
include/linux/mfd/axp20x.h | 59 +++++++
6 files changed, 629 insertions(+), 56 deletions(-)
create mode 100644 drivers/iio/adc/axp288_adc.c

--
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/