Skip to content

Commit 59a23b5

Browse files
alxreykartben
authored andcommitted
soc: mcxn547: add support for MCXN547
Add MCXN547 support Signed-off-by: Alexandre Rey <[email protected]>
1 parent 713fc17 commit 59a23b5

File tree

4 files changed

+49
-7
lines changed

4 files changed

+49
-7
lines changed

soc/nxp/mcx/mcxn/Kconfig

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,19 @@ config SOC_MCXN947_CPU0
2424
config SOC_MCXN947_CPU1
2525
select CPU_CORTEX_M33
2626

27+
config SOC_MCXN547
28+
select CPU_CORTEX_M33
29+
select CPU_HAS_ARM_SAU
30+
select CPU_HAS_ARM_MPU
31+
select CPU_HAS_FPU
32+
select ARMV8_M_DSP
33+
select SOC_RESET_HOOK
34+
select ARM_TRUSTZONE_M
35+
select HAS_MCUX_CACHE
36+
37+
config SOC_MCXN547_CPU1
38+
select CPU_CORTEX_M33
39+
2740
config SOC_MCXN236
2841
select CPU_CORTEX_M33
2942
select CPU_HAS_ARM_SAU
@@ -35,9 +48,10 @@ config SOC_MCXN236
3548

3649
if SOC_SERIES_MCXN
3750

38-
if SOC_MCXN947
51+
if SOC_MCXN947 || SOC_MCXN547
52+
3953
config SECOND_CORE_MCUX
40-
bool "MCXN94X's second core"
54+
bool "MCXNX4X's second core"
4155
depends on HAS_MCUX
4256
help
4357
Indicates the second core will be enabled, and the part will run
@@ -49,11 +63,12 @@ config FLASH_DISABLE_CACHE64
4963
Disable cache64 cache.
5064

5165
config MCUX_CORE_SUFFIX
52-
default "_cm33_core0" if SOC_MCXN947_CPU0
53-
default "_cm33_core1" if SOC_MCXN947_CPU1
66+
default "_cm33_core0" if SOC_MCXN947_CPU0 || SOC_MCXN547_CPU0
67+
default "_cm33_core1" if SOC_MCXN947_CPU1 || SOC_MCXN547_CPU1
5468
endif
5569

5670
if SECOND_CORE_MCUX
71+
5772
config SECOND_CORE_MCUX_ACCESS_LEVEL
5873
int "default TrustZone access level for secondary core"
5974
default 3

soc/nxp/mcx/mcxn/Kconfig.soc

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,25 @@ config SOC_MCXN947_CPU1
2020
bool
2121
select SOC_MCXN947
2222

23+
config SOC_MCXN547
24+
bool
25+
select SOC_SERIES_MCXN
26+
27+
config SOC_MCXN547_CPU0
28+
bool
29+
select SOC_MCXN547
30+
31+
config SOC_MCXN547_CPU1
32+
bool
33+
select SOC_MCXN547
34+
2335
config SOC_MCXN236
2436
bool
2537
select SOC_SERIES_MCXN
2638

2739
config SOC
2840
default "mcxn947" if SOC_MCXN947
41+
default "mcxn547" if SOC_MCXN547
2942
default "mcxn236" if SOC_MCXN236
3043

3144
config SOC_PART_NUMBER_MCXN947VDF
@@ -34,6 +47,12 @@ config SOC_PART_NUMBER_MCXN947VDF
3447
config SOC_PART_NUMBER_MCXN947VNL
3548
bool
3649

50+
config SOC_PART_NUMBER_MCXN547VDF
51+
bool
52+
53+
config SOC_PART_NUMBER_MCXN547VNL
54+
bool
55+
3756
config SOC_PART_NUMBER_MCXN236VDF
3857
bool
3958

@@ -43,5 +62,7 @@ config SOC_PART_NUMBER_MCXN236VNL
4362
config SOC_PART_NUMBER
4463
default "MCXN947VDF" if SOC_PART_NUMBER_MCXN947VDF
4564
default "MCXN947VNL" if SOC_PART_NUMBER_MCXN947VNL
65+
default "MCXN547VDF" if SOC_PART_NUMBER_MCXN547VDF
66+
default "MCXN547VNL" if SOC_PART_NUMBER_MCXN547VNL
4667
default "MCXN236VDF" if SOC_PART_NUMBER_MCXN236VDF
4768
default "MCXN236VNL" if SOC_PART_NUMBER_MCXN236VNL

soc/nxp/mcx/mcxn/soc.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,18 @@ void soc_reset_hook(void)
3939
*/
4040
DT_FOREACH_STATUS_OKAY(nxp_lpspi, FLEXCOMM_CHECK)
4141

42-
#if defined(CONFIG_SECOND_CORE_MCUX) && defined(CONFIG_SOC_MCXN947_CPU0)
42+
#if defined(CONFIG_SECOND_CORE_MCUX) && \
43+
(defined(CONFIG_SOC_MCXN947_CPU0) || defined(CONFIG_SOC_MCXN547_CPU0))
4344

4445
/* This function is also called at deep sleep resume. */
4546
static int second_core_boot(void)
4647
{
4748
/* Configure CPU1 TrustZone access level before CPU1 is enabled */
4849
AHBSC->MASTER_SEC_LEVEL |=
4950
AHBSC_MASTER_SEC_LEVEL_CPU1(CONFIG_SECOND_CORE_MCUX_ACCESS_LEVEL);
50-
AHBSC->MASTER_SEC_ANTI_POL_REG = (~AHBSC->MASTER_SEC_LEVEL &
51-
~AHBSC_MASTER_SEC_ANTI_POL_REG_MASTER_SEC_LEVEL_ANTIPOL_LOCK_MASK) |
51+
AHBSC->MASTER_SEC_ANTI_POL_REG =
52+
(~AHBSC->MASTER_SEC_LEVEL &
53+
~AHBSC_MASTER_SEC_ANTI_POL_REG_MASTER_SEC_LEVEL_ANTIPOL_LOCK_MASK) |
5254
AHBSC_MASTER_SEC_ANTI_POL_REG_MASTER_SEC_LEVEL_ANTIPOL_LOCK(2);
5355

5456
/* Boot source for Core 1 from flash */

soc/nxp/mcx/soc.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ family:
77
cpuclusters:
88
- name: cpu0
99
- name: cpu1
10+
- name: mcxn547
11+
cpuclusters:
12+
- name: cpu0
13+
- name: cpu1
1014
- name: mcxn236
1115
- name: mcxc
1216
socs:

0 commit comments

Comments
 (0)