From 2f330ad98dfb70c245b285d4d2d2a1fe5029fda8 Mon Sep 17 00:00:00 2001 From: Samuel Holland Date: Sat, 17 Apr 2021 13:33:54 -0500 Subject: [PATCH] sunxi: Enable support for SCP firmware on H3 Now that issues with the BROM have been sorted out, we can implement PSCI system suspend on H3 by delegating to SCP firmware. Let's start by including the firmware in the FIT image and starting the coprocessor if valid firmware is loaded. Signed-off-by: Samuel Holland --- arch/arm/mach-sunxi/Kconfig | 1 + board/sunxi/board.c | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig index 48e750d0702..a6d5de9e3bc 100644 --- a/arch/arm/mach-sunxi/Kconfig +++ b/arch/arm/mach-sunxi/Kconfig @@ -173,6 +173,7 @@ config SUNXI_RESUME_BASE config SUNXI_SCP_BASE hex + default 0x00048000 if MACH_SUN8I_H3 default 0x00050000 if MACH_SUN50I || MACH_SUN50I_H5 default 0x00114000 if MACH_SUN50I_H6 default 0x0 diff --git a/board/sunxi/board.c b/board/sunxi/board.c index 39ecbe988f7..b83d21ef089 100644 --- a/board/sunxi/board.c +++ b/board/sunxi/board.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -851,6 +852,13 @@ int board_late_init(void) usb_ether_init(); #endif +#ifdef CONFIG_REMOTEPROC_SUN6I_AR100 + if (!rproc_load(0, CONFIG_SUNXI_SCP_BASE, 1)) { + puts("Starting SCP...\n"); + rproc_start(0); + } +#endif + return 0; }