Skip to content

Commit ce2c8f2

Browse files
ssekar15kartben
authored andcommitted
soc: mspm0: Add a support for TI MSPM0-G series SoC
Add a support for Texas Instruments MSPM0 fmaily and MSPM0-G series SoC. Signed-off-by: Saravanan Sekar <[email protected]> Signed-off-by: Jackson Farley <[email protected]>
1 parent c3da77f commit ce2c8f2

File tree

13 files changed

+239
-0
lines changed

13 files changed

+239
-0
lines changed

modules/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ source "modules/Kconfig.infineon"
2929
source "modules/Kconfig.libmetal"
3030
source "modules/lvgl/Kconfig"
3131
source "modules/Kconfig.microchip"
32+
source "modules/Kconfig.mspm0"
3233
source "modules/Kconfig.nuvoton"
3334
source "modules/Kconfig.open-amp"
3435
source "modules/Kconfig.picolibc"

modules/Kconfig.mspm0

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

soc/ti/mspm0/CMakeLists.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
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})
6+
7+
if(CONFIG_SOC_FAMILY_TI_MSPM0)
8+
string(TOUPPER ${CONFIG_SOC} SDK_SOC_SELECT)
9+
zephyr_compile_definitions(-D__${SDK_SOC_SELECT}__)
10+
endif()

soc/ti/mspm0/Kconfig

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Texas Instruments MSPM0 Family
2+
# Copyright (c) 2025 Texas Instruments
3+
# Copyright (c) 2025 Linumiz
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
if SOC_FAMILY_TI_MSPM0
7+
8+
rsource "*/Kconfig"
9+
10+
# Per TRM Section 2.2.7 Peripheral Power Enable Control: wait at least 4 ULPCLK
11+
# clock cycles before accessing the peripheral's memory-mapped registers.
12+
# ULPCLK will either be equivalent or half of the main MCLK and CPUCLK,
13+
# yielding the delay time of 8 cycles
14+
config MSPM0_PERIPH_STARTUP_DELAY
15+
int
16+
default 8
17+
18+
endif # SOC_FAMILY_TI_MSPM0

soc/ti/mspm0/Kconfig.defconfig

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

soc/ti/mspm0/Kconfig.soc

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Texas Instruments MSPM0 Family
2+
3+
# Copyright (c) 2025 Texas Instruments
4+
# Copyright (c) 2025 Linumiz
5+
# SPDX-License-Identifier: Apache-2.0
6+
7+
config SOC_FAMILY_TI_MSPM0
8+
bool
9+
10+
config SOC_FAMILY
11+
default "ti_mspm0" if SOC_FAMILY_TI_MSPM0
12+
13+
rsource "*/Kconfig.soc"

soc/ti/mspm0/mspm0g/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
3+
zephyr_sources(soc.c)
4+
zephyr_include_directories(.)

soc/ti/mspm0/mspm0g/Kconfig

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# TI MSPM0G
2+
3+
# Copyright (c) 2025 Texas Instruments
4+
# Copyright (c) 2025 Linumiz
5+
# SPDX-License-Identifier: Apache-2.0
6+
7+
config SOC_SERIES_MSPM0G
8+
select ARM
9+
select CPU_CORTEX_M0PLUS
10+
select CPU_CORTEX_M_HAS_VTOR
11+
select CPU_HAS_ARM_MPU
12+
select CPU_CORTEX_M_HAS_SYSTICK
13+
select BUILD_OUTPUT_BIN
14+
select BUILD_OUTPUT_HEX
15+
select HAS_MSPM0_SDK
16+
select CLOCK_CONTROL
17+
select SOC_EARLY_INIT_HOOK

soc/ti/mspm0/mspm0g/Kconfig.defconfig

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# TI MSPM0G series
2+
3+
# Copyright (c) 2025 Texas Instruments
4+
# Copyright (c) 2025 Linumiz
5+
# SPDX-License-Identifier: Apache-2.0
6+
7+
DT_CHOSEN_Z_FLASH := zephyr,flash
8+
9+
config FLASH_SIZE
10+
default $(dt_chosen_reg_size_int,$(DT_CHOSEN_Z_FLASH),0,K)
11+
12+
config FLASH_BASE_ADDRESS
13+
default $(dt_chosen_reg_addr_hex,$(DT_CHOSEN_Z_FLASH))
14+
15+
if SOC_SERIES_MSPM0G
16+
17+
config NUM_IRQS
18+
default 32
19+
20+
endif # SOC_SERIES_MSPM0G

soc/ti/mspm0/mspm0g/Kconfig.soc

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# Copyright (c) 2024 Texas Instruments
2+
# Copyright (c) 2025 Linumiz
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
config SOC_SERIES_MSPM0G
6+
bool
7+
select SOC_FAMILY_TI_MSPM0
8+
help
9+
Enable support for TI MSPM0G series SoCs
10+
11+
config SOC_MSPM0G1105
12+
bool
13+
select SOC_SERIES_MSPM0G
14+
15+
config SOC_MSPM0G1106
16+
bool
17+
select SOC_SERIES_MSPM0G
18+
19+
config SOC_MSPM0G1107
20+
bool
21+
select SOC_SERIES_MSPM0G
22+
23+
config SOC_MSPM0G1505
24+
bool
25+
select SOC_SERIES_MSPM0G
26+
27+
config SOC_MSPM0G1506
28+
bool
29+
select SOC_SERIES_MSPM0G
30+
31+
config SOC_MSPM0G1507
32+
bool
33+
select SOC_SERIES_MSPM0G
34+
35+
config SOC_MSPM0G1519
36+
bool
37+
select SOC_SERIES_MSPM0G
38+
39+
config SOC_MSPM0G3105
40+
bool
41+
select SOC_SERIES_MSPM0G
42+
43+
config SOC_MSPM0G3106
44+
bool
45+
select SOC_SERIES_MSPM0G
46+
47+
config SOC_MSPM0G3107
48+
bool
49+
select SOC_SERIES_MSPM0G
50+
51+
config SOC_MSPM0G3505
52+
bool
53+
select SOC_SERIES_MSPM0G
54+
55+
config SOC_MSPM0G3506
56+
bool
57+
select SOC_SERIES_MSPM0G
58+
59+
config SOC_MSPM0G3507
60+
bool
61+
select SOC_SERIES_MSPM0G
62+
63+
config SOC_MSPM0G3519
64+
bool
65+
select SOC_SERIES_MSPM0G
66+
67+
config SOC_SERIES
68+
default "mspm0g" if SOC_SERIES_MSPM0G
69+
70+
config SOC
71+
default "mspm0g1105" if SOC_MSPM0G1105
72+
default "mspm0g1106" if SOC_MSPM0G1106
73+
default "mspm0g1107" if SOC_MSPM0G1107
74+
default "mspm0g1505" if SOC_MSPM0G1505
75+
default "mspm0g1506" if SOC_MSPM0G1506
76+
default "mspm0g1507" if SOC_MSPM0G1507
77+
default "mspm0g1519" if SOC_MSPM0G1519
78+
default "mspm0g3105" if SOC_MSPM0G3105
79+
default "mspm0g3106" if SOC_MSPM0G3106
80+
default "mspm0g3107" if SOC_MSPM0G3107
81+
default "mspm0g3505" if SOC_MSPM0G3505
82+
default "mspm0g3506" if SOC_MSPM0G3506
83+
default "mspm0g3507" if SOC_MSPM0G3507
84+
default "mspm0g3519" if SOC_MSPM0G3519

0 commit comments

Comments
 (0)