File tree Expand file tree Collapse file tree 7 files changed +92
-1
lines changed Expand file tree Collapse file tree 7 files changed +92
-1
lines changed Original file line number Diff line number Diff line change 2
2
#
3
3
# SPDX-License-Identifier: Apache-2.0
4
4
5
- zephyr_sources (soc.c mcxw71_platform_init.S )
5
+ zephyr_sources (soc.c )
6
+ zephyr_sources_ifdef (CONFIG_SOC_MCXW716C mcxw71_platform_init.S )
7
+ zephyr_sources_ifdef (CONFIG_SOC_MCXW727C mcxw72_platform_init.S )
6
8
7
9
zephyr_sources_ifdef (CONFIG_NXP_NBU
8
10
../../common/nxp_nbu.c
Original file line number Diff line number Diff line change @@ -17,3 +17,11 @@ config SOC_SERIES_MCXW
17
17
select CLOCK_CONTROL
18
18
19
19
rsource "../../common/Kconfig.nbu"
20
+
21
+ if SOC_MCXW727C
22
+
23
+ config MCUX_CORE_SUFFIX
24
+ default "_cm33_core0" if SOC_MCXW727C_CPU0
25
+ default "_cm33_core1" if SOC_MCXW727C_CPU1
26
+
27
+ endif # SOC_MCXW727C
Original file line number Diff line number Diff line change 4
4
if SOC_SERIES_MCXW
5
5
6
6
config NUM_IRQS
7
+ default 77 if SOC_MCXW727C
7
8
default 75
8
9
9
10
config SYS_CLOCK_HW_CYCLES_PER_SEC
Original file line number Diff line number Diff line change @@ -12,11 +12,28 @@ config SOC_MCXW716C
12
12
bool
13
13
select SOC_SERIES_MCXW
14
14
15
+ config SOC_MCXW727C
16
+ bool
17
+ select SOC_SERIES_MCXW
18
+
19
+ config SOC_MCXW727C_CPU0
20
+ bool
21
+ select SOC_MCXW727C
22
+
23
+ config SOC_MCXW727C_CPU1
24
+ bool
25
+ select SOC_MCXW727C
26
+
15
27
config SOC
16
28
default "mcxw716c" if SOC_MCXW716C
29
+ default "mcxw727c" if SOC_MCXW727C
17
30
18
31
config SOC_PART_NUMBER_MCXW716CMFTA
19
32
bool
20
33
34
+ config SOC_PART_NUMBER_MCXW727CMFTA
35
+ bool
36
+
21
37
config SOC_PART_NUMBER
22
38
default "MCXW716CMFTA" if SOC_PART_NUMBER_MCXW716CMFTA
39
+ default "MCXW727CMFTA" if SOC_PART_NUMBER_MCXW727CMFTA
Original file line number Diff line number Diff line change
1
+ /*
2
+ * Copyright 2024 NXP
3
+ *
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ /**
8
+ * @file
9
+ * @brief MCXW72 Platform-Specific Initialization
10
+ *
11
+ * When compared to MCXW71, the Ram Banks with ECC
12
+ * are located in different addresses.
13
+ *
14
+ * MCXW72 SOC reset code that initializes RAM
15
+ * to prevent ECC causing faults, and calls SystemInit
16
+ */
17
+
18
+ #include <zephyr/toolchain.h>
19
+ #include <zephyr/linker/sections.h>
20
+
21
+ _ASM_FILE_PROLOGUE
22
+
23
+ GTEXT(soc_reset_hook)
24
+ SECTION_SUBSEC_FUNC(TEXT,_reset_section,soc_reset_hook)
25
+
26
+ .soc_reset_hook:
27
+ ldr r0, =0x14000000
28
+ ldr r1, =.ram_init_ctcm01
29
+ bics r1, #0x10000000
30
+ cmp r0, r1
31
+ bcc .ram_init_done
32
+ .ram_init_ctcm01: /* Initialize ctcm01 */
33
+ ldr r0, =0x14000000
34
+ ldr r1, =0x14008000
35
+ ldr r2, =0
36
+ ldr r3, =0
37
+ ldr r4, =0
38
+ ldr r5, =0
39
+ .loop01:
40
+ stmia r0!, {r2 - r5}
41
+ cmp r0, r1
42
+ bcc.n .loop01
43
+ .ram_init_stcm012: /* Initialize stcm012 */
44
+ ldr r0, =0x30000000
45
+ ldr r1, =0x30010000
46
+ .loop012:
47
+ stmia r0!, {r2 - r5}
48
+ cmp r0, r1
49
+ bcc.n .loop012
50
+ .ram_init_stcm8:
51
+ ldr r0, =0x30038000
52
+ ldr r1, =0x3003a000
53
+ .loop8: /* Initialize stcm5 */
54
+ stmia r0!, {r2 - r5}
55
+ cmp r0, r1
56
+ bcc.n .loop8
57
+ .ram_init_done:
58
+ b SystemInit
Original file line number Diff line number Diff line change @@ -39,6 +39,7 @@ static ALWAYS_INLINE void clock_init(void)
39
39
};
40
40
/* Enable OSC32K */
41
41
CCM32K_Set32kOscConfig (CCM32K , kCCM32K_Enable32kHzCrystalOsc , & ccm32k_osc_config );
42
+
42
43
/* Disable ROSC Monitor, because switching the source would generate an expected error */
43
44
CLOCK_SetRoscMonitorMode (kSCG_RoscMonitorDisable );
44
45
Original file line number Diff line number Diff line change @@ -20,6 +20,10 @@ family:
20
20
- name : mcxw
21
21
socs :
22
22
- name : mcxw716c
23
+ - name : mcxw727c
24
+ cpuclusters :
25
+ - name : cpu0
26
+ - name : cpu1
23
27
runners :
24
28
run_once :
25
29
' --erase ' :
You can’t perform that action at this time.
0 commit comments