soc: xtensa: imx8: Split generic i.MX8 SoC into i.MX8QXP and i.MX8QM

This commit attempts to split the generic i.MX8 SoC into its
QXP and QM variants. As things are now, the i.MX8 SoC doesn't
have any NXP HAL files to back it up. As a consequence, the
native Zephyr drivers cannot be used.

To solve this issue, the generic i.MX8 has been split into
i.MX8QXP and i.MX8QM, each of them having different NXP HAL
files.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
This commit is contained in:
Laurentiu Mihalcea 2023-09-22 10:18:13 +03:00 committed by Carles Cufí
commit a0ecc05cdf
10 changed files with 83 additions and 6 deletions

View file

@ -5,3 +5,5 @@
config BOARD_NXP_ADSP_IMX8
bool "NXP ADSP i.MX8"
depends on SOC_SERIES_NXP_IMX8
select SOC_PART_NUMBER_MIMX8QM6AVUFF

View file

@ -3,6 +3,7 @@
CONFIG_MAIN_STACK_SIZE=3072
CONFIG_SOC_SERIES_NXP_IMX8=y
CONFIG_SOC_MIMX8QM_ADSP=y
CONFIG_BOARD_NXP_ADSP_IMX8=y
CONFIG_GEN_ISR_TABLES=y

View file

@ -5,3 +5,5 @@
config BOARD_NXP_ADSP_IMX8X
bool "NXP ADSP i.MX8X"
depends on SOC_SERIES_NXP_IMX8
select SOC_PART_NUMBER_MIMX8QX6AVLFZ

View file

@ -3,6 +3,7 @@
CONFIG_MAIN_STACK_SIZE=3072
CONFIG_SOC_SERIES_NXP_IMX8=y
CONFIG_SOC_MIMX8QXP_ADSP=y
CONFIG_BOARD_NXP_ADSP_IMX8X=y
CONFIG_GEN_ISR_TABLES=y

View file

@ -0,0 +1,9 @@
# Copyright 2023 NXP
# SPDX-License-Identifier: Apache-2.0
if SOC_MIMX8QM_ADSP
config SOC
default "mimx8qm6"
endif # SOC_MIMX8QM_ADSP

View file

@ -0,0 +1,9 @@
# Copyright 2023 NXP
# SPDX-License-Identifier: Apache-2.0
if SOC_MIMX8QXP_ADSP
config SOC
default "mimx8qx6"
endif # SOC_MIMX8QXP_ADSP

View file

@ -11,10 +11,6 @@ config SOC_TOOLCHAIN_NAME
string
default "nxp_imx_adsp"
config SOC
string
default "nxp_imx8"
config SYS_CLOCK_HW_CYCLES_PER_SEC
default 666000000 if XTENSA_TIMER
@ -27,4 +23,6 @@ config DYNAMIC_INTERRUPTS
config LOG
default y
source "soc/xtensa/nxp_adsp/imx8/Kconfig.defconfig.imx8q*"
endif # SOC_SERIES_NXP_IMX8

View file

@ -3,9 +3,26 @@
choice
prompt "NXP i.MX SoC Selection"
depends on SOC_SERIES_NXP_IMX8
config SOC_NXP_IMX8
bool "i.MX8 SoC"
config SOC_MIMX8QM_ADSP
bool "NXP i.MX8QM Audio DSP"
depends on SOC_SERIES_NXP_IMX8
select HAS_MCUX
config SOC_MIMX8QXP_ADSP
bool "NXP i.MX8QXP Audio DSP"
depends on SOC_SERIES_NXP_IMX8
select HAS_MCUX
endchoice
if SOC_SERIES_NXP_IMX8
config SOC_PART_NUMBER
string
default SOC_PART_NUMBER_MIMX8QM_DSP if SOC_MIMX8QM_ADSP
default SOC_PART_NUMBER_MIMX8QXP_DSP if SOC_MIMX8QXP_ADSP
source "soc/xtensa/nxp_adsp/imx8/Kconfig.soc.imx8q*"
endif # SOC_SERIES_NXP_IMX8

View file

@ -0,0 +1,17 @@
# Copyright 2023 NXP
# SPDX-License-Identifier: Apache-2.0
if SOC_MIMX8QM_ADSP
config SOC_PART_NUMBER_MIMX8QM6AVUFF
bool
config SOC_PART_NUMBER_MIMX8QM_DSP
string
default "MIMX8QM6AVUFF_dsp" if SOC_PART_NUMBER_MIMX8QM6AVUFF
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_MIMX8QM_ADSP

View file

@ -0,0 +1,21 @@
# Copyright 2023 NXP
# SPDX-License-Identifier: Apache-2.0
if SOC_MIMX8QXP_ADSP
config SOC_PART_NUMBER_MIMX8QX6AVLFZ
bool
config SOC_PART_NUMBER_MIMX8QX6CVLDZ
bool
config SOC_PART_NUMBER_MIMX8QXP_DSP
string
default "MIMX8QX6AVLFZ_dsp" if SOC_PART_NUMBER_MIMX8QX6AVLFZ
default "MIMX8QX6CVLDZ_dsp" if SOC_PART_NUMBER_MIMX8QX6CVLDZ
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_MIMX8QXP_ADSP