diff --git a/boards/nxp/s32z2xxdc2/doc/index.rst b/boards/nxp/s32z2xxdc2/doc/index.rst index 889e5dedcd6..4efafdf0ffd 100644 --- a/boards/nxp/s32z2xxdc2/doc/index.rst +++ b/boards/nxp/s32z2xxdc2/doc/index.rst @@ -53,6 +53,8 @@ The boards support the following hardware features: +-----------+------------+-------------------------------------+ | CANEXCEL | on-chip | can | +-----------+------------+-------------------------------------+ +| FLEXCAN | on-chip | can | ++-----------+------------+-------------------------------------+ Other hardware features are not currently supported by the port. @@ -129,15 +131,24 @@ single Virtual SI (VSI). The rest of the VSI's shall be assigned to different cores of the system. Refer to :ref:`nxp_s32_netc-samples` to learn how to configure the Ethernet network controller. -Controller Area Network (CAN) -============================= +Controller Area Network +======================= + +CANEXCEL +-------- + +CANEXCEL supports CAN Classic (CAN 2.0) and CAN FD modes. Remote transmission +request is not supported. + +Note that this board does not currently come with CAN transceivers installed for +the CANEXCEL ports. To facilitate external traffic, you will need to add a CAN +transceiver. Any transceiver pin-compatible with CAN 2.0 and CAN FD protocols +can be used. -Currently, the CANXL transceiver is not populated in this board. So CAN transceiver -connection is required for running external traffic. We can use any CAN transceiver, -which supports CAN 2.0 and CAN FD protocol. +FlexCAN +------- -CAN driver supports classic (CAN 2.0) and CAN FD mode. Remote transmission request is -not supported as this feature is not available on NXP S32 CANXL HAL. +FlexCAN supports CAN Classic (CAN 2.0) and CAN FD modes. Programming and Debugging ************************* diff --git a/boards/nxp/s32z2xxdc2/s32z2xxdc2_s32z270.dtsi b/boards/nxp/s32z2xxdc2/s32z2xxdc2_s32z270.dtsi index 8e0424bb9c3..6cd0c45a8bd 100644 --- a/boards/nxp/s32z2xxdc2/s32z2xxdc2_s32z270.dtsi +++ b/boards/nxp/s32z2xxdc2/s32z2xxdc2_s32z270.dtsi @@ -40,3 +40,13 @@ pinctrl-0 = <&canxl1_default>; pinctrl-names = "default"; }; + +&flexcan0 { + pinctrl-0 = <&flexcan0_default>; + pinctrl-names = "default"; +}; + +&flexcan1 { + pinctrl-0 = <&flexcan1_default>; + pinctrl-names = "default"; +}; diff --git a/boards/nxp/s32z2xxdc2/s32z2xxdc2_s32z270_pinctrl.dtsi b/boards/nxp/s32z2xxdc2/s32z2xxdc2_s32z270_pinctrl.dtsi index 78ac6ef5534..291e92e4831 100644 --- a/boards/nxp/s32z2xxdc2/s32z2xxdc2_s32z270_pinctrl.dtsi +++ b/boards/nxp/s32z2xxdc2/s32z2xxdc2_s32z270_pinctrl.dtsi @@ -85,4 +85,26 @@ output-enable; }; }; + + flexcan0_default: flexcan0_default { + group1 { + pinmux = ; + input-enable; + }; + group2 { + pinmux = ; + output-enable; + }; + }; + + flexcan1_default: flexcan1_default { + group1 { + pinmux = ; + input-enable; + }; + group2 { + pinmux = ; + output-enable; + }; + }; }; diff --git a/boards/nxp/s32z2xxdc2/s32z2xxdc2_s32z270_rtu1.dts b/boards/nxp/s32z2xxdc2/s32z2xxdc2_s32z270_rtu1.dts index 7d51ceee155..4aadfbebb1d 100644 --- a/boards/nxp/s32z2xxdc2/s32z2xxdc2_s32z270_rtu1.dts +++ b/boards/nxp/s32z2xxdc2/s32z2xxdc2_s32z270_rtu1.dts @@ -16,7 +16,7 @@ zephyr,sram = &sram1; zephyr,console = &uart0; zephyr,shell-uart = &uart0; - zephyr,canbus = &canxl0; + zephyr,canbus = &flexcan0; }; aliases { @@ -33,3 +33,7 @@ mboxes = <&mru4 0>; mbox-names = "rx"; }; + +&flexcan0 { + status = "okay"; +};