aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/devicetree/bindings/interrupt-controller/qca,ath79-misc-intc.txt20
-rw-r--r--arch/mips/ath79/irq.c10
2 files changed, 28 insertions, 2 deletions
diff --git a/Documentation/devicetree/bindings/interrupt-controller/qca,ath79-misc-intc.txt b/Documentation/devicetree/bindings/interrupt-controller/qca,ath79-misc-intc.txt
index 391717a68f3b..ec96b1f01478 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/qca,ath79-misc-intc.txt
+++ b/Documentation/devicetree/bindings/interrupt-controller/qca,ath79-misc-intc.txt
@@ -4,8 +4,8 @@ The MISC interrupt controller is a secondary controller for lower priority
4interrupt. 4interrupt.
5 5
6Required Properties: 6Required Properties:
7- compatible: has to be "qca,<soctype>-cpu-intc", "qca,ar7100-misc-intc" 7- compatible: has to be "qca,<soctype>-cpu-intc", "qca,ar7100-misc-intc" or
8 as fallback 8 "qca,<soctype>-cpu-intc", "qca,ar7240-misc-intc"
9- reg: Base address and size of the controllers memory area 9- reg: Base address and size of the controllers memory area
10- interrupt-parent: phandle of the parent interrupt controller. 10- interrupt-parent: phandle of the parent interrupt controller.
11- interrupts: Interrupt specifier for the controllers interrupt. 11- interrupts: Interrupt specifier for the controllers interrupt.
@@ -13,6 +13,9 @@ Required Properties:
13- #interrupt-cells : Specifies the number of cells needed to encode interrupt 13- #interrupt-cells : Specifies the number of cells needed to encode interrupt
14 source, should be 1 14 source, should be 1
15 15
16Compatible fallback depends on the SoC. Use ar7100 for ar71xx and ar913x,
17use ar7240 for all other SoCs.
18
16Please refer to interrupts.txt in this directory for details of the common 19Please refer to interrupts.txt in this directory for details of the common
17Interrupt Controllers bindings used by client devices. 20Interrupt Controllers bindings used by client devices.
18 21
@@ -28,3 +31,16 @@ Example:
28 interrupt-controller; 31 interrupt-controller;
29 #interrupt-cells = <1>; 32 #interrupt-cells = <1>;
30 }; 33 };
34
35Another example:
36
37 interrupt-controller@18060010 {
38 compatible = "qca,ar9331-misc-intc", qca,ar7240-misc-intc";
39 reg = <0x18060010 0x4>;
40
41 interrupt-parent = <&cpuintc>;
42 interrupts = <6>;
43
44 interrupt-controller;
45 #interrupt-cells = <1>;
46 };
diff --git a/arch/mips/ath79/irq.c b/arch/mips/ath79/irq.c
index bf1651cc7e64..eeb3953ed8ac 100644
--- a/arch/mips/ath79/irq.c
+++ b/arch/mips/ath79/irq.c
@@ -304,6 +304,16 @@ static int __init ar7100_misc_intc_of_init(
304IRQCHIP_DECLARE(ar7100_misc_intc, "qca,ar7100-misc-intc", 304IRQCHIP_DECLARE(ar7100_misc_intc, "qca,ar7100-misc-intc",
305 ar7100_misc_intc_of_init); 305 ar7100_misc_intc_of_init);
306 306
307static int __init ar7240_misc_intc_of_init(
308 struct device_node *node, struct device_node *parent)
309{
310 ath79_misc_irq_chip.irq_ack = ar724x_misc_irq_ack;
311 return ath79_misc_intc_of_init(node, parent);
312}
313
314IRQCHIP_DECLARE(ar7240_misc_intc, "qca,ar7240-misc-intc",
315 ar7240_misc_intc_of_init);
316
307static int __init ar79_cpu_intc_of_init( 317static int __init ar79_cpu_intc_of_init(
308 struct device_node *node, struct device_node *parent) 318 struct device_node *node, struct device_node *parent)
309{ 319{