Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 212fbf2c authored by Sandeep Sheriker Mallikarjun's avatar Sandeep Sheriker Mallikarjun Committed by Marc Zyngier
Browse files

irqchip/atmel-aic5: Add support for sam9x60 irqchip



Add support for SAM9X60 irqchip.

Signed-off-by: default avatarSandeep Sheriker Mallikarjun <sandeepsheriker.mallikarjun@microchip.com>
Signed-off-by: default avatarClaudiu Beznea <claudiu.beznea@microchip.com>
Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/1568026835-6646-1-git-send-email-claudiu.beznea@microchip.com

[claudiu.beznea@microchip.com: update aic5_irq_fixups[], update
 documentation]
parent 9c426b77
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
* Advanced Interrupt Controller (AIC)

Required properties:
- compatible: Should be "atmel,<chip>-aic"
  <chip> can be "at91rm9200", "sama5d2", "sama5d3" or "sama5d4"
- compatible: Should be:
    - "atmel,<chip>-aic" where  <chip> can be "at91rm9200", "sama5d2",
      "sama5d3" or "sama5d4"
    - "microchip,<chip>-aic" where <chip> can be "sam9x60"

- interrupt-controller: Identifies the node as an interrupt controller.
- #interrupt-cells: The number of cells to define the interrupts. It should be 3.
  The first cell is the IRQ number (aka "Peripheral IDentifier" on datasheet).
+10 −0
Original line number Diff line number Diff line
@@ -313,6 +313,7 @@ static void __init sama5d3_aic_irq_fixup(void)
static const struct of_device_id aic5_irq_fixups[] __initconst = {
	{ .compatible = "atmel,sama5d3", .data = sama5d3_aic_irq_fixup },
	{ .compatible = "atmel,sama5d4", .data = sama5d3_aic_irq_fixup },
	{ .compatible = "microchip,sam9x60", .data = sama5d3_aic_irq_fixup },
	{ /* sentinel */ },
};

@@ -390,3 +391,12 @@ static int __init sama5d4_aic5_of_init(struct device_node *node,
	return aic5_of_init(node, parent, NR_SAMA5D4_IRQS);
}
IRQCHIP_DECLARE(sama5d4_aic5, "atmel,sama5d4-aic", sama5d4_aic5_of_init);

#define NR_SAM9X60_IRQS		50

static int __init sam9x60_aic5_of_init(struct device_node *node,
				       struct device_node *parent)
{
	return aic5_of_init(node, parent, NR_SAM9X60_IRQS);
}
IRQCHIP_DECLARE(sam9x60_aic5, "microchip,sam9x60-aic", sam9x60_aic5_of_init);