Messages in this thread Patch in this message | | | Date | Fri, 11 Dec 2020 14:58:44 -0000 | From | "irqchip-bot for Gregory CLEMENT" <> | Subject | [irqchip: irq/irqchip-next] irqchip/ocelot: Add support for Serval platforms |
| |
The following commit has been merged into the irq/irqchip-next branch of irqchip:
Commit-ID: 7efdfbd15a21788de8c0743590e777f151a3031b Gitweb: https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms/7efdfbd15a21788de8c0743590e777f151a3031b Author: Gregory CLEMENT <gregory.clement@bootlin.com> AuthorDate: Wed, 25 Nov 2020 11:32:05 +01:00 Committer: Marc Zyngier <maz@kernel.org> CommitterDate: Fri, 11 Dec 2020 14:47:49
irqchip/ocelot: Add support for Serval platforms
This patch extends irqchip driver for ocelot to be used with an other vcoreiii base platform: Serval.
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-6-gregory.clement@bootlin.com --- drivers/irqchip/irq-mscc-ocelot.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)
diff --git a/drivers/irqchip/irq-mscc-ocelot.c b/drivers/irqchip/irq-mscc-ocelot.c index 496f955..da5a0ad 100644 --- a/drivers/irqchip/irq-mscc-ocelot.c +++ b/drivers/irqchip/irq-mscc-ocelot.c @@ -41,6 +41,17 @@ static struct chip_props ocelot_props = { .n_irq = 24, }; +static struct chip_props serval_props = { + .flags = FLAGS_HAS_TRIGGER, + .reg_off_sticky = 0xc, + .reg_off_ena = 0x14, + .reg_off_ena_clr = 0x18, + .reg_off_ena_set = 0x1c, + .reg_off_ident = 0x20, + .reg_off_trigger = 0x4, + .n_irq = 24, +}; + static struct chip_props luton_props = { .flags = FLAGS_NEED_INIT_ENABLE, .reg_off_sticky = 0, @@ -171,6 +182,14 @@ static int __init ocelot_irq_init(struct device_node *node, IRQCHIP_DECLARE(ocelot_icpu, "mscc,ocelot-icpu-intr", ocelot_irq_init); +static int __init serval_irq_init(struct device_node *node, + struct device_node *parent) +{ + return vcoreiii_irq_init(node, parent, &serval_props); +} + +IRQCHIP_DECLARE(serval_icpu, "mscc,serval-icpu-intr", serval_irq_init); + static int __init luton_irq_init(struct device_node *node, struct device_node *parent) {
| |