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.