Hello, the following implements basic support for Marvell's 88PM886 PMIC which is found for instance as a component of the samsung,coreprimevelte smartphone which inspired this and also serves as a testing platform. The code for the MFD is based primarily on this old series [1] with the addition of poweroff based on the smartphone's downstream kernel tree [2]. The onkey and regulators drivers are based on the latter. I am not in possesion of the datasheet. [1] https://lore.kernel.org/all/1434098601-3498-1-git-send-email-yizhang@xxxxxxxxxxx/ [2] https://github.com/CoderCharmander/g361f-kernel Thank you and kind regards, K. B. --- v1: - RFC v4: https://lore.kernel.org/r/20240311160110.32185-1-karelb@xxxxxxxxxxxxxxxxxxxx/ - Rebase to v6.9-rc1. - Thank you to everybody for their feedback on the RFC! RFC v4: - RFC v3: https://lore.kernel.org/all/20240303101506.4187-1-karelb@xxxxxxxxxxxxxxxxxxxx/ RFC v3: - Address Rob's feedback: - Drop onkey bindings patch. - Rename PM88X -> PM886 everywhere. - RFC v2: https://lore.kernel.org/all/20240211094609.2223-1-karelb@xxxxxxxxxxxxxxxxxxxx/ RFC v2: - Merge with the regulators series to have multiple devices and thus justify the use of the MFD framework. - Rebase on v6.8-rc3. - Reorder patches. - MFD RFC v1: https://lore.kernel.org/all/20231217131838.7569-1-karelb@xxxxxxxxxxxxxxxxxxxx/ - regulators RFC v1: https://lore.kernel.org/all/20231228100208.2932-1-karelb@xxxxxxxxxxxxxxxxxxxx/ Karel Balej (5): dt-bindings: mfd: add entry for Marvell 88PM886 PMIC mfd: add driver for Marvell 88PM886 PMIC regulator: add regulators driver for Marvell 88PM886 PMIC input: add onkey driver for Marvell 88PM886 PMIC MAINTAINERS: add myself for Marvell 88PM886 PMIC .../bindings/mfd/marvell,88pm886-a1.yaml | 76 +++ MAINTAINERS | 9 + drivers/input/misc/88pm886-onkey.c | 98 ++++ drivers/input/misc/Kconfig | 7 + drivers/input/misc/Makefile | 1 + drivers/mfd/88pm886.c | 157 ++++++ drivers/mfd/Kconfig | 12 + drivers/mfd/Makefile | 1 + drivers/regulator/88pm886-regulator.c | 509 ++++++++++++++++++ drivers/regulator/Kconfig | 6 + drivers/regulator/Makefile | 1 + include/linux/mfd/88pm886.h | 30 ++ 12 files changed, 907 insertions(+) create mode 100644 Documentation/devicetree/bindings/mfd/marvell,88pm886-a1.yaml create mode 100644 drivers/input/misc/88pm886-onkey.c create mode 100644 drivers/mfd/88pm886.c create mode 100644 drivers/regulator/88pm886-regulator.c create mode 100644 include/linux/mfd/88pm886.h -- 2.44.0