[PATCH/RFT] arm64: dts: renesas: r9a09g047e57-smarc: Update CAN transceivers
From: Geert Uytterhoeven <geert+renesas@glider.be>
Date: 2026-08-25 14:54:24
Also in:
linux-devicetree, linux-renesas-soc
Subsystem:
arm/risc-v/renesas architecture, the rest · Maintainers:
Geert Uytterhoeven, Magnus Damm, Linus Torvalds
The dual-channel TCAN1046V-Q1 CAN Transceiver on the RZ/G3E SMARC EVK is
currently modelled as two TCAN1042 instances. Improve hardware
description by describing the actual transceiver.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
Compile-tested only due to lack of hardware.
At least the TI AM68 SK DTS should be updated, too.
There may be others ("git grep -wc ti,tcan1042 | grep -v :1$").
---
.../boot/dts/renesas/r9a09g047e57-smarc.dts | 25 +++++++++++--------
.../boot/dts/renesas/renesas-smarc2.dtsi | 13 +++-------
2 files changed, 17 insertions(+), 21 deletions(-)
diff --git a/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts b/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts
index 469a6282b2a30c91..14f5834082fa500e 100644
--- a/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts
+++ b/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts@@ -112,7 +112,7 @@ &canfd { channel1 { status = "okay"; #if (!SW_LCD_EN) && (SW_GPIO9_CAN1_STB) - phys = <&can_transceiver1>; + phys = <&can_transceiver 1>; #endif }; #endif
@@ -121,22 +121,25 @@ channel1 { channel4 { status = "okay"; #if (SW_GPIO8_CAN0_STB) - phys = <&can_transceiver0>; + phys = <&can_transceiver 0>; #endif }; #endif }; -#if (!SW_LCD_EN) && (SW_GPIO8_CAN0_STB) -&can_transceiver0 { - standby-gpios = <&pinctrl RZG3E_GPIO(5, 4) GPIO_ACTIVE_HIGH>; - status = "okay"; -}; +#if (!SW_LCD_EN) && (SW_GPIO8_CAN0_STB || SW_GPIO9_CAN1_STB) +&can_transceiver { + standby-gpios = +#if (SW_GPIO8_CAN0_STB) + <&pinctrl RZG3E_GPIO(5, 4) GPIO_ACTIVE_HIGH>, +#else + <0>, +#endif +#if (SW_GPIO9_CAN1_STB) + <&pinctrl RZG3E_GPIO(5, 5) GPIO_ACTIVE_HIGH>; +#else + <0>; #endif - -#if (!SW_LCD_EN) && (SW_GPIO9_CAN1_STB) -&can_transceiver1 { - standby-gpios = <&pinctrl RZG3E_GPIO(5, 5) GPIO_ACTIVE_HIGH>; status = "okay"; }; #endif
diff --git a/arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi b/arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi
index 696a933af808a8eb..826a11ab93c7a253 100644
--- a/arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi
+++ b/arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi@@ -44,16 +44,9 @@ chosen { stdout-path = "serial3:115200n8"; }; - can_transceiver0: can-phy0 { - compatible = "ti,tcan1042"; - #phy-cells = <0>; - max-bitrate = <8000000>; - status = "disabled"; - }; - - can_transceiver1: can-phy1 { - compatible = "ti,tcan1042"; - #phy-cells = <0>; + can_transceiver: can-phy { + compatible = "ti,tcan1046", "nxp,tja1048"; + #phy-cells = <1>; max-bitrate = <8000000>; status = "disabled"; };
--
2.43.0