This patchset converts do_reset from mach-tegra function to a proper sysreset dm driver with saving all its previous abilities.
Additionally implement do_poweroff (since Tegra sysreset can only reset) by making sysreset drivers for the most widely used PMICs on Tegra devices. This includes sysreset cells for MAX77663, TPS80031/TPS80032, TPS65910/TPS65911 and PALMAS PMIC family. All drivers are tested on actual hardware and confirmed to work as expected. These patches require https://patchwork.ozlabs.org/project/uboot/list/?series=367577 to be merged first for proper work. Svyatoslav Ryhel (6): sysreset: tegra: create arch specific sysreset driver arm: mach-tegra: enable sysreset driver sysreset: implement MAX77663 sysreset functions sysreset: implement TPS80031 sysreset functions sysreset: implement TPS65910 sysreset functions sysreset: implement PALMAS poweroff function arch/arm/mach-tegra/Kconfig | 3 ++ arch/arm/mach-tegra/pmc.c | 9 ----- drivers/power/pmic/max77663.c | 12 +++++- drivers/power/pmic/palmas.c | 33 +++++++++++++++- drivers/power/pmic/pmic_tps65910_dm.c | 12 +++++- drivers/power/pmic/tps80031.c | 12 +++++- drivers/sysreset/Kconfig | 36 ++++++++++++++++++ drivers/sysreset/Makefile | 5 +++ drivers/sysreset/sysreset_max77663.c | 53 ++++++++++++++++++++++++++ drivers/sysreset/sysreset_palmas.c | 53 ++++++++++++++++++++++++++ drivers/sysreset/sysreset_tegra.c | 46 ++++++++++++++++++++++ drivers/sysreset/sysreset_tps65910.c | 55 +++++++++++++++++++++++++++ drivers/sysreset/sysreset_tps80031.c | 41 ++++++++++++++++++++ include/power/max77663.h | 5 +++ include/power/palmas.h | 11 ++++++ include/power/tps65910_pmic.h | 7 ++++ include/power/tps80031.h | 5 +++ 17 files changed, 384 insertions(+), 14 deletions(-) create mode 100644 drivers/sysreset/sysreset_max77663.c create mode 100644 drivers/sysreset/sysreset_palmas.c create mode 100644 drivers/sysreset/sysreset_tegra.c create mode 100644 drivers/sysreset/sysreset_tps65910.c create mode 100644 drivers/sysreset/sysreset_tps80031.c -- 2.39.2