From 61d30ed92726fcb6201b0125587a915e625f6083 Mon Sep 17 00:00:00 2001 From: Kumar Gala Date: Tue, 18 Feb 2020 07:55:12 -0600 Subject: [PATCH] drivers: intc: plic: convert to DT_INST defines Convert driver to use DT_INST_ defines. Signed-off-by: Kumar Gala --- drivers/interrupt_controller/intc_plic.c | 25 +++++++++++-------- soc/riscv/riscv-privilege/miv/dts_fixup.h | 7 ------ .../sifive-freedom/dts_fixup.h | 7 ------ 3 files changed, 15 insertions(+), 24 deletions(-) delete mode 100644 soc/riscv/riscv-privilege/sifive-freedom/dts_fixup.h diff --git a/drivers/interrupt_controller/intc_plic.c b/drivers/interrupt_controller/intc_plic.c index 6c57cdcb7f1..e80f314a884 100644 --- a/drivers/interrupt_controller/intc_plic.c +++ b/drivers/interrupt_controller/intc_plic.c @@ -17,6 +17,11 @@ #include +#define PLIC_MAX_PRIO DT_INST_0_SIFIVE_PLIC_1_0_0_RISCV_MAX_PRIORITY +#define PLIC_PRIO DT_INST_0_SIFIVE_PLIC_1_0_0_PRIO_BASE_ADDRESS +#define PLIC_IRQ_EN DT_INST_0_SIFIVE_PLIC_1_0_0_IRQ_EN_BASE_ADDRESS +#define PLIC_REG DT_INST_0_SIFIVE_PLIC_1_0_0_REG_BASE_ADDRESS + #define PLIC_IRQS (CONFIG_NUM_IRQS - CONFIG_2ND_LVL_ISR_TBL_OFFSET) #define PLIC_EN_SIZE ((PLIC_IRQS >> 5) + 1) @@ -42,7 +47,7 @@ static int save_irq; void riscv_plic_irq_enable(u32_t irq) { u32_t key; - volatile u32_t *en = (volatile u32_t *)DT_PLIC_IRQ_EN; + volatile u32_t *en = (volatile u32_t *)PLIC_IRQ_EN; key = irq_lock(); en += (irq >> 5); @@ -65,7 +70,7 @@ void riscv_plic_irq_enable(u32_t irq) void riscv_plic_irq_disable(u32_t irq) { u32_t key; - volatile u32_t *en = (volatile u32_t *)DT_PLIC_IRQ_EN; + volatile u32_t *en = (volatile u32_t *)PLIC_IRQ_EN; key = irq_lock(); en += (irq >> 5); @@ -84,7 +89,7 @@ void riscv_plic_irq_disable(u32_t irq) */ int riscv_plic_irq_is_enabled(u32_t irq) { - volatile u32_t *en = (volatile u32_t *)DT_PLIC_IRQ_EN; + volatile u32_t *en = (volatile u32_t *)PLIC_IRQ_EN; en += (irq >> 5); return !!(*en & (1 << (irq & 31))); @@ -103,10 +108,10 @@ int riscv_plic_irq_is_enabled(u32_t irq) */ void riscv_plic_set_priority(u32_t irq, u32_t priority) { - volatile u32_t *prio = (volatile u32_t *)DT_PLIC_PRIO; + volatile u32_t *prio = (volatile u32_t *)PLIC_PRIO; - if (priority > DT_PLIC_MAX_PRIO) - priority = DT_PLIC_MAX_PRIO; + if (priority > PLIC_MAX_PRIO) + priority = PLIC_MAX_PRIO; prio += irq; *prio = priority; @@ -130,7 +135,7 @@ int riscv_plic_get_irq(void) static void plic_irq_handler(void *arg) { volatile struct plic_regs_t *regs = - (volatile struct plic_regs_t *) DT_PLIC_REG; + (volatile struct plic_regs_t *) PLIC_REG; u32_t irq; struct _isr_table_entry *ite; @@ -175,10 +180,10 @@ static int plic_init(struct device *dev) { ARG_UNUSED(dev); - volatile u32_t *en = (volatile u32_t *)DT_PLIC_IRQ_EN; - volatile u32_t *prio = (volatile u32_t *)DT_PLIC_PRIO; + volatile u32_t *en = (volatile u32_t *)PLIC_IRQ_EN; + volatile u32_t *prio = (volatile u32_t *)PLIC_PRIO; volatile struct plic_regs_t *regs = - (volatile struct plic_regs_t *)DT_PLIC_REG; + (volatile struct plic_regs_t *)PLIC_REG; int i; /* Ensure that all interrupts are disabled initially */ diff --git a/soc/riscv/riscv-privilege/miv/dts_fixup.h b/soc/riscv/riscv-privilege/miv/dts_fixup.h index 9f957aaeef4..978f2d38cab 100644 --- a/soc/riscv/riscv-privilege/miv/dts_fixup.h +++ b/soc/riscv/riscv-privilege/miv/dts_fixup.h @@ -1,12 +1,5 @@ /* SPDX-License-Identifier: Apache-2.0 */ - -/* PLIC */ -#define DT_PLIC_MAX_PRIO DT_SIFIVE_PLIC_1_0_0_40000000_RISCV_MAX_PRIORITY -#define DT_PLIC_PRIO DT_SIFIVE_PLIC_1_0_0_40000000_PRIO_BASE_ADDRESS -#define DT_PLIC_IRQ_EN DT_SIFIVE_PLIC_1_0_0_40000000_IRQ_EN_BASE_ADDRESS -#define DT_PLIC_REG DT_SIFIVE_PLIC_1_0_0_40000000_REG_BASE_ADDRESS - /* UART 0 */ #define DT_MIV_UART_0_BASE_ADDR DT_MICROSEMI_COREUART_70001000_BASE_ADDRESS #define DT_MIV_UART_0_CLOCK_FREQUENCY DT_MICROSEMI_COREUART_70001000_CLOCK_FREQUENCY diff --git a/soc/riscv/riscv-privilege/sifive-freedom/dts_fixup.h b/soc/riscv/riscv-privilege/sifive-freedom/dts_fixup.h deleted file mode 100644 index 954813faf1a..00000000000 --- a/soc/riscv/riscv-privilege/sifive-freedom/dts_fixup.h +++ /dev/null @@ -1,7 +0,0 @@ -/* SPDX-License-Identifier: Apache-2.0 */ -/* Copyright (c) 2020 Olof Johansson */ - -#define DT_PLIC_MAX_PRIO DT_INST_0_SIFIVE_PLIC_1_0_0_RISCV_MAX_PRIORITY -#define DT_PLIC_PRIO DT_INST_0_SIFIVE_PLIC_1_0_0_PRIO_BASE_ADDRESS -#define DT_PLIC_IRQ_EN DT_INST_0_SIFIVE_PLIC_1_0_0_IRQ_EN_BASE_ADDRESS -#define DT_PLIC_REG DT_INST_0_SIFIVE_PLIC_1_0_0_REG_BASE_ADDRESS