Hello @sdx111,
Please apply the following changes to remove the use of the LLCE can0 pins in Linux:
diff --git a/arch/arm64/boot/dts/freescale/s32g.dtsi b/arch/arm64/boot/dts/freescale/s32g.dtsi
index de9caffb3ca1..ff02f046676b 100644
--- a/arch/arm64/boot/dts/freescale/s32g.dtsi
+++ b/arch/arm64/boot/dts/freescale/s32g.dtsi
@@ -379,18 +379,18 @@ llce_can_logger15: llce_can_logger15 {
status = "okay";
};
- llce_can0: llce_can0 {
- compatible = "nxp,s32g-llce-can";
- mboxes = <&llce_mb S32G_LLCE_CAN_CONF_MB 0>,
- <&llce_mb S32G_LLCE_CAN_RX_MB 0>,
- <&llce_mb S32G_LLCE_CAN_TX_MB 0>;
- mbox-names = "config", "rx", "tx";
- clocks = <&clks S32G_SCMI_CLK_LLCE_CAN_PE>;
- clock-names = "can_pe";
- pinctrl-names = "default";
- pinctrl-0 = <&llce_can0_pins>;
- status = "disabled";
- };
+// llce_can0: llce_can0 {
+// compatible = "nxp,s32g-llce-can";
+// mboxes = <&llce_mb S32G_LLCE_CAN_CONF_MB 0>,
+// <&llce_mb S32G_LLCE_CAN_RX_MB 0>,
+// <&llce_mb S32G_LLCE_CAN_TX_MB 0>;
+// mbox-names = "config", "rx", "tx";
+// clocks = <&clks S32G_SCMI_CLK_LLCE_CAN_PE>;
+// clock-names = "can_pe";
+// pinctrl-names = "default";
+// pinctrl-0 = <&llce_can0_pins>;
+// status = "disabled";
+// };
llce_can1: llce_can1 {
compatible = "nxp,s32g-llce-can";
@@ -615,23 +615,23 @@ usbotg: usb@44064000 {
};
&pinctrl {
- llce_can0_pins: llce_can0_pins {
- llce_can0_grp0 {
- pinmux = <S32CC_PINMUX(43, FUNC0)>;
- input-enable;
- slew-rate = <S32CC_SLEW_208MHZ>;
- };
-
- llce_can0_grp1 {
- pinmux = <S32CC_PINMUX(44, FUNC2)>;
- output-enable;
- slew-rate = <S32CC_SLEW_208MHZ>;
- };
-
- llce_can0_grp2 {
- pinmux = <S32CC_PINMUX(745, FUNC2)>;
- };
- };
+// llce_can0_pins: llce_can0_pins {
+// llce_can0_grp0 {
+// pinmux = <S32CC_PINMUX(43, FUNC0)>;
+// input-enable;
+// slew-rate = <S32CC_SLEW_208MHZ>;
+// };
+//
+// llce_can0_grp1 {
+// pinmux = <S32CC_PINMUX(44, FUNC2)>;
+// output-enable;
+// slew-rate = <S32CC_SLEW_208MHZ>;
+// };
+//
+// llce_can0_grp2 {
+// pinmux = <S32CC_PINMUX(745, FUNC2)>;
+// };
+// };
llce_can1_pins: llce_can1_pins {
llce_can1_grp0 {
diff --git a/arch/arm64/boot/dts/freescale/s32g274a-bluebox3.dts b/arch/arm64/boot/dts/freescale/s32g274a-bluebox3.dts
index 0247b542f98b..fe93303e8ca9 100644
--- a/arch/arm64/boot/dts/freescale/s32g274a-bluebox3.dts
+++ b/arch/arm64/boot/dts/freescale/s32g274a-bluebox3.dts
@@ -91,9 +91,9 @@ &llce_boot_status {
status = "okay";
};
-&llce_can0 {
- status = "okay";
-};
+//&llce_can0 {
+// status = "okay";
+//};
&llce_can1 {
status = "okay";
diff --git a/arch/arm64/boot/dts/freescale/s32gxxxa-rdb.dtsi b/arch/arm64/boot/dts/freescale/s32gxxxa-rdb.dtsi
index afe8a5cea3e1..ada20f67f2d7 100644
--- a/arch/arm64/boot/dts/freescale/s32gxxxa-rdb.dtsi
+++ b/arch/arm64/boot/dts/freescale/s32gxxxa-rdb.dtsi
@@ -168,9 +168,9 @@ &llce_boot_status {
status = "okay";
};
-&llce_can0 {
- status = "okay";
-};
+//&llce_can0 {
+// status = "okay";
+//};
&llce_can1 {
status = "okay";
After that, if you list the llce can0 nodes and pins like below, you should not be able to see llce_can0:
root@s32g274ardb2:~# ls /sys/firmware/devicetree/base/soc/siul2@4009c000/siul2-pinctrl@4009c240/llce_can0_pins
ls: cannot access '/sys/firmware/devicetree/base/soc/siul2@4009c000/siul2-pinctrl@4009c240/llce_can0_pins': No such file or directory
root@s32g274ardb2:~# ls /sys/firmware/devicetree/base/soc/llce@43a00000/llce_can0/
ls: cannot access '/sys/firmware/devicetree/base/soc/llce@43a00000/llce_can0/': No such file or directory
In contrast, when having those nodes, listing as above shows the device tree subnodes.
Let me know if you are able to use the CAN0 in the M7 after that change.