[PATCH] arm: socfpga: Ensure FPGA in user mode before enabling the bridges
Chee, Tien Fong
tien.fong.chee at altera.com
Wed Apr 15 09:47:29 CEST 2026
Hi Dinesh,
On 4/3/2026 11:43 am, dinesh.maniyam at altera.com wrote:
> From: Dinesh Maniyam <dinesh.maniyam at altera.com>
>
> Unexpected behavior and error can occur if FPGA is accessed in unknown
> state.Always checking with FPGA in user mode is required to ensure
> system stability.
>
> Signed-off-by: Tien Fong Chee <tien.fong.chee at intel.com>
> Signed-off-by: Dinesh Maniyam <dinesh.maniyam at altera.com>
> ---
> arch/arm/mach-socfpga/misc_arria10.c | 13 ++++++++++---
> 1 file changed, 10 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/mach-socfpga/misc_arria10.c b/arch/arm/mach-socfpga/misc_arria10.c
> index 7e0f3875b7c..6b25ab917ca 100644
> --- a/arch/arm/mach-socfpga/misc_arria10.c
> +++ b/arch/arm/mach-socfpga/misc_arria10.c
> @@ -13,6 +13,7 @@
> #include <ns16550.h>
> #include <spi_flash.h>
> #include <watchdog.h>
> +#include <asm/arch/fpga_manager.h>
> #include <asm/arch/misc.h>
> #include <asm/arch/pinmux.h>
> #include <asm/arch/reset_manager.h>
> @@ -126,10 +127,16 @@ int print_cpuinfo(void)
>
> void do_bridge_reset(int enable, unsigned int mask)
mask is unused on Arria 10—please mark it __maybe_unused so we do not
trip -Wunused-parameter while keeping the shared API.
Example: unsigned int mask __maybe_unused
> {
> - if (enable)
> - socfpga_reset_deassert_bridges_handoff();
> - else
> + if (enable) {
> + if (is_fpgamgr_user_mode()) {
> + socfpga_reset_deassert_bridges_handoff();
> + } else {
> + puts("Bridges: Failed to enable because FPGA is not ");
> + puts("in user mode\n");
Single line puts is preferred
Example:
puts("Bridges: failed to enable because FPGA is not "
"in user mode\n");
Best regards,
Tien Fong
More information about the U-Boot
mailing list