Re: [PATCH v3 5/5] irqchip: ocelot: Add support for Jaguar2 platforms
From: Alexandre Belloni
Date: Wed Nov 18 2020 - 05:46:45 EST
On 16/11/2020 17:24:27+0100, Gregory CLEMENT wrote:
> 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@xxxxxxxxxxxxx>
> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxx>
Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>
> ---
> 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 584af3b0a9e2..0dfea8771172 100644
> --- a/drivers/irqchip/irq-mscc-ocelot.c
> +++ b/drivers/irqchip/irq-mscc-ocelot.c
> @@ -70,6 +70,18 @@ static const struct chip_props luton_props = {
> .n_irq = 28,
> };
>
> +static const struct chip_props jaguar2_props = {
> + .flags = FLAGS_HAS_TRIGGER,
> + .reg_off_sticky = 0x10,
> + .reg_off_ena = 0x18,
> + .reg_off_ena_clr = 0x1c,
> + .reg_off_ena_set = 0x20,
> + .reg_off_ident = 0x38,
> + .reg_off_trigger = 0x5c,
> + .reg_off_force = 0xc,
> + .n_irq = 29,
> +};
> +
> static void ocelot_irq_unmask(struct irq_data *data)
> {
> struct irq_chip_generic *gc = irq_data_get_irq_chip_data(data);
> @@ -237,3 +249,11 @@ static int __init luton_irq_init(struct device_node *node,
> }
>
> IRQCHIP_DECLARE(luton_icpu, "mscc,luton-icpu-intr", luton_irq_init);
> +
> +static int __init jaguar2_irq_init(struct device_node *node,
> + struct device_node *parent)
> +{
> + return vcoreiii_irq_init(node, parent, &jaguar2_props);
> +}
> +
> +IRQCHIP_DECLARE(jaguar2_icpu, "mscc,jaguar2-icpu-intr", jaguar2_irq_init);
> --
> 2.29.2
>
--
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com