BootROM can be forced into USB recovery on i.MX7 just like on the i.MX8M, with the difference that reset is a bit more involved, because warm resets via watchdogs are broken on this SoC. We do a bit of cleanup and then tackle that via a syscon-reboot device describing the Cortex-A7 CPU0 reset. Ahmad Fatoum (8): restart: make restart.h header self-contained restart: do restart-priority OF parsing in restart_handler_register restart: add reset -w for warm bootrom reset watchdog: imxwd: don't register broken imxwd-warm for i.MX7 watchdog: imxwd: set imxwd-warm as reboot mode default handler Documentations: devicetree: bindings: document watchdog-priority ARM: i.MX7: describe USB serial download boot mode ARM: stm32mp: mark iwdg2 with barebox,restart-warm-bootrom Documentation/boards/imx.rst | 2 +- Documentation/boards/stm32mp.rst | 6 ++- .../devicetree/bindings/power/restart.rst | 15 ++++++++ .../devicetree/bindings/watchdog/watchdog.rst | 10 +++++ Documentation/user/reboot-mode.rst | 7 +++- arch/arm/configs/imx_v7_defconfig | 2 + arch/arm/dts/imx7.dtsi | 37 +++++++++++++++++++ arch/arm/dts/stm32mp131.dtsi | 4 ++ arch/arm/dts/stm32mp151.dtsi | 4 ++ commands/reset.c | 16 +++++--- common/restart.c | 37 +++++++++---------- drivers/clk/clk-stm32mp1.c | 2 +- drivers/mfd/da9053.c | 2 +- drivers/mfd/da9063.c | 2 +- drivers/mfd/rn5t568.c | 2 +- drivers/power/reset/stm32-reboot.c | 6 ++- drivers/power/reset/syscon-reboot.c | 1 + drivers/watchdog/imxwd.c | 31 ++++++++++++---- include/restart.h | 15 ++++++-- include/soc/stm32/reboot.h | 6 ++- 20 files changed, 161 insertions(+), 46 deletions(-) create mode 100644 Documentation/devicetree/bindings/power/restart.rst create mode 100644 Documentation/devicetree/bindings/watchdog/watchdog.rst create mode 100644 arch/arm/dts/imx7.dtsi -- 2.30.2