[PATCH/RFT] arm64: dts: renesas: r9a09g047e57-smarc: Update CAN transceivers

Geert Uytterhoeven geert+renesas at glider.be
Tue Aug 25 07:54:05 PDT 2026


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 at 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




More information about the linux-arm-kernel mailing list