From 25433f14141d05b9a3614c40dd1b6cb767ab45b5 Mon Sep 17 00:00:00 2001 From: Henrik Brix Andersen Date: Mon, 31 May 2021 22:22:11 +0200 Subject: [PATCH] soc: arm: nxp: lpc55xxx: add MCAN support Add support for the NXP LPC MCAN CAN-FD controller. Signed-off-by: Henrik Brix Andersen --- soc/arm/nxp_lpc/lpc55xxx/Kconfig.defconfig.lpc55S16 | 4 ++++ soc/arm/nxp_lpc/lpc55xxx/Kconfig.soc | 1 + soc/arm/nxp_lpc/lpc55xxx/soc.c | 6 ++++++ 3 files changed, 11 insertions(+) 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 */ }