From 8d10e66371b76895022005edff5d4bd6705d0c5e Mon Sep 17 00:00:00 2001 From: Tomasz Bursztyka Date: Wed, 18 Dec 2019 10:13:46 +0100 Subject: [PATCH] drivers/interrupt-controller: Make irqs DT configured in DW DesignWare driver can manage different amount of irqs so let's make it configurable via DTS. Signed-off-by: Tomasz Bursztyka --- drivers/interrupt_controller/intc_dw.c | 2 +- dts/bindings/interrupt-controller/snps,designware-intc.yaml | 5 +++++ dts/xtensa/intel/intel_s1000.dtsi | 1 + soc/xtensa/intel_s1000/dts_fixup.h | 1 + 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/interrupt_controller/intc_dw.c b/drivers/interrupt_controller/intc_dw.c index f23609d2532..e0f5d24f4a8 100644 --- a/drivers/interrupt_controller/intc_dw.c +++ b/drivers/interrupt_controller/intc_dw.c @@ -127,7 +127,7 @@ static void dw_ictl_config_irq(struct device *dev); static const struct dw_ictl_config dw_config = { .irq_num = DT_INTC_DW_0_BASE_ADDR, - .numirqs = DW_ICTL_NUM_IRQS, + .numirqs = DT_INTC_DW_0_NUM_IRQS, .isr_table_offset = CONFIG_DW_ISR_TBL_OFFSET, .config_func = dw_ictl_config_irq, }; diff --git a/dts/bindings/interrupt-controller/snps,designware-intc.yaml b/dts/bindings/interrupt-controller/snps,designware-intc.yaml index b86c3cb395e..957aa90d483 100644 --- a/dts/bindings/interrupt-controller/snps,designware-intc.yaml +++ b/dts/bindings/interrupt-controller/snps,designware-intc.yaml @@ -14,6 +14,11 @@ properties: "#interrupt-cells": const: 3 + num-irqs: + type: int + required: true + description: Number of irq the controller manages + interrupt-cells: - irq - sense diff --git a/dts/xtensa/intel/intel_s1000.dtsi b/dts/xtensa/intel/intel_s1000.dtsi index 7ff7130d7eb..c47a302d39e 100644 --- a/dts/xtensa/intel/intel_s1000.dtsi +++ b/dts/xtensa/intel/intel_s1000.dtsi @@ -91,6 +91,7 @@ interrupt-controller; #interrupt-cells = <3>; interrupts = <6 0 0>; + num-irqs = <9>; interrupt-parent = <&cavs0>; }; diff --git a/soc/xtensa/intel_s1000/dts_fixup.h b/soc/xtensa/intel_s1000/dts_fixup.h index 4ce4252f29e..96e9c6b67cc 100644 --- a/soc/xtensa/intel_s1000/dts_fixup.h +++ b/soc/xtensa/intel_s1000/dts_fixup.h @@ -43,6 +43,7 @@ DT_SNPS_DESIGNWARE_INTC_81800_IRQ_0_PRIORITY #define DT_INTC_DW_0_IRQ_FLAGS \ DT_SNPS_DESIGNWARE_INTC_81800_IRQ_0_SENSE +#define DT_INTC_DW_0_NUM_IRQS DT_SNPS_DESIGNWARE_INTC_81800_NUM_IRQS #define DT_SPI_DW_0_BASE_ADDRESS \ DT_SNPS_DESIGNWARE_SPI_E000_BASE_ADDRESS