I have just realized I had omitted the changelog - sorry: Changes in v2: - Reworked MFD core & I2C driver * Integrated Lee's feedback * Added support for using the regmap within atomic contexts * Added support for ATC2603C chip variant * Reorganized KConfig entries - Improved regulator driver * Added support for ATC2603C variant * Used helper macros for more compact specification of regulator_desc items * Added more regulator capabilities - Added power controller driver * Provides system poweroff/reboot functionalities * Requires support for I2C Atomic transfers in the Owl driver (already submitted) - Added onkey driver: exposes the power button as an input device - Added yaml binding doc - Rebased patchset on kernel v5.9-rc1 Kind regards, Cristi On Sat, Aug 22, 2020 at 01:19:46AM +0300, Cristian Ciocaltea wrote: > 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@xxxxxxxxxx/ > > 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@xxxxxxxxx/ > > 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@xxxxxxxxx/ > > * 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@xxxxxxxxx/ > > 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 > > -- > 2.28.0 >