On 09/09/2019 14:00:35+0300, Claudiu Beznea wrote: > From: Sandeep Sheriker Mallikarjun <sandeepsheriker.mallikarjun@xxxxxxxxxxxxx> > > Add support for SAM9X60 irqchip. > > Signed-off-by: Sandeep Sheriker Mallikarjun <sandeepsheriker.mallikarjun@xxxxxxxxxxxxx> > [claudiu.beznea@xxxxxxxxxxxxx: update aic5_irq_fixups[], update > documentation] > Signed-off-by: Claudiu Beznea <claudiu.beznea@xxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx> > --- > .../devicetree/bindings/interrupt-controller/atmel,aic.txt | 7 +++++-- > drivers/irqchip/irq-atmel-aic5.c | 10 ++++++++++ > 2 files changed, 15 insertions(+), 2 deletions(-) > > diff --git a/Documentation/devicetree/bindings/interrupt-controller/atmel,aic.txt b/Documentation/devicetree/bindings/interrupt-controller/atmel,aic.txt > index f4c5d34c4111..7079d44bf3ba 100644 > --- a/Documentation/devicetree/bindings/interrupt-controller/atmel,aic.txt > +++ b/Documentation/devicetree/bindings/interrupt-controller/atmel,aic.txt > @@ -1,8 +1,11 @@ > * 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). > diff --git a/drivers/irqchip/irq-atmel-aic5.c b/drivers/irqchip/irq-atmel-aic5.c > index 6acad2ea0fb3..29333497ba10 100644 > --- a/drivers/irqchip/irq-atmel-aic5.c > +++ b/drivers/irqchip/irq-atmel-aic5.c > @@ -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); > -- > 2.7.4 > -- Alexandre Belloni, Bootlin Embedded Linux and Kernel engineering https://bootlin.com