Browse Source

soc: nxp: imx8mm: port iMX8MM M4 core to HVMv2

Port iMX8MM M4 core of iMX8MM SOC  to HVMv2. The A53 core has already
been ported, so this port adds to that SOC definition.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
collab-hwm
Daniel DeGrasse 1 year ago committed by Jamie
parent
commit
f82c961a46
  1. 4
      soc/nxp/imx/imx8m/CMakeLists.txt
  2. 11
      soc/nxp/imx/imx8m/Kconfig
  3. 18
      soc/nxp/imx/imx8m/Kconfig.defconfig.mimx8mm.m4
  4. 6
      soc/nxp/imx/imx8m/Kconfig.soc
  5. 3
      soc/nxp/imx/imx8m/m4_mini/CMakeLists.txt
  6. 0
      soc/nxp/imx/imx8m/m4_mini/linker.ld
  7. 0
      soc/nxp/imx/imx8m/m4_mini/pinctrl_soc.h
  8. 0
      soc/nxp/imx/imx8m/m4_mini/soc.c
  9. 0
      soc/nxp/imx/imx8m/m4_mini/soc.h
  10. 20
      soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/Kconfig.defconfig.mimx8mm6_m4
  11. 14
      soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/Kconfig.series
  12. 33
      soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/Kconfig.soc

4
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 @@ -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()

11
soc/nxp/imx/imx8m/Kconfig

@ -9,6 +9,17 @@ config SOC_MIMX8MM6_A53 @@ -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

18
soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/Kconfig.defconfig.series → soc/nxp/imx/imx8m/Kconfig.defconfig.mimx8mm.m4

@ -1,12 +1,18 @@ @@ -1,12 +1,18 @@
# i.MX8MM M4 SoC series defconfig
# MIMX8MM6 M4 SoC defconfig
# Copyright (c) 2020, Manivannan Sadhasivam <mani@kernel.org>
# 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 @@ -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

6
soc/nxp/imx/imx8m/Kconfig.soc

@ -22,6 +22,12 @@ config SOC_MIMX8MM6_A53 @@ -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

3
soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/CMakeLists.txt → soc/nxp/imx/imx8m/m4_mini/CMakeLists.txt

@ -1,5 +1,6 @@ @@ -1,5 +1,6 @@
#
# Copyright (c) 2020, Manivannan Sadhasivam <mani@kernel.org>
# Copyright 2024 NXP
#
# SPDX-License-Identifier: Apache-2.0
#
@ -8,6 +9,8 @@ zephyr_sources( @@ -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*")

0
soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/linker.ld → soc/nxp/imx/imx8m/m4_mini/linker.ld

0
soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/pinctrl_soc.h → soc/nxp/imx/imx8m/m4_mini/pinctrl_soc.h

0
soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/soc.c → soc/nxp/imx/imx8m/m4_mini/soc.c

0
soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/soc.h → soc/nxp/imx/imx8m/m4_mini/soc.h

20
soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/Kconfig.defconfig.mimx8mm6_m4

@ -1,20 +0,0 @@ @@ -1,20 +0,0 @@
# MIMX8MM6 SoC defconfig
# Copyright (c) 2020, Manivannan Sadhasivam <mani@kernel.org>
# 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

14
soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/Kconfig.series

@ -1,14 +0,0 @@ @@ -1,14 +0,0 @@
# i.MX8MM M4 core series
# Copyright (c) 2020, Manivannan Sadhasivam <mani@kernel.org>
# 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

33
soc/soc_legacy/arm/nxp_imx/mimx8mm6_m4/Kconfig.soc

@ -1,33 +0,0 @@ @@ -1,33 +0,0 @@
# i.MX8MM M4 SoC series
# Copyright (c) 2020, Manivannan Sadhasivam <mani@kernel.org>
# 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
Loading…
Cancel
Save