[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250922161620.03fa8d8e@bootlin.com>
Date: Mon, 22 Sep 2025 16:16:20 +0200
From: Herve Codina <herve.codina@...tlin.com>
To: Wolfram Sang <wsa+renesas@...g-engineering.com>
Cc: Thomas Gleixner <tglx@...utronix.de>, 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 8/8] ARM: dts: r9a06g032: Add support for GPIO
interrupts
Hi Wolfram,
On Fri, 19 Sep 2025 19:12:11 +0200
Herve Codina <herve.codina@...tlin.com> wrote:
> On Fri, 19 Sep 2025 16:41:05 +0200
> Wolfram Sang <wsa+renesas@...g-engineering.com> wrote:
>
> > > 'interrupt-map' is a required property. If the board doesn't use any interrupt
> > > GPIO, its dts has no reason to set the interrupt-map.
> >
> > Why is 'interrupt-map' then a required property? Can we drop it from the
> > requirements?
> >
>
> I need to check in details but 'interrupt-map' should be kept required.
> Indeed, irq-mux needs this property to work. It is not an optional one.
>
> I need to look at the 'make CHECK_DTBS=y' behavior when required property is
> missing in a not enabled node (node with status = "disabled").
>
> Also, got some:
> Warning (interrupts_property): /soc/interrupt-controller@...00480: Missing interrupt-controller or interrupt-map property
>
> This could be due to the presence of #interrupt-cells or the node name (not
> sure). As I need to rename the node (Conor's comment), I will see if the
> warning disappear. If the warning is due to #interrupt-cells, I don't think
> that removing #interrupt-cells is the right solution to avoid the warning.
>
> That's said, I need to perform some local tries. I will keep you informed.
>
If I remove the 'interrupt-map', I still have warnings from DTC:
r9a06g032.dtsi:647.45-664.5: Warning (interrupts_property): /soc/interrupt-controller@...00480: Missing interrupt-controller or interrupt-map property
r9a06g032.dtsi:647.45-664.5: Warning (interrupts_property): /soc/interrupt-controller@...00480: Missing interrupt-controller or interrupt-map property
r9a06g032.dtsi:647.45-664.5: Warning (interrupts_property): /soc/interrupt-controller@...00480: Missing interrupt-controller or interrupt-map property
r9a06g032.dtsi:647.45-664.5: Warning (interrupt_provider): /soc/interrupt-controller@...00480: '#interrupt-cells' found, but node is not an interrupt provider
r9a06g032-rzn1d400-eb.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider'
Indeed, the irq-mux node is referenced (interrupt-parent) in the gpio nodes.
DTC checks that in that case irq-mux is correctly set. It has to be either
an interrupt controller ('interrupt-controller' property) or a interrupt
nexus node ('interrupt-map' property).
If I remove, the 'interrupt-map' property, DTC is not happy.
Also in that case, my node has '#interrupt-cells' set without being an
interrupt controller of a interrupt nexus node and this leads to a warning too.
The only way to avoid warnings is to fully remove the irq-mux node and related
references available in gpio nodes.
IHMO, I think we can leave with a reduce 'interrupt-map' array set in the irq-mux
node in r9a06g032.dtsi file such as follow.
--- 8< ---
interrupt-controller@...00480 {
compatible = "renesas,r9a06g032-gpioirqmux", "renesas,rzn1-gpioirqmux";
reg = <0x51000480 0x20>;
#interrupt-cells = <1>;
#address-cells = <0>;
interrupt-map-mask = <0x7f>;
/*
* interrupt-map has to be updated according to GPIO
* usage. The src irq (0 field) has to be updated with
* the needed GPIO interrupt number.
* More items can be added (up to 8). Those items must
* define a GIC SPI interrupt in the range 103 to 110.
*/
interrupt-map = <0 &gic GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};
--- 8< ---
Could this modification be ok on your side?
Best regards,
Hervé
Powered by blists - more mailing lists