summaryrefslogtreecommitdiffstats
path: root/bsps/riscv/riscv/start/bsp_fatal_halt.c
diff options
context:
space:
mode:
Diffstat (limited to 'bsps/riscv/riscv/start/bsp_fatal_halt.c')
-rw-r--r--bsps/riscv/riscv/start/bsp_fatal_halt.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/bsps/riscv/riscv/start/bsp_fatal_halt.c b/bsps/riscv/riscv/start/bsp_fatal_halt.c
index fb0787c606..cd7c5f20c5 100644
--- a/bsps/riscv/riscv/start/bsp_fatal_halt.c
+++ b/bsps/riscv/riscv/start/bsp_fatal_halt.c
@@ -38,14 +38,17 @@ void _CPU_Fatal_halt( uint32_t source, CPU_Uint32ptr error )
int node;
volatile uint32_t *sifive_test;
-#if RISCV_ENABLE_HTIF_SUPPORT != 0
- htif_poweroff();
-#endif
+ fdt = bsp_fdt_get();
+
+ node = fdt_node_offset_by_compatible(fdt, -1, "ucb,htif0");
+
+ if (node != -1)
+ htif_poweroff();
+
#if RISCV_ENABLE_MPFS_SUPPORT != 0
for(;;);
#endif
- fdt = bsp_fdt_get();
node = fdt_node_offset_by_compatible(fdt, -1, "sifive,test0");
sifive_test = riscv_fdt_get_address(fdt, node);