Message ID | 20201116162427.1727851-5-gregory.clement@bootlin.com |
---|---|
State | Superseded |
Headers | show |
Series | Extend irqchip ocelot driver to support other SoCs | expand |
On 16/11/2020 17:24:26+0100, Gregory CLEMENT wrote: > 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> Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com> > --- > drivers/irqchip/irq-mscc-ocelot.c | 20 ++++++++++++++++++++ > 1 file changed, 20 insertions(+) > > diff --git a/drivers/irqchip/irq-mscc-ocelot.c b/drivers/irqchip/irq-mscc-ocelot.c > index 9964800c53c2..584af3b0a9e2 100644 > --- a/drivers/irqchip/irq-mscc-ocelot.c > +++ b/drivers/irqchip/irq-mscc-ocelot.c > @@ -44,6 +44,18 @@ static const struct chip_props ocelot_props = { > .n_irq = 24, > }; > > +static const 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, > + .reg_off_force = 0x8, > + .n_irq = 24, > +}; > + > static const struct chip_props luton_props = { > .flags = FLAGS_NEED_INIT_ENABLE | > FLAGS_FORCE_LUTON_STYLE, > @@ -210,6 +222,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) > { > -- > 2.29.2 > -- Alexandre Belloni, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
diff --git a/drivers/irqchip/irq-mscc-ocelot.c b/drivers/irqchip/irq-mscc-ocelot.c index 9964800c53c2..584af3b0a9e2 100644 --- a/drivers/irqchip/irq-mscc-ocelot.c +++ b/drivers/irqchip/irq-mscc-ocelot.c @@ -44,6 +44,18 @@ static const struct chip_props ocelot_props = { .n_irq = 24, }; +static const 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, + .reg_off_force = 0x8, + .n_irq = 24, +}; + static const struct chip_props luton_props = { .flags = FLAGS_NEED_INIT_ENABLE | FLAGS_FORCE_LUTON_STYLE, @@ -210,6 +222,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) {
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> --- drivers/irqchip/irq-mscc-ocelot.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)