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, kind regards, K. B. --- v7: - Rebase to v6.10-rc1. - v6: https://lore.kernel.org/r/20240504194632.2456-1-balejk@xxxxxxxxx/ v6: - Rebase to v6.9-rc6. - Fix patchset versioning: the previous version was marked as v1 because I considered RFC to be its own thing. Thank you to Krzysztof for explaining that that is not the case. The previous version is thus now marked as v5 and this is v6, sorry for any confusion. - v5: https://lore.kernel.org/r/20240331105608.7338-2-balejk@xxxxxxxxx/ v5: - 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 | 148 +++++++ drivers/mfd/Kconfig | 12 + drivers/mfd/Makefile | 1 + drivers/regulator/88pm886-regulator.c | 392 ++++++++++++++++++ drivers/regulator/Kconfig | 6 + drivers/regulator/Makefile | 1 + include/linux/mfd/88pm886.h | 69 +++ 12 files changed, 820 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.45.1