soc: mcxn547: add support for MCXN547
Add MCXN547 support Signed-off-by: Alexandre Rey <alexandre.rey@swisstiming.com>
This commit is contained in:
parent
713fc17a26
commit
59a23b57f6
4 changed files with 49 additions and 7 deletions
|
@ -24,6 +24,19 @@ config SOC_MCXN947_CPU0
|
||||||
config SOC_MCXN947_CPU1
|
config SOC_MCXN947_CPU1
|
||||||
select CPU_CORTEX_M33
|
select CPU_CORTEX_M33
|
||||||
|
|
||||||
|
config SOC_MCXN547
|
||||||
|
select CPU_CORTEX_M33
|
||||||
|
select CPU_HAS_ARM_SAU
|
||||||
|
select CPU_HAS_ARM_MPU
|
||||||
|
select CPU_HAS_FPU
|
||||||
|
select ARMV8_M_DSP
|
||||||
|
select SOC_RESET_HOOK
|
||||||
|
select ARM_TRUSTZONE_M
|
||||||
|
select HAS_MCUX_CACHE
|
||||||
|
|
||||||
|
config SOC_MCXN547_CPU1
|
||||||
|
select CPU_CORTEX_M33
|
||||||
|
|
||||||
config SOC_MCXN236
|
config SOC_MCXN236
|
||||||
select CPU_CORTEX_M33
|
select CPU_CORTEX_M33
|
||||||
select CPU_HAS_ARM_SAU
|
select CPU_HAS_ARM_SAU
|
||||||
|
@ -35,9 +48,10 @@ config SOC_MCXN236
|
||||||
|
|
||||||
if SOC_SERIES_MCXN
|
if SOC_SERIES_MCXN
|
||||||
|
|
||||||
if SOC_MCXN947
|
if SOC_MCXN947 || SOC_MCXN547
|
||||||
|
|
||||||
config SECOND_CORE_MCUX
|
config SECOND_CORE_MCUX
|
||||||
bool "MCXN94X's second core"
|
bool "MCXNX4X's second core"
|
||||||
depends on HAS_MCUX
|
depends on HAS_MCUX
|
||||||
help
|
help
|
||||||
Indicates the second core will be enabled, and the part will run
|
Indicates the second core will be enabled, and the part will run
|
||||||
|
@ -49,11 +63,12 @@ config FLASH_DISABLE_CACHE64
|
||||||
Disable cache64 cache.
|
Disable cache64 cache.
|
||||||
|
|
||||||
config MCUX_CORE_SUFFIX
|
config MCUX_CORE_SUFFIX
|
||||||
default "_cm33_core0" if SOC_MCXN947_CPU0
|
default "_cm33_core0" if SOC_MCXN947_CPU0 || SOC_MCXN547_CPU0
|
||||||
default "_cm33_core1" if SOC_MCXN947_CPU1
|
default "_cm33_core1" if SOC_MCXN947_CPU1 || SOC_MCXN547_CPU1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if SECOND_CORE_MCUX
|
if SECOND_CORE_MCUX
|
||||||
|
|
||||||
config SECOND_CORE_MCUX_ACCESS_LEVEL
|
config SECOND_CORE_MCUX_ACCESS_LEVEL
|
||||||
int "default TrustZone access level for secondary core"
|
int "default TrustZone access level for secondary core"
|
||||||
default 3
|
default 3
|
||||||
|
|
|
@ -20,12 +20,25 @@ config SOC_MCXN947_CPU1
|
||||||
bool
|
bool
|
||||||
select SOC_MCXN947
|
select SOC_MCXN947
|
||||||
|
|
||||||
|
config SOC_MCXN547
|
||||||
|
bool
|
||||||
|
select SOC_SERIES_MCXN
|
||||||
|
|
||||||
|
config SOC_MCXN547_CPU0
|
||||||
|
bool
|
||||||
|
select SOC_MCXN547
|
||||||
|
|
||||||
|
config SOC_MCXN547_CPU1
|
||||||
|
bool
|
||||||
|
select SOC_MCXN547
|
||||||
|
|
||||||
config SOC_MCXN236
|
config SOC_MCXN236
|
||||||
bool
|
bool
|
||||||
select SOC_SERIES_MCXN
|
select SOC_SERIES_MCXN
|
||||||
|
|
||||||
config SOC
|
config SOC
|
||||||
default "mcxn947" if SOC_MCXN947
|
default "mcxn947" if SOC_MCXN947
|
||||||
|
default "mcxn547" if SOC_MCXN547
|
||||||
default "mcxn236" if SOC_MCXN236
|
default "mcxn236" if SOC_MCXN236
|
||||||
|
|
||||||
config SOC_PART_NUMBER_MCXN947VDF
|
config SOC_PART_NUMBER_MCXN947VDF
|
||||||
|
@ -34,6 +47,12 @@ config SOC_PART_NUMBER_MCXN947VDF
|
||||||
config SOC_PART_NUMBER_MCXN947VNL
|
config SOC_PART_NUMBER_MCXN947VNL
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
config SOC_PART_NUMBER_MCXN547VDF
|
||||||
|
bool
|
||||||
|
|
||||||
|
config SOC_PART_NUMBER_MCXN547VNL
|
||||||
|
bool
|
||||||
|
|
||||||
config SOC_PART_NUMBER_MCXN236VDF
|
config SOC_PART_NUMBER_MCXN236VDF
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
@ -43,5 +62,7 @@ config SOC_PART_NUMBER_MCXN236VNL
|
||||||
config SOC_PART_NUMBER
|
config SOC_PART_NUMBER
|
||||||
default "MCXN947VDF" if SOC_PART_NUMBER_MCXN947VDF
|
default "MCXN947VDF" if SOC_PART_NUMBER_MCXN947VDF
|
||||||
default "MCXN947VNL" if SOC_PART_NUMBER_MCXN947VNL
|
default "MCXN947VNL" if SOC_PART_NUMBER_MCXN947VNL
|
||||||
|
default "MCXN547VDF" if SOC_PART_NUMBER_MCXN547VDF
|
||||||
|
default "MCXN547VNL" if SOC_PART_NUMBER_MCXN547VNL
|
||||||
default "MCXN236VDF" if SOC_PART_NUMBER_MCXN236VDF
|
default "MCXN236VDF" if SOC_PART_NUMBER_MCXN236VDF
|
||||||
default "MCXN236VNL" if SOC_PART_NUMBER_MCXN236VNL
|
default "MCXN236VNL" if SOC_PART_NUMBER_MCXN236VNL
|
||||||
|
|
|
@ -39,7 +39,8 @@ void soc_reset_hook(void)
|
||||||
*/
|
*/
|
||||||
DT_FOREACH_STATUS_OKAY(nxp_lpspi, FLEXCOMM_CHECK)
|
DT_FOREACH_STATUS_OKAY(nxp_lpspi, FLEXCOMM_CHECK)
|
||||||
|
|
||||||
#if defined(CONFIG_SECOND_CORE_MCUX) && defined(CONFIG_SOC_MCXN947_CPU0)
|
#if defined(CONFIG_SECOND_CORE_MCUX) && \
|
||||||
|
(defined(CONFIG_SOC_MCXN947_CPU0) || defined(CONFIG_SOC_MCXN547_CPU0))
|
||||||
|
|
||||||
/* This function is also called at deep sleep resume. */
|
/* This function is also called at deep sleep resume. */
|
||||||
static int second_core_boot(void)
|
static int second_core_boot(void)
|
||||||
|
@ -47,8 +48,9 @@ static int second_core_boot(void)
|
||||||
/* Configure CPU1 TrustZone access level before CPU1 is enabled */
|
/* Configure CPU1 TrustZone access level before CPU1 is enabled */
|
||||||
AHBSC->MASTER_SEC_LEVEL |=
|
AHBSC->MASTER_SEC_LEVEL |=
|
||||||
AHBSC_MASTER_SEC_LEVEL_CPU1(CONFIG_SECOND_CORE_MCUX_ACCESS_LEVEL);
|
AHBSC_MASTER_SEC_LEVEL_CPU1(CONFIG_SECOND_CORE_MCUX_ACCESS_LEVEL);
|
||||||
AHBSC->MASTER_SEC_ANTI_POL_REG = (~AHBSC->MASTER_SEC_LEVEL &
|
AHBSC->MASTER_SEC_ANTI_POL_REG =
|
||||||
~AHBSC_MASTER_SEC_ANTI_POL_REG_MASTER_SEC_LEVEL_ANTIPOL_LOCK_MASK) |
|
(~AHBSC->MASTER_SEC_LEVEL &
|
||||||
|
~AHBSC_MASTER_SEC_ANTI_POL_REG_MASTER_SEC_LEVEL_ANTIPOL_LOCK_MASK) |
|
||||||
AHBSC_MASTER_SEC_ANTI_POL_REG_MASTER_SEC_LEVEL_ANTIPOL_LOCK(2);
|
AHBSC_MASTER_SEC_ANTI_POL_REG_MASTER_SEC_LEVEL_ANTIPOL_LOCK(2);
|
||||||
|
|
||||||
/* Boot source for Core 1 from flash */
|
/* Boot source for Core 1 from flash */
|
||||||
|
|
|
@ -7,6 +7,10 @@ family:
|
||||||
cpuclusters:
|
cpuclusters:
|
||||||
- name: cpu0
|
- name: cpu0
|
||||||
- name: cpu1
|
- name: cpu1
|
||||||
|
- name: mcxn547
|
||||||
|
cpuclusters:
|
||||||
|
- name: cpu0
|
||||||
|
- name: cpu1
|
||||||
- name: mcxn236
|
- name: mcxn236
|
||||||
- name: mcxc
|
- name: mcxc
|
||||||
socs:
|
socs:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue