Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

irqchip/ocelot: Add support for Jaguar2 platforms

This patch extends irqchip driver for ocelot to be used with an other
vcoreiii base platform: Jaguar2.

Based on a larger patch from Lars Povlsen <lars.povlsen@microchip.com>

Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20201125103206.136498-7-gregory.clement@bootlin.com

authored by

Gregory CLEMENT and committed by
Marc Zyngier
550c1424 7efdfbd1

+19
+19
drivers/irqchip/irq-mscc-ocelot.c
··· 63 63 .n_irq = 28, 64 64 }; 65 65 66 + static struct chip_props jaguar2_props = { 67 + .flags = FLAGS_HAS_TRIGGER, 68 + .reg_off_sticky = 0x10, 69 + .reg_off_ena = 0x18, 70 + .reg_off_ena_clr = 0x1c, 71 + .reg_off_ena_set = 0x20, 72 + .reg_off_ident = 0x38, 73 + .reg_off_trigger = 0x5c, 74 + .n_irq = 29, 75 + }; 76 + 66 77 static void ocelot_irq_unmask(struct irq_data *data) 67 78 { 68 79 struct irq_chip_generic *gc = irq_data_get_irq_chip_data(data); ··· 208 197 } 209 198 210 199 IRQCHIP_DECLARE(luton_icpu, "mscc,luton-icpu-intr", luton_irq_init); 200 + 201 + static int __init jaguar2_irq_init(struct device_node *node, 202 + struct device_node *parent) 203 + { 204 + return vcoreiii_irq_init(node, parent, &jaguar2_props); 205 + } 206 + 207 + IRQCHIP_DECLARE(jaguar2_icpu, "mscc,jaguar2-icpu-intr", jaguar2_irq_init);