mbox series

[v2,0/6] Add initial support for ATC260x PMICs

Message ID cover.1598043782.git.cristian.ciocaltea@gmail.com
Headers show
Series Add initial support for ATC260x PMICs | expand

Message

Cristian Ciocaltea Aug. 21, 2020, 10:19 p.m. UTC
This is re-spin of the patch series submitted some time ago by Mani,
who added initial support (MFD core and regulators) for the Actions
Semi ATC260x PMICs:
https://lore.kernel.org/lkml/20190617155011.15376-1-manivannan.sadhasivam@linaro.org/

The ATC260x family of PMICs integrates Audio Codec, Power management,
Clock generation and GPIO controller blocks. There are currently 3
variants: ATC2603A, ATC2603C and ATC2609A.

In addition to the ATC2609A regulator functionality provided that time,
this patchset adds support for the ATC2603C variant, together with some
new functionalities for both chips: power controller and onkey input.
The ATC2603A variant remains unsupported for the moment.

This has been tested on RoseapplePi, a SBC based on the Action Semi S500
SoC, which integrates ATC2603C PMIC. An initial support for this board
has been already submitted:
https://lore.kernel.org/lkml/cover.1592123160.git.cristian.ciocaltea@gmail.com/

Please note that enabling the ATC260x PMICs on the compatible Actions
Semi Owl SoC based boards depends on the following:

* Actions Semi SIRQ driver (for PMIC DTS setup):
  https://lore.kernel.org/lkml/cover.1597852360.git.cristian.ciocaltea@gmail.com/

* I2C Atomic transfers in Actions Semi Owl driver (for proper operation
  of the power controller driver):
  https://lore.kernel.org/lkml/b086ef6d355d9730c839359e15eb06175283e323.1596485741.git.cristian.ciocaltea@gmail.com/
  
Thanks,
Cristi

Cristian Ciocaltea (6):
  dt-bindings: mfd: Add Actions Semi ATC260x PMIC binding
  mfd: Add MFD driver for ATC260x PMICs
  regulator: Add regulator driver for ATC260x PMICs
  power: reset: Add poweroff driver for ATC260x PMICs
  input: atc260x: Add onkey driver for ATC260x PMICs
  MAINTAINERS: Add entry for ATC260x PMIC

 .../bindings/mfd/actions,atc260x.yaml         | 221 ++++++++
 MAINTAINERS                                   |  12 +
 drivers/input/misc/Kconfig                    |  11 +
 drivers/input/misc/Makefile                   |   2 +-
 drivers/input/misc/atc260x-onkey.c            | 304 +++++++++++
 drivers/mfd/Kconfig                           |  18 +
 drivers/mfd/Makefile                          |   3 +
 drivers/mfd/atc260x-core.c                    | 290 ++++++++++
 drivers/mfd/atc260x-i2c.c                     |  73 +++
 drivers/power/reset/Kconfig                   |   8 +-
 drivers/power/reset/Makefile                  |   1 +
 drivers/power/reset/atc260x-poweroff.c        | 274 ++++++++++
 drivers/regulator/Kconfig                     |   8 +
 drivers/regulator/Makefile                    |   1 +
 drivers/regulator/atc260x-regulator.c         | 511 ++++++++++++++++++
 include/linux/mfd/atc260x/atc2603c.h          | 281 ++++++++++
 include/linux/mfd/atc260x/atc2609a.h          | 308 +++++++++++
 include/linux/mfd/atc260x/core.h              |  86 +++
 18 files changed, 2410 insertions(+), 2 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mfd/actions,atc260x.yaml
 create mode 100644 drivers/input/misc/atc260x-onkey.c
 create mode 100644 drivers/mfd/atc260x-core.c
 create mode 100644 drivers/mfd/atc260x-i2c.c
 create mode 100644 drivers/power/reset/atc260x-poweroff.c
 create mode 100644 drivers/regulator/atc260x-regulator.c
 create mode 100644 include/linux/mfd/atc260x/atc2603c.h
 create mode 100644 include/linux/mfd/atc260x/atc2609a.h
 create mode 100644 include/linux/mfd/atc260x/core.h