diff options
-rw-r--r-- | Documentation/devicetree/bindings/interrupt-controller/atmel,aic.txt | 2 | ||||
-rw-r--r-- | drivers/irqchip/irq-atmel-aic5.c | 10 |
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 | ||
3 | Required properties: | 3 | Required 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 | ||
298 | static const struct of_device_id __initdata aic5_irq_fixups[] = { | 298 | static 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 | } |
353 | IRQCHIP_DECLARE(sama5d3_aic5, "atmel,sama5d3-aic", sama5d3_aic5_of_init); | 354 | IRQCHIP_DECLARE(sama5d3_aic5, "atmel,sama5d3-aic", sama5d3_aic5_of_init); |
355 | |||
356 | #define NR_SAMA5D4_IRQS 68 | ||
357 | |||
358 | static 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 | } | ||
363 | IRQCHIP_DECLARE(sama5d4_aic5, "atmel,sama5d4-aic", sama5d4_aic5_of_init); | ||