diff --git a/soc/nxp/imx/imx8m/CMakeLists.txt b/soc/nxp/imx/imx8m/CMakeLists.txt index 3279ca89529..6a5b6a8b445 100644 --- a/soc/nxp/imx/imx8m/CMakeLists.txt +++ b/soc/nxp/imx/imx8m/CMakeLists.txt @@ -38,3 +38,7 @@ if(CONFIG_SOC_MIMX8ML8_A53 OR CONFIG_SOC_MIMX8MM6_A53 OR CONFIG_SOC_MIMX8MN6_A53 set(SOC_LINKER_SCRIPT ${ZEPHYR_BASE}/include/zephyr/arch/arm64/scripts/linker.ld CACHE INTERNAL "") endif() + +if(CONFIG_SOC_MIMX8MM6_M4) + add_subdirectory(m4_mini) +endif() diff --git a/soc/nxp/imx/imx8m/Kconfig b/soc/nxp/imx/imx8m/Kconfig index c9e26d52ec1..e2fdb4a37c5 100644 --- a/soc/nxp/imx/imx8m/Kconfig +++ b/soc/nxp/imx/imx8m/Kconfig @@ -9,6 +9,17 @@ config SOC_MIMX8MM6_A53 select HAS_MCUX_CCM if CLOCK_CONTROL select HAS_MCUX_IOMUXC if PINCTRL +config SOC_MIMX8MM6_M4 + select ARM + select CPU_CORTEX_M4 + select CPU_HAS_FPU + select CPU_HAS_ARM_MPU + select HAS_MCUX + select HAS_MCUX_CCM + select HAS_MCUX_RDC + select HAS_MCUX_IGPIO + select HAS_MCUX_IOMUXC + config SOC_MIMX8ML8_A53 select ARM64 select CPU_CORTEX_A53 diff --git a/soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/Kconfig.defconfig.series b/soc/nxp/imx/imx8m/Kconfig.defconfig.mimx8mm.m4 similarity index 55% rename from soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/Kconfig.defconfig.series rename to soc/nxp/imx/imx8m/Kconfig.defconfig.mimx8mm.m4 index 4bb0ea3b1d6..02f068af04f 100644 --- a/soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/Kconfig.defconfig.series +++ b/soc/nxp/imx/imx8m/Kconfig.defconfig.mimx8mm.m4 @@ -1,12 +1,18 @@ -# i.MX8MM M4 SoC series defconfig +# MIMX8MM6 M4 SoC defconfig # Copyright (c) 2020, Manivannan Sadhasivam +# Copyright 2024 NXP # SPDX-License-Identifier: Apache-2.0 -if SOC_SERIES_IMX8MM_M4 +if SOC_MIMX8MM6_M4 -config SOC_SERIES - default "mimx8mm6_m4" +config SYS_CLOCK_HW_CYCLES_PER_SEC + int + default 400000000 + +config IPM_IMX + default y + depends on IPM config NUM_IRQS int @@ -17,6 +23,4 @@ config PINCTRL_IMX default y if HAS_MCUX_IOMUXC depends on PINCTRL -source "soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/Kconfig.defconfig.mimx8mm6_m4" - -endif # SOC_SERIES_IMX8MM_M4 +endif # SOC_MIMX8MM6_M4 diff --git a/soc/nxp/imx/imx8m/Kconfig.soc b/soc/nxp/imx/imx8m/Kconfig.soc index 9717acd6ee6..01d475f936d 100644 --- a/soc/nxp/imx/imx8m/Kconfig.soc +++ b/soc/nxp/imx/imx8m/Kconfig.soc @@ -22,6 +22,12 @@ config SOC_MIMX8MM6_A53 help NXP i.MX8MM A53 +config SOC_MIMX8MM6_M4 + bool + select SOC_MIMX8MM6 + help + NXP i.MX8MM M4 + config SOC_MIMX8MP bool select SOC_SERIES_IMX8M diff --git a/soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/CMakeLists.txt b/soc/nxp/imx/imx8m/m4_mini/CMakeLists.txt similarity index 88% rename from soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/CMakeLists.txt rename to soc/nxp/imx/imx8m/m4_mini/CMakeLists.txt index ef0ba73b159..44a0caa5c78 100644 --- a/soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/CMakeLists.txt +++ b/soc/nxp/imx/imx8m/m4_mini/CMakeLists.txt @@ -1,5 +1,6 @@ # # Copyright (c) 2020, Manivannan Sadhasivam +# Copyright 2024 NXP # # SPDX-License-Identifier: Apache-2.0 # @@ -8,6 +9,8 @@ zephyr_sources( soc.c ) +zephyr_include_directories(.) + if(CONFIG_OPENAMP_RSC_TABLE) zephyr_linker_section(NAME .resource_table GROUP ROM_REGION NOINPUT) zephyr_linker_section_configure(SECTION .resource_table KEEP INPUT ".resource_table*") diff --git a/soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/linker.ld b/soc/nxp/imx/imx8m/m4_mini/linker.ld similarity index 100% rename from soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/linker.ld rename to soc/nxp/imx/imx8m/m4_mini/linker.ld diff --git a/soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/pinctrl_soc.h b/soc/nxp/imx/imx8m/m4_mini/pinctrl_soc.h similarity index 100% rename from soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/pinctrl_soc.h rename to soc/nxp/imx/imx8m/m4_mini/pinctrl_soc.h diff --git a/soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/soc.c b/soc/nxp/imx/imx8m/m4_mini/soc.c similarity index 100% rename from soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/soc.c rename to soc/nxp/imx/imx8m/m4_mini/soc.c diff --git a/soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/soc.h b/soc/nxp/imx/imx8m/m4_mini/soc.h similarity index 100% rename from soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/soc.h rename to soc/nxp/imx/imx8m/m4_mini/soc.h diff --git a/soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/Kconfig.defconfig.mimx8mm6_m4 b/soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/Kconfig.defconfig.mimx8mm6_m4 deleted file mode 100644 index 70e75a6bfce..00000000000 --- a/soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/Kconfig.defconfig.mimx8mm6_m4 +++ /dev/null @@ -1,20 +0,0 @@ -# MIMX8MM6 SoC defconfig - -# Copyright (c) 2020, Manivannan Sadhasivam -# SPDX-License-Identifier: Apache-2.0 - -if SOC_MIMX8MM6 - -config SOC - string - default "mimx8mm6" - -config SYS_CLOCK_HW_CYCLES_PER_SEC - int - default 400000000 - -config IPM_IMX - default y - depends on IPM - -endif # SOC_MIMX8MM6 diff --git a/soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/Kconfig.series b/soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/Kconfig.series deleted file mode 100644 index f860a7fbd26..00000000000 --- a/soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/Kconfig.series +++ /dev/null @@ -1,14 +0,0 @@ -# i.MX8MM M4 core series - -# Copyright (c) 2020, Manivannan Sadhasivam -# SPDX-License-Identifier: Apache-2.0 - -config SOC_SERIES_IMX8MM_M4 - bool "i.MX8MM M4 Core Series" - select ARM - select CPU_CORTEX_M4 - select SOC_FAMILY_IMX - select CPU_HAS_FPU - select CPU_HAS_ARM_MPU - help - Enable support for i.MX8MM M4 MCU series diff --git a/soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/Kconfig.soc b/soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/Kconfig.soc deleted file mode 100644 index 94d41bb544a..00000000000 --- a/soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/Kconfig.soc +++ /dev/null @@ -1,33 +0,0 @@ -# i.MX8MM M4 SoC series - -# Copyright (c) 2020, Manivannan Sadhasivam -# SPDX-License-Identifier: Apache-2.0 - -choice -prompt "i.MX8MM M4 Selection" -depends on SOC_SERIES_IMX8MM_M4 - -config SOC_MIMX8MM6 - bool "SOC_MIMX8MM6" - select HAS_MCUX - select HAS_MCUX_CCM - select HAS_MCUX_RDC - select HAS_MCUX_IGPIO - select HAS_MCUX_IOMUXC - -endchoice - -if SOC_SERIES_IMX8MM_M4 - -config SOC_PART_NUMBER_MIMX8MM6DVTLZ - bool - -config SOC_PART_NUMBER_IMX8MM_M4 - string - default "MIMX8MM6DVTLZ" if SOC_PART_NUMBER_MIMX8MM6DVTLZ - help - This string holds the full part number of the SoC. It is a hidden option - that you should not set directly. The part number selection choice defines - the default value for this string. - -endif # SOC_SERIES_IMX8MM_M4