diff --git a/drivers/can/Kconfig.mcux b/drivers/can/Kconfig.mcux index a0e3e00fdda..e2ee5a8d27d 100644 --- a/drivers/can/Kconfig.mcux +++ b/drivers/can/Kconfig.mcux @@ -31,10 +31,11 @@ config CAN_MCUX_FLEXCAN_WAIT_TIMEOUT config CAN_MAX_MB int "Maximum number of message buffers for concurrent active instances" default 16 - depends on SOC_SERIES_S32K3 || SOC_SERIES_S32K1 + depends on SOC_SERIES_S32K3 || SOC_SERIES_S32K1 || SOC_SERIES_S32ZE range 1 96 if SOC_SERIES_S32K3 range 1 32 if SOC_SERIES_S32K1 && !SOC_S32K142W && !SOC_S32K144W range 1 64 if SOC_S32K142W || SOC_S32K144W + range 1 128 if SOC_SERIES_S32ZE help Defines maximum number of message buffers for concurrent active instances. @@ -47,6 +48,7 @@ config CAN_MAX_FILTER range 1 96 if SOC_SERIES_S32K3 range 1 32 if SOC_SERIES_S32K1 && !SOC_S32K142W && !SOC_S32K144W range 1 64 if SOC_S32K142W || SOC_S32K144W + range 1 128 if SOC_SERIES_S32ZE help Defines maximum number of concurrent active RX filters diff --git a/dts/arm/nxp/nxp_s32z27x_r52.dtsi b/dts/arm/nxp/nxp_s32z27x_r52.dtsi index b2bbd21b49b..bd410844e4e 100644 --- a/dts/arm/nxp/nxp_s32z27x_r52.dtsi +++ b/dts/arm/nxp/nxp_s32z27x_r52.dtsi @@ -713,5 +713,366 @@ interrupt-names = "rx_tx_mru", "error"; clocks = <&clock NXP_S32_P5_CANXL_PE_CLK>; }; + + flexcan0: can@449a0000 { + compatible = "nxp,flexcan-fd", "nxp,flexcan"; + reg = <0x449a0000 0x4000>; + clk-source = <0>; + interrupts = , + , + , + , + ; + interrupt-names = "ored", "ored_0_31_mb", "ored_32_63_mb", + "ored_64_95_mb", "ored_96_127_mb"; + clocks = <&clock NXP_S32_P3_CAN_PE_CLK>; + status = "disabled"; + }; + + flexcan1: can@449b0000 { + compatible = "nxp,flexcan-fd", "nxp,flexcan"; + reg = <0x449b0000 0x4000>; + clk-source = <0>; + interrupts = , + , + , + , + ; + interrupt-names = "ored", "ored_0_31_mb", "ored_32_63_mb", + "ored_64_95_mb", "ored_96_127_mb"; + clocks = <&clock NXP_S32_P3_CAN_PE_CLK>; + status = "disabled"; + }; + + flexcan2: can@449c0000 { + compatible = "nxp,flexcan-fd", "nxp,flexcan"; + clk-source = <0>; + reg = <0x449c0000 0x4000>; + interrupts = , + , + , + , + ; + interrupt-names = "ored", "ored_0_31_mb", "ored_32_63_mb", + "ored_64_95_mb", "ored_96_127_mb"; + clocks = <&clock NXP_S32_P3_CAN_PE_CLK>; + status = "disabled"; + }; + + flexcan3: can@449d0000 { + compatible = "nxp,flexcan-fd", "nxp,flexcan"; + clk-source = <0>; + reg = <0x449d0000 0x4000>; + interrupts = , + , + , + , + ; + interrupt-names = "ored", "ored_0_31_mb", "ored_32_63_mb", + "ored_64_95_mb", "ored_96_127_mb"; + clocks = <&clock NXP_S32_P3_CAN_PE_CLK>; + status = "disabled"; + }; + + flexcan4: can@449e0000 { + compatible = "nxp,flexcan-fd", "nxp,flexcan"; + clk-source = <0>; + reg = <0x449e0000 0x4000>; + interrupts = , + , + , + , + ; + interrupt-names = "ored", "ored_0_31_mb", "ored_32_63_mb", + "ored_64_95_mb", "ored_96_127_mb"; + clocks = <&clock NXP_S32_P3_CAN_PE_CLK>; + status = "disabled"; + }; + + flexcan5: can@449f0000 { + compatible = "nxp,flexcan-fd", "nxp,flexcan"; + clk-source = <0>; + reg = <0x449f0000 0x4000>; + interrupts = , + , + , + , + ; + interrupt-names = "ored", "ored_0_31_mb", "ored_32_63_mb", + "ored_64_95_mb", "ored_96_127_mb"; + clocks = <&clock NXP_S32_P3_CAN_PE_CLK>; + status = "disabled"; + }; + + flexcan6: can@44ba0000 { + compatible = "nxp,flexcan-fd", "nxp,flexcan"; + clk-source = <0>; + reg = <0x44ba0000 0x4000>; + interrupts = , + , + , + , + ; + interrupt-names = "ored", "ored_0_31_mb", "ored_32_63_mb", + "ored_64_95_mb", "ored_96_127_mb"; + clocks = <&clock NXP_S32_P3_CAN_PE_CLK>; + status = "disabled"; + }; + + flexcan7: can@44bb0000 { + compatible = "nxp,flexcan-fd", "nxp,flexcan"; + clk-source = <0>; + reg = <0x44bb0000 0x4000>; + interrupts = , + , + , + , + ; + interrupt-names = "ored", "ored_0_31_mb", "ored_32_63_mb", + "ored_64_95_mb", "ored_96_127_mb"; + clocks = <&clock NXP_S32_P3_CAN_PE_CLK>; + status = "disabled"; + }; + + flexcan8: can@44bc0000 { + compatible = "nxp,flexcan-fd", "nxp,flexcan"; + clk-source = <0>; + reg = <0x44bc0000 0x4000>; + interrupts = , + , + , + , + ; + interrupt-names = "ored", "ored_0_31_mb", "ored_32_63_mb", + "ored_64_95_mb", "ored_96_127_mb"; + clocks = <&clock NXP_S32_P3_CAN_PE_CLK>; + status = "disabled"; + }; + + flexcan9: can@44bd0000 { + compatible = "nxp,flexcan-fd", "nxp,flexcan"; + clk-source = <0>; + reg = <0x44bd0000 0x4000>; + interrupts = , + , + , + , + ; + interrupt-names = "ored", "ored_0_31_mb", "ored_32_63_mb", + "ored_64_95_mb", "ored_96_127_mb"; + clocks = <&clock NXP_S32_P3_CAN_PE_CLK>; + status = "disabled"; + }; + + flexcan10: can@44be0000 { + compatible = "nxp,flexcan-fd", "nxp,flexcan"; + clk-source = <0>; + reg = <0x44be0000 0x4000>; + interrupts = , + , + , + , + ; + interrupt-names = "ored", "ored_0_31_mb", "ored_32_63_mb", + "ored_64_95_mb", "ored_96_127_mb"; + clocks = <&clock NXP_S32_P3_CAN_PE_CLK>; + status = "disabled"; + }; + + flexcan11: can@44bf0000 { + compatible = "nxp,flexcan-fd", "nxp,flexcan"; + clk-source = <0>; + reg = <0x44bf0000 0x4000>; + interrupts = , + , + , + , + ; + interrupt-names = "ored", "ored_0_31_mb", "ored_32_63_mb", + "ored_64_95_mb", "ored_96_127_mb"; + clocks = <&clock NXP_S32_P3_CAN_PE_CLK>; + status = "disabled"; + }; + + flexcan12: can@44da0000 { + compatible = "nxp,flexcan-fd", "nxp,flexcan"; + clk-source = <0>; + reg = <0x44da0000 0x4000>; + interrupts = , + , + , + , + ; + interrupt-names = "ored", "ored_0_31_mb", "ored_32_63_mb", + "ored_64_95_mb", "ored_96_127_mb"; + clocks = <&clock NXP_S32_P3_CAN_PE_CLK>; + status = "disabled"; + }; + + flexcan13: can@44db0000 { + compatible = "nxp,flexcan-fd", "nxp,flexcan"; + clk-source = <0>; + reg = <0x44db0000 0x4000>; + interrupts = , + , + , + , + ; + interrupt-names = "ored", "ored_0_31_mb", "ored_32_63_mb", + "ored_64_95_mb", "ored_96_127_mb"; + clocks = <&clock NXP_S32_P3_CAN_PE_CLK>; + status = "disabled"; + }; + + flexcan14: can@44dc0000 { + compatible = "nxp,flexcan-fd", "nxp,flexcan"; + clk-source = <0>; + reg = <0x44dc0000 0x4000>; + interrupts = , + , + , + , + ; + interrupt-names = "ored", "ored_0_31_mb", "ored_32_63_mb", + "ored_64_95_mb", "ored_96_127_mb"; + clocks = <&clock NXP_S32_P3_CAN_PE_CLK>; + status = "disabled"; + }; + + flexcan15: can@44dd0000 { + compatible = "nxp,flexcan-fd", "nxp,flexcan"; + clk-source = <0>; + reg = <0x44dd0000 0x4000>; + interrupts = , + , + , + , + ; + interrupt-names = "ored", "ored_0_31_mb", "ored_32_63_mb", + "ored_64_95_mb", "ored_96_127_mb"; + clocks = <&clock NXP_S32_P3_CAN_PE_CLK>; + status = "disabled"; + }; + + flexcan16: can@44de0000 { + compatible = "nxp,flexcan-fd", "nxp,flexcan"; + clk-source = <0>; + reg = <0x44de0000 0x4000>; + interrupts = , + , + , + , + ; + interrupt-names = "ored", "ored_0_31_mb", "ored_32_63_mb", + "ored_64_95_mb", "ored_96_127_mb"; + clocks = <&clock NXP_S32_P3_CAN_PE_CLK>; + status = "disabled"; + }; + + flexcan17: can@44df0000 { + compatible = "nxp,flexcan-fd", "nxp,flexcan"; + clk-source = <0>; + reg = <0x44df0000 0x4000>; + interrupts = , + , + , + , + ; + interrupt-names = "ored", "ored_0_31_mb", "ored_32_63_mb", + "ored_64_95_mb", "ored_96_127_mb"; + clocks = <&clock NXP_S32_P3_CAN_PE_CLK>; + status = "disabled"; + }; + + flexcan18: can@44fa0000 { + compatible = "nxp,flexcan-fd", "nxp,flexcan"; + clk-source = <0>; + reg = <0x44fa0000 0x4000>; + interrupts = , + , + , + , + ; + interrupt-names = "ored", "ored_0_31_mb", "ored_32_63_mb", + "ored_64_95_mb", "ored_96_127_mb"; + clocks = <&clock NXP_S32_P3_CAN_PE_CLK>; + status = "disabled"; + }; + + flexcan19: can@44fb0000 { + compatible = "nxp,flexcan-fd", "nxp,flexcan"; + clk-source = <0>; + reg = <0x44fb0000 0x4000>; + interrupts = , + , + , + , + ; + interrupt-names = "ored", "ored_0_31_mb", "ored_32_63_mb", + "ored_64_95_mb", "ored_96_127_mb"; + clocks = <&clock NXP_S32_P3_CAN_PE_CLK>; + status = "disabled"; + }; + + flexcan20: can@44fc0000 { + compatible = "nxp,flexcan-fd", "nxp,flexcan"; + clk-source = <0>; + reg = <0x44fc0000 0x4000>; + interrupts = , + , + , + , + ; + interrupt-names = "ored", "ored_0_31_mb", "ored_32_63_mb", + "ored_64_95_mb", "ored_96_127_mb"; + clocks = <&clock NXP_S32_P3_CAN_PE_CLK>; + status = "disabled"; + }; + + flexcan21: can@44fd0000 { + compatible = "nxp,flexcan-fd", "nxp,flexcan"; + clk-source = <0>; + reg = <0x44fd0000 0x4000>; + interrupts = , + , + , + , + ; + interrupt-names = "ored", "ored_0_31_mb", "ored_32_63_mb", + "ored_64_95_mb", "ored_96_127_mb"; + clocks = <&clock NXP_S32_P3_CAN_PE_CLK>; + status = "disabled"; + }; + + flexcan22: can@44fe0000 { + compatible = "nxp,flexcan-fd", "nxp,flexcan"; + clk-source = <0>; + reg = <0x44fe0000 0x4000>; + interrupts = , + , + , + , + ; + interrupt-names = "ored", "ored_0_31_mb", "ored_32_63_mb", + "ored_64_95_mb", "ored_96_127_mb"; + clocks = <&clock NXP_S32_P3_CAN_PE_CLK>; + status = "disabled"; + }; + + flexcan23: can@44ff0000 { + compatible = "nxp,flexcan-fd", "nxp,flexcan"; + clk-source = <0>; + reg = <0x44ff0000 0x4000>; + interrupts = , + , + , + , + ; + interrupt-names = "ored", "ored_0_31_mb", "ored_32_63_mb", + "ored_64_95_mb", "ored_96_127_mb"; + clocks = <&clock NXP_S32_P3_CAN_PE_CLK>; + status = "disabled"; + }; + }; }; diff --git a/soc/nxp/s32/s32ze/Kconfig b/soc/nxp/s32/s32ze/Kconfig index 5adac36dce4..eee441df0b0 100644 --- a/soc/nxp/s32/s32ze/Kconfig +++ b/soc/nxp/s32/s32ze/Kconfig @@ -16,6 +16,7 @@ config SOC_SERIES_S32ZE select HAS_NXP_S32_HAL select HAS_MCUX select HAS_MCUX_PIT + select HAS_MCUX_FLEXCAN if SOC_SERIES_S32ZE diff --git a/west.yml b/west.yml index bacb9884a45..17cae3d98ed 100644 --- a/west.yml +++ b/west.yml @@ -198,7 +198,7 @@ manifest: groups: - hal - name: hal_nxp - revision: e8ccf3e4ad0d6ba80b468747682bde43ec97b435 + revision: e400b5dba27d9abe1403fc799d48b58fa1b1daee path: modules/hal/nxp groups: - hal