diff --git a/soc/arm/nxp_lpc/lpc55xxx/Kconfig.defconfig.lpc55S16 b/soc/arm/nxp_lpc/lpc55xxx/Kconfig.defconfig.lpc55S16 index 83fa8c7bc5b..c9f6d6f83de 100644 --- a/soc/arm/nxp_lpc/lpc55xxx/Kconfig.defconfig.lpc55S16 +++ b/soc/arm/nxp_lpc/lpc55xxx/Kconfig.defconfig.lpc55S16 @@ -24,4 +24,8 @@ config SOC_FLASH_MCUX default y depends on FLASH +config CAN_MCUX_MCAN + default y + depends on CAN + endif # SOC_LPC55S16 diff --git a/soc/arm/nxp_lpc/lpc55xxx/Kconfig.soc b/soc/arm/nxp_lpc/lpc55xxx/Kconfig.soc index 0eed944e081..3928c437107 100644 --- a/soc/arm/nxp_lpc/lpc55xxx/Kconfig.soc +++ b/soc/arm/nxp_lpc/lpc55xxx/Kconfig.soc @@ -17,6 +17,7 @@ config SOC_LPC55S16 select ARM_TRUSTZONE_M select CLOCK_CONTROL select HAS_MCUX_IAP if !TRUSTED_EXECUTION_NONSECURE + select HAS_MCUX_MCAN config SOC_LPC55S28 bool "SOC_LPC55S28 M33" diff --git a/soc/arm/nxp_lpc/lpc55xxx/soc.c b/soc/arm/nxp_lpc/lpc55xxx/soc.c index 38781715f7f..ada03977deb 100644 --- a/soc/arm/nxp_lpc/lpc55xxx/soc.c +++ b/soc/arm/nxp_lpc/lpc55xxx/soc.c @@ -175,6 +175,12 @@ DT_FOREACH_STATUS_OKAY(nxp_lpc_ctimer, CTIMER_CLOCK_SETUP) CLOCK_AttachClk(kPLL0_DIV_to_FLEXCOMM7); #endif +#if DT_NODE_HAS_COMPAT_STATUS(DT_NODELABEL(can0), nxp_lpc_mcan, okay) + CLOCK_SetClkDiv(kCLOCK_DivCanClk, 1U, false); + CLOCK_AttachClk(kMCAN_DIV_to_MCAN); + RESET_PeripheralReset(kMCAN_RST_SHIFT_RSTn); +#endif + #endif /* CONFIG_SOC_LPC55S69_CPU0 */ }