diff options
Diffstat (limited to 'bsps/riscv/riscv/irq/irq.c')
-rw-r--r-- | bsps/riscv/riscv/irq/irq.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/bsps/riscv/riscv/irq/irq.c b/bsps/riscv/riscv/irq/irq.c index 3ef06a16bd..f0ccc6f5f0 100644 --- a/bsps/riscv/riscv/irq/irq.c +++ b/bsps/riscv/riscv/irq/irq.c @@ -247,13 +247,16 @@ static void riscv_plic_init(const void *fdt) node = fdt_node_offset_by_compatible(fdt, -1, "riscv,plic0"); plic = riscv_fdt_get_address(fdt, node); + if (plic == NULL) { -#if RISCV_ENABLE_HTIF_SUPPORT != 0 - /* Spike platform has HTIF and does not have a PLIC */ - return; -#else - bsp_fatal(RISCV_FATAL_NO_PLIC_REG_IN_DEVICE_TREE); -#endif + node = fdt_node_offset_by_compatible(fdt, -1, "ucb,htif0"); + + /* Spike platform has HTIF and does not have a PLIC */ + if (node != -1) { + return; + } else { + bsp_fatal(RISCV_FATAL_NO_PLIC_REG_IN_DEVICE_TREE); + } } riscv_plic = plic; |