From 1dc683005dd22b6fdf47845a2c0db00a55033ad9 Mon Sep 17 00:00:00 2001 From: Alif Zakuan Yuslaimi Date: Sun, 3 Aug 2025 18:24:37 -0700 Subject: [PATCH] arm: socfpga: agilex: Enable system manager driver for Agilex The base address of system manager can be retrieved using DT framework through the system manager driver. Enable system manager support for Agilex by probing the system manager driver to initialize during SPL boot up. Signed-off-by: Boon Khai Ng Signed-off-by: Alif Zakuan Yuslaimi Reviewed-by: Tien Fong Chee --- MAINTAINERS | 1 + arch/arm/dts/socfpga_agilex.dtsi | 4 ++++ arch/arm/mach-socfpga/Makefile | 1 + arch/arm/mach-socfpga/spl_agilex.c | 1 + board/intel/agilex-socdk/Makefile | 7 +++++++ board/intel/agilex-socdk/socfpga.c | 12 ++++++++++++ 6 files changed, 26 insertions(+) create mode 100644 board/intel/agilex-socdk/Makefile create mode 100644 board/intel/agilex-socdk/socfpga.c diff --git a/MAINTAINERS b/MAINTAINERS index fdce820c792..a04b93a807b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -156,6 +156,7 @@ S: Maintained T: git https://source.denx.de/u-boot/custodians/u-boot-socfpga.git F: arch/arm/dts/socfpga_* F: arch/arm/mach-socfpga/ +F: board/intel/agilex-socdk/ F: configs/socfpga_* F: drivers/ddr/altera/ F: drivers/power/domain/altr-pmgr-agilex5.c diff --git a/arch/arm/dts/socfpga_agilex.dtsi b/arch/arm/dts/socfpga_agilex.dtsi index be5100aea98..84bc40dbcc3 100644 --- a/arch/arm/dts/socfpga_agilex.dtsi +++ b/arch/arm/dts/socfpga_agilex.dtsi @@ -625,4 +625,8 @@ }; }; }; + + aliases { + sysmgr = &sysmgr; + }; }; diff --git a/arch/arm/mach-socfpga/Makefile b/arch/arm/mach-socfpga/Makefile index c43fdee4a48..7f53c249805 100644 --- a/arch/arm/mach-socfpga/Makefile +++ b/arch/arm/mach-socfpga/Makefile @@ -54,6 +54,7 @@ obj-y += timer_s10.o obj-$(CONFIG_SOCFPGA_SECURE_VAB_AUTH) += vab.o obj-y += wrap_handoff_soc64.o obj-y += wrap_pll_config_soc64.o +obj-y += altera-sysmgr.o endif ifdef CONFIG_TARGET_SOCFPGA_AGILEX5 diff --git a/arch/arm/mach-socfpga/spl_agilex.c b/arch/arm/mach-socfpga/spl_agilex.c index c16519fc2bd..351848f16e6 100644 --- a/arch/arm/mach-socfpga/spl_agilex.c +++ b/arch/arm/mach-socfpga/spl_agilex.c @@ -54,6 +54,7 @@ void board_init_f(ulong dummy) if (ret) hang(); + socfpga_get_sys_mgr_addr(); socfpga_get_managers_addr(); /* Ensure watchdog is paused when debugging is happening */ diff --git a/board/intel/agilex-socdk/Makefile b/board/intel/agilex-socdk/Makefile new file mode 100644 index 00000000000..306a8cf5f0b --- /dev/null +++ b/board/intel/agilex-socdk/Makefile @@ -0,0 +1,7 @@ +# +# Copyright (C) 2025 Altera Corporation +# +# SPDX-License-Identifier: GPL-2.0 +# + +obj-y := socfpga.o diff --git a/board/intel/agilex-socdk/socfpga.c b/board/intel/agilex-socdk/socfpga.c new file mode 100644 index 00000000000..60c8704b391 --- /dev/null +++ b/board/intel/agilex-socdk/socfpga.c @@ -0,0 +1,12 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2025 Altera Corporation + */ + +#include + +int board_early_init_f(void) +{ + socfpga_get_sys_mgr_addr(); + return 0; +} -- 2.47.2