aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/devicetree/bindings/interrupt-controller/atmel,aic.txt2
-rw-r--r--drivers/irqchip/irq-atmel-aic5.c10
2 files changed, 11 insertions, 1 deletions
diff --git a/Documentation/devicetree/bindings/interrupt-controller/atmel,aic.txt b/Documentation/devicetree/bindings/interrupt-controller/atmel,aic.txt
index 2742e9cfd6b1..f292917fa00d 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/atmel,aic.txt
+++ b/Documentation/devicetree/bindings/interrupt-controller/atmel,aic.txt
@@ -2,7 +2,7 @@
2 2
3Required properties: 3Required properties:
4- compatible: Should be "atmel,<chip>-aic" 4- compatible: Should be "atmel,<chip>-aic"
5 <chip> can be "at91rm9200" or "sama5d3" 5 <chip> can be "at91rm9200", "sama5d3" or "sama5d4"
6- interrupt-controller: Identifies the node as an interrupt controller. 6- interrupt-controller: Identifies the node as an interrupt controller.
7- interrupt-parent: For single AIC system, it is an empty property. 7- interrupt-parent: For single AIC system, it is an empty property.
8- #interrupt-cells: The number of cells to define the interrupts. It should be 3. 8- #interrupt-cells: The number of cells to define the interrupts. It should be 3.
diff --git a/drivers/irqchip/irq-atmel-aic5.c b/drivers/irqchip/irq-atmel-aic5.c
index 22c922812cd6..92b504a56293 100644
--- a/drivers/irqchip/irq-atmel-aic5.c
+++ b/drivers/irqchip/irq-atmel-aic5.c
@@ -297,6 +297,7 @@ static void __init sama5d3_aic_irq_fixup(struct device_node *root)
297 297
298static const struct of_device_id __initdata aic5_irq_fixups[] = { 298static const struct of_device_id __initdata aic5_irq_fixups[] = {
299 { .compatible = "atmel,sama5d3", .data = sama5d3_aic_irq_fixup }, 299 { .compatible = "atmel,sama5d3", .data = sama5d3_aic_irq_fixup },
300 { .compatible = "atmel,sama5d4", .data = sama5d3_aic_irq_fixup },
300 { /* sentinel */ }, 301 { /* sentinel */ },
301}; 302};
302 303
@@ -351,3 +352,12 @@ static int __init sama5d3_aic5_of_init(struct device_node *node,
351 return aic5_of_init(node, parent, NR_SAMA5D3_IRQS); 352 return aic5_of_init(node, parent, NR_SAMA5D3_IRQS);
352} 353}
353IRQCHIP_DECLARE(sama5d3_aic5, "atmel,sama5d3-aic", sama5d3_aic5_of_init); 354IRQCHIP_DECLARE(sama5d3_aic5, "atmel,sama5d3-aic", sama5d3_aic5_of_init);
355
356#define NR_SAMA5D4_IRQS 68
357
358static int __init sama5d4_aic5_of_init(struct device_node *node,
359 struct device_node *parent)
360{
361 return aic5_of_init(node, parent, NR_SAMA5D4_IRQS);
362}
363IRQCHIP_DECLARE(sama5d4_aic5, "atmel,sama5d4-aic", sama5d4_aic5_of_init);