diff --git a/soc/nxp/imx/imx9/CMakeLists.txt b/soc/nxp/imx/imx9/CMakeLists.txt index dc7d1917a16..bc4ddc2f9ac 100644 --- a/soc/nxp/imx/imx9/CMakeLists.txt +++ b/soc/nxp/imx/imx9/CMakeLists.txt @@ -7,4 +7,8 @@ if(CONFIG_SOC_MIMX9352_A55) zephyr_sources_ifdef(CONFIG_ARM_MMU a55/mmu_regions.c) set(SOC_LINKER_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/a55/linker.ld CACHE INTERNAL "") +elseif(CONFIG_SOC_MIMX9352_M33) + zephyr_include_directories(.) + zephyr_include_directories(m33) + set(SOC_LINKER_SCRIPT ${ZEPHYR_BASE}/include/zephyr/arch/arm/cortex_m/scripts/linker.ld CACHE INTERNAL "") endif() diff --git a/soc/nxp/imx/imx9/Kconfig b/soc/nxp/imx/imx9/Kconfig index a8e51c4ee7d..87de1fbcf92 100644 --- a/soc/nxp/imx/imx9/Kconfig +++ b/soc/nxp/imx/imx9/Kconfig @@ -10,5 +10,18 @@ config SOC_MIMX9352_A55 select HAS_MCUX_IOMUXC if PINCTRL select HAS_MCUX_CACHE +config SOC_MIMX9352_M33 + select ARM + select CPU_CORTEX_M33 + select CPU_HAS_FPU + select CPU_HAS_ARM_MPU + select CPU_HAS_ARM_SAU + select ARM_MPU + select ARMV8_M_DSP + select HAS_MCUX + select HAS_MCUX_IOMUXC if PINCTRL + select HAS_MCUX_CACHE + config MCUX_CORE_SUFFIX default "_ca55" if SOC_MIMX9352_A55 + default "_cm33" if SOC_MIMX9352_M33 diff --git a/soc/nxp/imx/imx9/Kconfig.defconfig.mimx93.m33 b/soc/nxp/imx/imx9/Kconfig.defconfig.mimx93.m33 new file mode 100644 index 00000000000..977b74833a5 --- /dev/null +++ b/soc/nxp/imx/imx9/Kconfig.defconfig.mimx93.m33 @@ -0,0 +1,22 @@ +# Copyright 2024 NXP +# SPDX-License-Identifier: Apache-2.0 + +if SOC_MIMX9352_M33 + +DT_CHOSEN_Z_FLASH := zephyr,flash + +config FLASH_SIZE + default $(dt_chosen_reg_size_int,$(DT_CHOSEN_Z_FLASH),0,K) + +config FLASH_BASE_ADDRESS + default $(dt_chosen_reg_addr_hex,$(DT_CHOSEN_Z_FLASH)) + +config NUM_IRQS + int + default 268 + +config SYS_CLOCK_HW_CYCLES_PER_SEC + int + default 200000000 + +endif diff --git a/soc/nxp/imx/imx9/Kconfig.soc b/soc/nxp/imx/imx9/Kconfig.soc index 9f2c515c7a4..8742c2f30d6 100644 --- a/soc/nxp/imx/imx9/Kconfig.soc +++ b/soc/nxp/imx/imx9/Kconfig.soc @@ -15,6 +15,12 @@ config SOC_MIMX9352_A55 help NXP i.MX93 A55 +config SOC_MIMX9352_M33 + bool + select SOC_MIMX9352 + help + NXP i.MX93 M33 + config SOC_PART_NUMBER_MIMX9352CVVXM bool diff --git a/soc/nxp/imx/imx9/m33/soc.h b/soc/nxp/imx/imx9/m33/soc.h new file mode 100644 index 00000000000..dd04a57233e --- /dev/null +++ b/soc/nxp/imx/imx9/m33/soc.h @@ -0,0 +1,12 @@ +/* + * Copyright 2024 NXP + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#ifndef _SOC_NXP_IMX_IMX93_M33_SOC_H_ +#define _SOC_NXP_IMX_IMX93_M33_SOC_H_ + +#include + +#endif /* _SOC_NXP_IMX_IMX93_M33_SOC_H_ */