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

Cristian Ciocaltea cristian.ciocaltea at gmail.com
Fri Aug 21 15:26:59 PDT 2020


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@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
> 
> -- 
> 2.28.0
> 



More information about the linux-actions mailing list