Skip to content

Add support for TI's MSPM0L series #90809

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 10 commits into
base: main
Choose a base branch
from

Conversation

parthitce
Copy link
Member

This PR includes changes to support MSPM0L series of SoC and it can be evaluated using L2228 based launchpad.
At this point, this PR only includes basic template for the SoC, DTS and working board with UART and GPIO. Remaining functionalities will be enabled in upcoming works.

Signed-off-by: Parthiban Nallathambi parthiban@linumiz.com

parthitce added 8 commits May 29, 2025 20:07
Update manifest to point MSPM0L series support.
Currently it only supports L2228's devicetree pin functions.

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
MSPM0Lx series supports pin function upto 11 i.e 0xb, extend
the pin control function number to 11.

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
mspm0 series (currently g, l and c) shares the common SoC
level init functions and pin control/muxing configurations.

To avoid duplication for each series, create a common path
and move the SoC and pin control definitions.

Other common functionalities like Power Management, Power off
handling will be added in future, which will be common across
series.

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
although udiv is represented in clock tree of L series, this is
not really present or controllable from SYSCTL registers. Enable
udiv only if present in dts.

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
mspm0 family of SoC series is split into three category,

mspm0g - high performance
mspm0l - low power
mspm0c - entry level

With G already part added, add support for L series of SoC's.

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
All the HAL API/wrapper depends on PINCM indexing, which cannot
be derived from neither pin number nor the address offset.

With current approach, update the LUT table of possible PINCM's
for L series with GPIO A, B and C banks.

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
LUT sizes directly reflects the global data when enabled in dts
(even if no or few pins are really consumed). Also the PINCM
numbering across the series (g, l and c) is within 255, so fix
to use uint8_t to save the global space.

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
mspm0lx series comes with various SoC's which varies in RAM,
Flash size and also with peripherals. Add support for all
the currently available SoC's with basic template.

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
Copy link

github-actions bot commented May 29, 2025

The following west manifest projects have changed revision in this Pull Request:

Name Old Revision New Revision Diff
hal_ti zephyrproject-rtos/hal_ti@bc8e7b9 (master) zephyrproject-rtos/hal_ti#62 zephyrproject-rtos/hal_ti#62/files

DNM label due to: 1 project with PR revision

Note: This message is automatically posted and updated by the Manifest GitHub Action.

@github-actions github-actions bot added manifest manifest-hal_ti DNM (manifest) This PR should not be merged (controlled by action-manifest) labels May 29, 2025
@parthitce parthitce removed the platform: TI SimpleLink Texas Instruments SimpleLink MCU label May 29, 2025
@github-actions github-actions bot added the platform: TI SimpleLink Texas Instruments SimpleLink MCU label May 29, 2025
parthitce added 2 commits May 29, 2025 21:03
MSPM0L2228 launchpad provides evaluation and development
platform with 32KB SRAM and 256KB Flash. This board also
comes with 32Mhz external high frequency crystal and 32.768Khz
low frequency crystal.

Also LCD (only with L2228 SoC's) is included with many multi-function
PIO's exposed. Add support with basic UART and LED functions.

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
fix the clang compliance check using inling,

clang-format drivers/gpio/gpio_mspm0.c  -i

as the changes are beyond what is changed as part of L series
addition, fix all at once with independent commit.

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
@parthitce parthitce force-pushed the upstream/ti/mspm0-lx branch from 375695e to 5bccce3 Compare May 29, 2025 15:33
Copy link

Comment on lines +7 to +13
DT_CHOSEN_Z_FLASH := zephyr,flash

config FLASH_SIZE
default $(dt_chosen_reg_size_int,$(DT_CHOSEN_Z_FLASH),0,K)

config FLASH_BASE_ADDRESS
default $(dt_chosen_reg_addr_hex,$(DT_CHOSEN_Z_FLASH))
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

move into if part below

flash0: serial-flash@0 {
reg = <0x0 DT_SIZE_K(8)>;
};
};
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing bracket


flash0: serial-flash@0 {
reg = <0x0 DT_SIZE_K(16)>;
};
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fix in all files

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

convert to webp then put through https://tinypng.com/

@@ -0,0 +1,10 @@
# SPDX-License-Identifier: Apache-2.0

# Enable uart driver
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

*UART

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

MSPM0L series support
3 participants