From 93c13379a4446ea38f85c4e393d187b8de2159ab Mon Sep 17 00:00:00 2001 From: Ferass El Hafidi Date: Wed, 22 Apr 2026 15:43:23 +0000 Subject: arm: mach-meson: provide reset_cpu only when SYSRESET is disabled This is in preparation of enabling SYSRESET across all Amlogic boards by default. SYSRESET brings its own reset_cpu implementation which will conflict with the one defined in board-common.c. SPL however will not have SYSRESET enabled (due to overhead in the final image, as we have very little space to work with), and thus will still need that reset_cpu to be defined. Furthermore, some boards do not enable PSCI support in U-Boot, so they may still need this implementation. Guard reset_cpu inside #ifdef to only compile it in when SYSRESET is not enabled. Signed-off-by: Ferass El Hafidi Reviewed-by: Neil Armstrong Link: https://patch.msgid.link/20260422-b4-amlogic-sysreset-capsules-v3-1-07b5ccc8f552@postmarketos.org Signed-off-by: Neil Armstrong --- arch/arm/mach-meson/board-common.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'arch') diff --git a/arch/arm/mach-meson/board-common.c b/arch/arm/mach-meson/board-common.c index a5afc2d75c0..c34b81e5e78 100644 --- a/arch/arm/mach-meson/board-common.c +++ b/arch/arm/mach-meson/board-common.c @@ -155,16 +155,14 @@ int board_late_init(void) return meson_board_late_init(); } +#if defined(CONFIG_XPL) || !CONFIG_IS_ENABLED(SYSRESET) void reset_cpu(void) { -#if CONFIG_SPL_BUILD /* * We do not have BL31 running yet, so no PSCI. * Instead, let the watchdog reset the board. */ for (;;) ; -#else - psci_system_reset(); -#endif } +#endif -- cgit v1.2.3 From 63a0b3e9abba4df4e6d560f317be2712862c6141 Mon Sep 17 00:00:00 2001 From: Ferass El Hafidi Date: Wed, 22 Apr 2026 15:43:24 +0000 Subject: arm: meson: enable SYSRESET_PSCI Previously, Amlogic SoCs defined their own reset_cpu() implementation that essentially just did what the sysreset PSCI driver already supports. To reduce duplication (and allow for EFI Capsule on Disk support), make use of it instead of a board-specific reset_cpu. This does not affect SPL, as in that stage we do not actually have PSCI (BL31 is not loaded yet at that point). Also, boards that don't select PSCI support in their config will not have it enabled. Reviewed-by: Neil Armstrong Signed-off-by: Ferass El Hafidi Link: https://patch.msgid.link/20260422-b4-amlogic-sysreset-capsules-v3-2-07b5ccc8f552@postmarketos.org Signed-off-by: Neil Armstrong --- arch/arm/mach-meson/Kconfig | 2 ++ 1 file changed, 2 insertions(+) (limited to 'arch') diff --git a/arch/arm/mach-meson/Kconfig b/arch/arm/mach-meson/Kconfig index ef86129b535..c687ef822a2 100644 --- a/arch/arm/mach-meson/Kconfig +++ b/arch/arm/mach-meson/Kconfig @@ -12,6 +12,8 @@ config MESON64_COMMON select MMC_PWRSEQ select BOARD_LATE_INIT select MESON_SM + imply SYSRESET + imply SYSRESET_PSCI imply CMD_DM config MESON_GX -- cgit v1.2.3