[PATCH v4 0/9] mfd: AXP20x: Add support for AXP202 and AXP209

Carlo Caione
2014-04-11T09:38:04Z

AXP209 and AXP202 are the PMUs (Power Management Unit) used by A10, A13
and A20 SoCs and developed by X-Powers, a sister company of Allwinner.
AXP20x comprises an adaptive USB-Compatible PWM charger, 2 BUCK DC-DC
converters, 5 LDOs, multiple 12-bit ADCs of voltage, current and temperature
as well as 4 configurable GPIOs.

This set of patches introduces the core driver and support for two different
subsystems:
- Regulators
- PEK (Power Enable Key)

This patchset depends on patchsets:
irq: sun4i IRQ 0 / ENMI fixes (Hans de Goede)
ARM: sun7i/sun6i: irqchip: Irqchip driver for NMI controller (Carlo Caione)
regulator: helpers: Modify helpers enabling multi-bit control (Carlo Caione)

Changes since v1:

- Added a new standalone patch for defconfig

- MFD core:
* Removed axp,system-power-controller property

- Bindings documentation:
* Corrected description for dcdc-workmode property
* Removed unused axp20x-pek compatible

- Input misc PEK driver:
* Fixed seconds in lower case

- Regulators subsystem:
* Fixed axp20x_set_suspend_voltage()
* Switched to using multi-bit control for regulators
* When "regulators" node is not found driver doesn't quit
* Driver is now using devm_regulator_register()
* Added module_platform_driver() instead of subsys_initcall()

- DT:
* Added new DTSI for AXP209
* Added support for cubietruck and olinuxino-micro

Changes since v2:

- Added a new patch for multi_v7_defconfig to enable MFD core
and subsystems

- DT:
* Dropped axp,system-power-controller property from DTS
* Moved compatible and interrupt-related properties from the
DTSI file to the DTS board files

- Regulators subsystem:
* Deleted useless struct axp20x_regulators
* Added a warning when out of specs values are used for the
dcdc frequency

- MFD core:
* Fixed coding style
* Removed IDs from device table for i2c

- Bindings documentation:
* Several corrections and fixes

Changes since v3:

- Removed x-powers-axp209.dtsi file
- Rewritten bindings document

- MFD core:
* Fixed casting
* Better comments / documentation

- Input misc PEK driver:
* Timings are now expressed in ms and the sysfs appies the
closest possible value
* No more useless pretty-printing
* Removed devm_request_threaded_irq in favour of
devm_request_any_context_irq
* Moved from input attributes to platform device attributes

- Regulators subsystem:
* Removed suspend mode (axp20x_set_suspend_voltage)
* Added regulators input supply

- DT
* DTs doesn't include anymore the dtsi
* Added input supplies for regulators

Carlo Caione (9):
mfd: AXP20x: Add mfd driver for AXP20x PMIC
dt-bindings: add vendor-prefix for X-Powers
mfd: AXP20x: Add bindings documentation
input: misc: Add driver for AXP20x Power Enable Key
input: misc: Add ABI docs for AXP20x PEK
regulator: AXP20x: Add support for regulators subsystem
ARM: sun7i/sun4i: dt: Add AXP209 support to various boards
ARM: sunxi: Add AXP20x support in defconfig
ARM: sunxi: Add AXP20x support multi_v7_defconfig

.../ABI/testing/sysfs-driver-input-axp-pek | 11 +
Documentation/devicetree/bindings/mfd/axp20x.txt | 96 +++++++
.../devicetree/bindings/vendor-prefixes.txt | 1 +
arch/arm/boot/dts/sun4i-a10-a1000.dts | 69 +++++
arch/arm/boot/dts/sun4i-a10-cubieboard.dts | 69 +++++
arch/arm/boot/dts/sun4i-a10-hackberry.dts | 75 ++++++
arch/arm/boot/dts/sun4i-a10-inet97fv2.dts | 69 +++++
arch/arm/boot/dts/sun4i-a10-mini-xplus.dts | 75 ++++++
arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts | 75 ++++++
arch/arm/boot/dts/sun4i-a10-pcduino.dts | 69 +++++
arch/arm/boot/dts/sun7i-a20-cubieboard2.dts | 70 +++++
arch/arm/boot/dts/sun7i-a20-cubietruck.dts | 70 +++++
arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts | 70 +++++
arch/arm/configs/multi_v7_defconfig | 3 +
arch/arm/configs/sunxi_defconfig | 4 +
drivers/input/misc/Kconfig | 11 +
drivers/input/misc/Makefile | 1 +
drivers/input/misc/axp20x-pek.c | 261 +++++++++++++++++++
drivers/mfd/Kconfig | 12 +
drivers/mfd/Makefile | 1 +
drivers/mfd/axp20x.c | 249 ++++++++++++++++++
drivers/regulator/Kconfig | 7 +
drivers/regulator/Makefile | 1 +
drivers/regulator/axp20x-regulator.c | 285 +++++++++++++++++++++
include/linux/mfd/axp20x.h | 180 +++++++++++++
25 files changed, 1834 insertions(+)
create mode 100644 Documentation/ABI/testing/sysfs-driver-input-axp-pek
create mode 100644 Documentation/devicetree/bindings/mfd/axp20x.txt
create mode 100644 drivers/input/misc/axp20x-pek.c
create mode 100644 drivers/mfd/axp20x.c
create mode 100644 drivers/regulator/axp20x-regulator.c
create mode 100644 include/linux/mfd/axp20x.h

--
1.8.3.2