[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250918175716.6c3fd406@bootlin.com>
Date: Thu, 18 Sep 2025 17:57:16 +0200
From: Herve Codina <herve.codina@...tlin.com>
To: Conor Dooley <conor@...nel.org>
Cc: Thomas Gleixner <tglx@...utronix.de>, Wolfram Sang
<wsa+renesas@...g-engineering.com>, Hoan Tran
<hoan@...amperecomputing.com>, Linus Walleij <linus.walleij@...aro.org>,
Bartosz Golaszewski <brgl@...ev.pl>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley
<conor+dt@...nel.org>, Geert Uytterhoeven <geert+renesas@...der.be>, Magnus
Damm <magnus.damm@...il.com>, Saravana Kannan <saravanak@...gle.com>, Serge
Semin <fancer.lancer@...il.com>, Phil Edworthy <phil.edworthy@...esas.com>,
linux-gpio@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-renesas-soc@...r.kernel.org, Pascal
Eberhard <pascal.eberhard@...com>, Miquel Raynal
<miquel.raynal@...tlin.com>, Thomas Petazzoni
<thomas.petazzoni@...tlin.com>
Subject: Re: [PATCH v3 0/8] gpio: renesas: Add support for GPIO and related
interrupts in RZ/N1 SoC
Hi Conor,
On Thu, 18 Sep 2025 16:37:39 +0100
Conor Dooley <conor@...nel.org> wrote:
> On Thu, Sep 18, 2025 at 12:39:58PM +0200, Herve Codina (Schneider Electric) wrote:
> > Hi,
> >
> > This series adds support for GPIO and GPIO IRQ mux available in the
> > RZ/N1 SoCs.
> >
> > The first patches in this series are related to a new helper introduced
> > to parse an interrupt-map property.
> > - patch 1: Introduce the helper (for_each_of_imap_item)
> > - patch 2: Add a unittest for the new helper
> > - patch 3 and 4: convert existing drivers to use this new helper
> >
> > Patch 4 will conflicts with commit 40c26230a1bf ("irqchip: Use int type
> > to store negative error codes") available in linux-next.
> >
> > Patch 5 adds support for GPIO (device-tree description)
> >
> > The last patches (6, 7 and 8) of the series are related to GPIO
> > interrupts and GPIO IRQ multiplexer.
> >
> > In the RZ/N1 SoCs, GPIO interrupts are wired to a GPIO IRQ multiplexer.
> >
> > This multiplexer does nothing but select 8 GPIO IRQ lines out of the 96
> > available to wire them to the GIC input lines.
> >
> > One upstreaming attempt have been done previously by Phil Edworthy [1]
> > but the series has never been applied.
> >
> > Based on my understanding, I have fully reworked the driver proposed by
> > Phil and removed the IRQ domain. Indeed, the device doesn't handle
> > interrupts. It just routes signals.
> >
> > Also, as an interrupt-map property is used, the driver cannot be
> > involved as an interrupt controller itself. It is a nexus node.
> >
> > With that in mind,
> > - Patch 6 is related to the irq-mux binding.
> >
> > - Patch 7 introduces the irq-mux driver.
> > This driver uses the 'for_each_of_imap_item' helper introduced
> > previously. Indeed, the lines routing is defined by the
> > interrupt-map property and the driver needs to set registers to
> > apply this routing.
> >
> > - Patch 8 is the RZ/N1 device-tree description update to have the
> > support for the GPIO interrupts.
> >
> > [1] https://lore.kernel.org/all/20190219155511.28507-1-phil.edworthy@renesas.com/
> >
> > Best regards,
> > Hervé
>
> This whole thing is super interesting to me. I have a gpio irq mux of my
> own with a driver that is massively more complex than what you have here
> (it's a full on irqchip driver). I'm definitely gonna have to see if I
> can ape what you have done here and simplify what I have.
Glad to see that this is giving some ideas!
Best regards,
Hervé
Powered by blists - more mailing lists