Hi Cristi,
Thanks for the series! I'll take a look soon but there is a quick comment
below.
On Sat, Aug 22, 2020 at 01:26:53AM +0300, Cristian Ciocaltea wrote:
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:
quoted
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/ (local)
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/ (local)
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/ (local)
* 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/ (local)
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
You need to preserve my authorship for above two patches. Adding the signed-off-by
is not enough.
quoted
power: reset: Add poweroff driver for ATC260x PMICs
input: atc260x: Add onkey driver for ATC260x PMICs
MAINTAINERS: Add entry for ATC260x PMIC
I think this one too.
Thanks,
Mani
quoted
.../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