From: sashiko-bot@kernel.org
To: "Marek Vasut" <marek.vasut+renesas@mailbox.org>
Cc: robh@kernel.org, wsa+renesas@sang-engineering.com,
conor+dt@kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH] arm64: dts: renesas: sparrow-hawk: Add overlay for WaveShare 2CH CANFD HAT
Date: Sat, 08 Aug 2026 03:08:11 +0000 [thread overview]
Message-ID: <20260808030812.0B0FB1F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260808025724.131943-1-marek.vasut+renesas@mailbox.org>
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] Potential CAN controller freeze due to edge-triggered interrupt configuration for active-low level-sensitive INT pin.
- [Low] Devicetree schema violation with non-standard node names for clock and SPI nodes.
--
--- Patch [1]: [PATCH] arm64: dts: renesas: sparrow-hawk: Add overlay for WaveShare 2CH CANFD HAT ---
commit b5cd8b12c94510c91e67da4257339818760852d2
Author: Marek Vasut <marek.vasut+renesas@mailbox.org>
arm64: dts: renesas: sparrow-hawk: Add overlay for WaveShare 2CH CANFD HAT
Add a DT overlay to bind the WaveShare 2-Channel Isolated CAN FD Expansion
HAT on the Retronix R-Car V4H Sparrow Hawk board.
> diff --git a/arch/arm64/boot/dts/renesas/r8a779g3-sparrow-hawk-ws-2ch-canfd.dtso b/arch/arm64/boot/dts/renesas/r8a779g3-sparrow-hawk-ws-2ch-canfd.dtso
> new file mode 100644
> index 0000000000000..de72680efa7c6
> --- /dev/null
> +++ b/arch/arm64/boot/dts/renesas/r8a779g3-sparrow-hawk-ws-2ch-canfd.dtso
[ ... ]
> +&{/} {
> + /* Fixed clock dedicated to SPI CAN on 2-CH CAN FD HAT */
> + clk_can0: clk-ws-2ch-canfd0 {
[Severity: Low]
Does this node name violate the fixed-clock devicetree bindings schema?
The schema typically mandates node names matching the pattern clock-* to pass
dtbs_check validation.
> + compatible = "fixed-clock";
> + #clock-cells = <0>;
> + clock-frequency = <40000000>;
> + };
> +
> + clk_can1: clk-ws-2ch-canfd1 {
> + compatible = "fixed-clock";
> + #clock-cells = <0>;
> + clock-frequency = <40000000>;
> + };
> +
> + /*
> + * SPI_1 is operated as GPIO SPI, because MSIOF5 can not be
> + * muxed on the pins allocated for SPI_1 on this CANFD HAT.
> + */
> + spi-ws-2ch-canfd { /* SPI_1 */
[Severity: Low]
Is this non-generic node name likely to trigger devicetree validation
warnings? Standard devicetree practices recommend using the generic spi node
name rather than spi-ws-2ch-canfd.
> + #address-cells = <1>;
> + #size-cells = <0>;
> + compatible = "spi-gpio";
> + sck-gpios = <&gpio0 10 0>; /* CN7 pin 40 */
> + miso-gpios = <&gpio0 9 0>; /* CN7 pin 35 */
> + mosi-gpios = <&gpio0 12 0>; /* CN7 pin 38 */
> + cs-gpios = <&gpio2 13 GPIO_ACTIVE_LOW>; /* CN7 pin 12 */
> + num-chipselects = <1>;
> +
> + can@0 {
> + compatible = "microchip,mcp2518fd";
> + clocks = <&clk_can1>;
> + /* CN7 pin 18 */
> + interrupts-extended = <&gpio1 25 IRQ_TYPE_EDGE_FALLING>;
[Severity: High]
Can configuring this interrupt as IRQ_TYPE_EDGE_FALLING cause the CAN
controller to freeze?
The MCP2518FD INT pin is active-low and level-sensitive. If a new interrupt
condition occurs while the INT pin is already asserted low, a new falling
edge might not be generated, causing the new interrupt to be permanently
missed. Should this use IRQ_TYPE_LEVEL_LOW instead?
> + reg = <0>;
> + spi-max-frequency = <20000000>;
> + };
> + };
> +};
> +
> +&msiof0 { /* SPI_0 */
> + #address-cells = <1>;
> + #size-cells = <0>;
> + pinctrl-0 = <&msiof0_pins>;
> + pinctrl-names = "default";
> + status = "okay";
> +
> + /*
> + * Native MSIOF chipselect does not work with MCP2518FD
> + * because MCP251xFD driver needs to keep the chipselect
> + * line asserted between transfers. This requirement is
> + * fulfilled only by using GPIO chipselect.
> + */
> + cs-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
> +
> + can@0 {
> + compatible = "microchip,mcp2518fd";
> + clocks = <&clk_can0>;
> + interrupts-extended = <&gpio1 26 IRQ_TYPE_EDGE_FALLING>;
[Severity: High]
Similarly, can this edge-triggered configuration for the native MSIOF CAN
controller lead to missed interrupts if the active-low level-sensitive INT
pin is already asserted when a new interrupt arrives?
> + reg = <0>;
> + spi-max-frequency = <20000000>;
> + };
> +};
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260808025724.131943-1-marek.vasut+renesas@mailbox.org?part=1
prev parent reply other threads:[~2026-08-08 3:08 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-08 2:56 [PATCH] arm64: dts: renesas: sparrow-hawk: Add overlay for WaveShare 2CH CANFD HAT Marek Vasut
2026-08-08 3:08 ` sashiko-bot [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260808030812.0B0FB1F000E9@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=marek.vasut+renesas@mailbox.org \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=wsa+renesas@sang-engineering.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.