Re: [PATCH v6 3/5] arm64: dts: renesas: add support for solidrun rzg2l som and hb-iiot evb

Josua Mayer <[email protected]>
Newsgroups dev.linux.lists.sashiko-reviews,org.kernel.vger.linux-devicetree
Message-ID <[email protected]>
On 10/08/2026 10:26, [email protected] wrote:
> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
> - [Medium] Lost interrupts for child devices due to edge-triggered parent interrupt configuration on the I2C expander
> --
>
> --- Patch [3]: [PATCH v6 3/5] arm64: dts: renesas: add support for solidrun rzg2l som and hb-iiot evb ---
> commit 3f1957626f1e1e5ab1e7ddedbfb53c5dea3788e0
> Author: Josua Mayer <[email protected]>
>
> arm64: dts: renesas: add support for solidrun rzg2l som and hb-iiot evb
>
> This commit adds device tree support for the SolidRun RZ/G2L SoM on the
> Hummingboard IIoT carrier board, including Ethernet, eMMC, USB, and
> configurable mux states for various interfaces.
>
> Link: https://www.solid-run.com/embedded-industrial-iot/renesas-rz-family/rz-g2l-som/
> Link: https://www.solid-run.com/embedded-industrial-iot/renesas-rz-family/hummingboard-rz-series-sbcs/hummingboard-rz-g2l-iot-sbc/
>
>> diff --git a/arch/arm64/boot/dts/renesas/rzg2l-hummingboard-iiot-common.dtsi b/arch/arm64/boot/dts/renesas/rzg2l-hummingboard-iiot-common.dtsi
>> new file mode 100644
>> index 0000000000000..eaec4cca76949
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/renesas/rzg2l-hummingboard-iiot-common.dtsi
> [ ... ]
>
>> +	tca6416_u21: gpio@21 {
>> +		compatible = "ti,tcal6416";
>> +		reg = <0x21>;
> [ ... ]
>
>> +		/* Level triggered irq does not currently work well on RZ/G2L, fall-back to edge */
>> +		interrupts-extended = <&pinctrl RZG2L_GPIO(4, 0) IRQ_TYPE_EDGE_FALLING>;
> [ ... ]
>
>> +	light-sensor@44 {
>> +		compatible = "isil,isl29023";
>> +		reg = <0x44>;
>> +		/* IRQ shared between accelerometer, light-sensor and Tamper input (J5007) */
>> +		interrupts-extended = <&tca6416_u21 7 IRQ_TYPE_LEVEL_LOW>;
>> +	};
>> +
>> +	accelerometer@53 {
>> +		compatible = "adi,adxl345";
>> +		reg = <0x53>;
>> +		interrupts-extended = <&tca6416_u21 7 IRQ_TYPE_LEVEL_LOW>;
>> +		/* IRQ shared between accelerometer, light-sensor and Tamper input (J5007) */
>> +		interrupt-names = "INT1";
>> +	};
> [Severity: Medium]
> Will this edge-triggered configuration cause lost interrupts for the child
> devices sharing this expander?
>
> The parent expander (tca6416_u21) interrupt is forced to
> IRQ_TYPE_EDGE_FALLING. However, child devices like the accelerometer and
> light sensor are configured to use IRQ_TYPE_LEVEL_LOW on the shared pin 7.
>
> If one device asserts its interrupt (pulling the shared line low), the
> expander will trigger a falling edge to the SoC. If the second device
> also asserts its interrupt before the first is cleared, the shared line
> remains low even after the first device deasserts it.
>
> Because the SoC parent interrupt is strictly edge-triggered, no second
> falling edge is generated in this scenario. Could this leave the interrupt
> line stuck low permanently and drop all future interrupts from these sensors?
>
It might, it might not, for now this is the compromise.
Maybe one day rzg2l pinctrl/gpio driver will implement level-triggered irq.

I consider this not blocking.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.