Skip to content

Commit 24e8378

Browse files
committed
soc: added initial SOC support for TI MSPM0
Added initial SOC support for TI MSPM0 family Signed-off-by: Jackson Farley <[email protected]>
1 parent 4227dad commit 24e8378

File tree

14 files changed

+272
-0
lines changed

14 files changed

+272
-0
lines changed

modules/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ source "modules/Kconfig.libmetal"
2424
source "modules/lvgl/Kconfig"
2525
source "modules/Kconfig.mcux"
2626
source "modules/Kconfig.microchip"
27+
source "modules/Kconfig.mspm0"
2728
source "modules/Kconfig.nuvoton"
2829
source "modules/Kconfig.open-amp"
2930
source "modules/Kconfig.picolibc"

modules/Kconfig.mspm0

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# MSPM0 SDK configuration
2+
3+
# Copyright (c) 2024 Texas Instruments
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
config HAS_MSPM0_SDK
7+
bool

soc/ti/mspm0/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
3+
set(SOC_LINKER_SCRIPT ${ZEPHYR_BASE}/include/zephyr/arch/arm/cortex_m/scripts/linker.ld CACHE INTERNAL "SoC Linker Script")
4+
5+
add_subdirectory(${SOC_SERIES})

soc/ti/mspm0/Kconfig

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Texas Instruments MSPM0 Family
2+
# Copyright (c) 2024 Texas Instruments
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
if SOC_FAMILY_TI_MSPM0
6+
7+
rsource "*/Kconfig"
8+
9+
endif # SOC_FAMILY_TI_MSPM0

soc/ti/mspm0/Kconfig.defconfig

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
# Copyright (c) 2024 Texas Instruments
3+
4+
if SOC_FAMILY_TI_MSPM0
5+
6+
rsource "*/Kconfig.defconfig"
7+
8+
endif # SOC_FAMILY_TI_MSPM0

soc/ti/mspm0/Kconfig.soc

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Texas Instruments MSPM0 Family
2+
3+
# Copyright (c) 2024 Texas Instruments
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
config SOC_FAMILY_TI_MSPM0
7+
bool
8+
9+
config SOC_FAMILY
10+
default "ti_mspm0" if SOC_FAMILY_TI_MSPM0
11+
12+
rsource "*/Kconfig.soc"
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
3+
if(CONFIG_SOC_MSPM0G1106)
4+
zephyr_compile_definitions(-D__MSPM0G1106__)
5+
elseif(CONFIG_SOC_MSPM0G1107)
6+
zephyr_compile_definitions(-D__MSPM0G1107__)
7+
elseif(CONFIG_SOC_MSPM0G1506)
8+
zephyr_compile_definitions(-D__MSPM0G1506__)
9+
elseif(CONFIG_SOC_MSPM0G1507)
10+
zephyr_compile_definitions(-D__MSPM0G1507__)
11+
elseif(CONFIG_SOC_MSPM0G3106)
12+
zephyr_compile_definitions(-D__MSPM0G3106__)
13+
elseif(CONFIG_SOC_MSPM0G3107)
14+
zephyr_compile_definitions(-D__MSPM0G3107__)
15+
elseif(CONFIG_SOC_MSPM0G3506)
16+
zephyr_compile_definitions(-D__MSPM0G3506__)
17+
elseif(CONFIG_SOC_MSPM0G3507)
18+
zephyr_compile_definitions(-D__MSPM0G3507__)
19+
endif()
20+
21+
zephyr_sources(soc.c)
22+
zephyr_include_directories(.)
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# TI MSPM0G1X0X_G3X0X
2+
3+
# Copyright (c) 2024 Texas Instruments
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
config SOC_SERIES_MSPM0G1X0X_G3X0X
7+
select ARM
8+
select CPU_CORTEX_M0PLUS
9+
select CPU_CORTEX_M_HAS_VTOR
10+
select CPU_HAS_ARM_MPU
11+
select CPU_CORTEX_M_HAS_SYSTICK
12+
select BUILD_OUTPUT_HEX
13+
select HAS_MSPM0_SDK
14+
select CLOCK_CONTROL
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# TI MSPM0G1X0X_G3X0X
2+
3+
# Copyright (c) 2024 Texas Instruments
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
if SOC_SERIES_MSPM0G1X0X_G3X0X
7+
8+
DT_MSPM0_CLKMUX_PATH := $(dt_nodelabel_path,clkmux)
9+
DT_MSPM0_CLKMUX_CPU_FREQ := $(dt_node_int_prop_int,$(DT_MSPM0_CLKMUX_PATH),clock-frequency)
10+
11+
config NUM_IRQS
12+
default 32
13+
14+
config SYS_CLOCK_HW_CYCLES_PER_SEC
15+
default "$(DT_MSPM0_CLKMUX_CPU_FREQ)" if "$(dt_nodelabel_enabled,clkmux)"
16+
17+
endif # SOC_SERIES_MSPM0G1X0X_G3X0X
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Copyright (c) 2024 Texas Instruments
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config SOC_SERIES_MSPM0G1X0X_G3X0X
5+
bool
6+
select SOC_FAMILY_TI_MSPM0
7+
help
8+
Enable support for TI MSPM0G1X0X_G3X0X SoCs
9+
10+
config SOC_MSPM0G1106
11+
bool
12+
select SOC_SERIES_MSPM0G1X0X_G3X0X
13+
14+
config SOC_MSPM0G1107
15+
bool
16+
select SOC_SERIES_MSPM0G1X0X_G3X0X
17+
18+
config SOC_MSPM0G1506
19+
bool
20+
select SOC_SERIES_MSPM0G1X0X_G3X0X
21+
22+
config SOC_MSPM0G1507
23+
bool
24+
select SOC_SERIES_MSPM0G1X0X_G3X0X
25+
26+
config SOC_MSPM0G3106
27+
bool
28+
select SOC_SERIES_MSPM0G1X0X_G3X0X
29+
30+
config SOC_MSPM0G3107
31+
bool
32+
select SOC_SERIES_MSPM0G1X0X_G3X0X
33+
34+
config SOC_MSPM0G3506
35+
bool
36+
select SOC_SERIES_MSPM0G1X0X_G3X0X
37+
38+
config SOC_MSPM0G3507
39+
bool
40+
select SOC_SERIES_MSPM0G1X0X_G3X0X
41+
42+
config SOC_SERIES
43+
default "mspm0g1x0x_g3x0x" if SOC_SERIES_MSPM0G1X0X_G3X0X
44+
45+
config SOC
46+
default "mspm0g1106" if SOC_MSPM0G1106
47+
default "mspm0g1107" if SOC_MSPM0G1107
48+
default "mspm0g1506" if SOC_MSPM0G1506
49+
default "mspm0g1507" if SOC_MSPM0G1507
50+
default "mspm0g3106" if SOC_MSPM0G3106
51+
default "mspm0g3107" if SOC_MSPM0G3107
52+
default "mspm0g3506" if SOC_MSPM0G3506
53+
default "mspm0g3507" if SOC_MSPM0G3507

0 commit comments

Comments
 (0)