Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
b408bd7
workflow: Basic build automation workflow for MSPM33
padmaraghunathan90 Nov 7, 2025
1d7d65b
Merge pull request #17 from TexasInstruments/m33_basic_build_automati…
padmaraghunathan90 Nov 10, 2025
47ac724
soc: add soc definitions for MSPM0G51xx
d-philpot Nov 4, 2025
520bac2
dts: add files for MSPM0G51xx family
d-philpot Nov 4, 2025
bf286a0
boards: add LP_MSPM0G5187 board support
d-philpot Nov 4, 2025
8666cce
serial: update uart driver to account for UNICOMM
d-philpot Nov 4, 2025
6d57979
ti_tests: add testing for UNICOMM UART
d-philpot Nov 4, 2025
804f59b
dts: bindings: spi: Add DT bindings for TI MSPM0 SPI module
santhosh-c-c Aug 13, 2025
e39e01b
drivers: spi: Add driver support for TI MSPM0 SPI module
santhosh-c-c Aug 13, 2025
bde7628
dts: arm: ti: mspm0: Add SPI nodes for TI MSPM0
santhosh-c-c Aug 22, 2025
d08a12e
Kconfig: add DL_UNICOMM_SPI config
d-philpot Nov 11, 2025
bf26162
drivers: update SPI to support UNICOMM
d-philpot Nov 11, 2025
70f4d3f
dts: Add unicomm nodes with SPI
d-philpot Nov 11, 2025
a400fa5
boards: update mspm0g51xx board
d-philpot Nov 11, 2025
da37fb6
ti_tests: add twister testing for UNICOMM SPI
d-philpot Nov 11, 2025
8f01db4
Update dev_mspm33_build workflow
Aman-Lachhiramka-ti Nov 25, 2025
f9addb0
Merge pull request #1 from TexasInstruments/m0_unicomm_newBoard_changes
padmaraghunathan90 Nov 25, 2025
6112d66
drivers: clock_control: Add MCLKBY2 clock support for MSP
Aman-Lachhiramka-ti Nov 26, 2025
50db11b
drivers: serial: Rename mspm0 UART driver to msp UART driver
Aman-Lachhiramka-ti Nov 13, 2025
4f9534b
dts: bindings: serial: Update ti,mspm0-uart binding to ti,msp-uart
Aman-Lachhiramka-ti Nov 7, 2025
10be345
soc: ti: mspm33: Add Unicomm flag for UART support
Aman-Lachhiramka-ti Nov 10, 2025
ffa649d
drivers: serial: Add MSPM33 support to msp UART driver
Aman-Lachhiramka-ti Nov 7, 2025
dff663c
dts: arm: ti: mspm33: Add UART nodes
Aman-Lachhiramka-ti Nov 10, 2025
7618a9e
boards: ti: Enable UART support for lp_mspm33c321a board
Aman-Lachhiramka-ti Nov 10, 2025
09dbd07
drivers: serial: API fixes compatible with mspm33 to make UART working
Aman-Lachhiramka-ti Nov 11, 2025
2850007
west: update west manifest to point to dev_mspm33 commit
Aman-Lachhiramka-ti Nov 25, 2025
36c53ad
workflows: Update dev_mspm33_build.yml to include UART samples and tests
Aman-Lachhiramka-ti Nov 25, 2025
c50f29f
soc: ti: Use common peripheral startup delay config for mspm0 and mspm33
Aman-Lachhiramka-ti Nov 26, 2025
18f9d14
drivers: spi: Rename mspm0 SPI driver to msp SPI driver
Aman-Lachhiramka-ti Nov 13, 2025
7330c61
modules: Rename MSPM0 SPI module configs to MSP
Aman-Lachhiramka-ti Nov 13, 2025
15afaa9
dts: bindings: spi: Update to ti,msp-spi binding
Aman-Lachhiramka-ti Nov 13, 2025
3b7f833
modules: Kconfig: Add DL_UNICOMM_SPI config for mspm33
Aman-Lachhiramka-ti Nov 13, 2025
6af7dfe
drivers: spi: Add MSPM33 support to msp SPI driver
Aman-Lachhiramka-ti Nov 13, 2025
7a94b58
dts: arm: ti: mspm33: Add SPI nodes
Aman-Lachhiramka-ti Nov 13, 2025
ba5ad42
tests: drivers: spi: Add SPI loopback test config for MSPM33C321A
Aman-Lachhiramka-ti Nov 24, 2025
59b9eec
github: workflows: Add SPI tests to MSPM33 build workflow
Aman-Lachhiramka-ti Nov 27, 2025
c8c3e96
drivers: clock_control: fix mclkby2 frequency
Aman-Lachhiramka-ti Nov 27, 2025
115eea7
dts: arm: ti: mspm33: Fix clock source for counter nodes
Aman-Lachhiramka-ti Nov 27, 2025
951c405
tests: drivers: counter_basic_api: Add counter support for MSPM33
Aman-Lachhiramka-ti Nov 27, 2025
dc86025
github: workflows: Add counter test to MSPM33 build workflow
Aman-Lachhiramka-ti Nov 27, 2025
862e0a5
baords: ti: update lp_mspm33c321a doc
Aman-Lachhiramka-ti Nov 28, 2025
3eaf6a9
README: update README.md
Aman-Lachhiramka-ti Nov 28, 2025
4093a4c
west: Update west manifest
Aman-Lachhiramka-ti Nov 28, 2025
cef74e5
dts: arm: ti: mspm33: Update unicomm instance naming
Aman-Lachhiramka-ti Dec 9, 2025
3743cb8
boards: ti: lp_mspm33c321a: update uart pinctrl pin reference
Aman-Lachhiramka-ti Jan 22, 2026
e361f14
west: update hal_ti to use dev_mspm33 branch
Aman-Lachhiramka-ti Jan 22, 2026
87f32a7
dts: bindings: dma: add TI MSP DMA binding
Aman-Lachhiramka-ti Dec 17, 2025
3cefca7
drivers: dma: add TI MSP DMA driver support
Aman-Lachhiramka-ti Dec 17, 2025
dcebc88
dts: arm: ti: mspm33: add support for DMA controller
Aman-Lachhiramka-ti Dec 17, 2025
c318841
tests: drivers: dma: add TI MSP DMA test coverage
Aman-Lachhiramka-ti Dec 17, 2025
086bca0
github: workflows: add DMA tests to MSPM33 build workflow
Aman-Lachhiramka-ti Dec 22, 2025
db66adb
dts: bindings: pinctrl: update drive strength property
Aman-Lachhiramka-ti Feb 2, 2026
6b703fb
dts: bindings: pinctrl: fix property descriptions in MSP pinctrl YAML
Aman-Lachhiramka-ti Feb 2, 2026
39d8f43
soc: ti : add flash configuration defaults
Tejas-Garg-ti Feb 13, 2026
6319b26
boards: ti: lp_mspm33c321a: add OpenOCD support and enable XIP
Tejas-Garg-ti Feb 13, 2026
40eb635
dts: bindings: timer: add clocks to MSP TIMER module
Aman-Lachhiramka-ti Feb 20, 2026
7db69d3
boards: ti: lp_mspm33c321a: add board image to documentation
Aman-Lachhiramka-ti Feb 23, 2026
d92ae45
drivers: adc: Refactor and fix adc_msp_hsadc driver
Aman-Lachhiramka-ti Feb 17, 2026
6101661
samples: drivers: adc: add support of TI MSPM33C321A
Aman-Lachhiramka-ti Feb 17, 2026
669f490
tests: drivers: adc: add lp_mspm33c321a support for adc_api and adc_e…
Aman-Lachhiramka-ti Feb 17, 2026
1cf7970
drivers: dma: add external trigger support to dma_ti_msp
Aman-Lachhiramka-ti Feb 18, 2026
72ab2d5
dts: bindings: adc: add optional dma property to ti,msp-hsadc
Aman-Lachhiramka-ti Feb 18, 2026
f9bb390
dts: arm: ti: add DMA channels to mspm33c321a ADC nodes
Aman-Lachhiramka-ti Feb 18, 2026
0dc7399
drivers: adc: add DMA transfer support to msp_hsadc
Aman-Lachhiramka-ti Feb 18, 2026
d651cca
samples: adc: adc_dt: enable DMA transfer for lp_mspm33c321a
Aman-Lachhiramka-ti Feb 18, 2026
62eaebb
github: workflows: add ADC test and sample builds to MSPM33 workflow
Aman-Lachhiramka-ti Feb 20, 2026
e728b3e
boards: ti: fix RST warnings in lp_mspmc321a board doc
Aman-Lachhiramka-ti Feb 20, 2026
ce0ff06
drivers: i2c: rename mspm0 I2C driver to msp I2C
Aman-Lachhiramka-ti Feb 19, 2026
ad05bdb
drivers: i2c: rename DL_I2C config to msp naming
Aman-Lachhiramka-ti Feb 24, 2026
72707c3
modules: rename MSPM0 I2C Kconfig to MSP
Aman-Lachhiramka-ti Feb 24, 2026
09d2fd5
dts: arm: ti: mspm0: fix rebase artifacts in mspm0l13x3.dtsi
Aman-Lachhiramka-ti Jan 21, 2026
90b5049
dts: bindings: i2c: rename binding to ti,msp-i2c
Aman-Lachhiramka-ti Feb 24, 2026
0e34931
dts: arm: ti: mspm0: update I2C nodes to ti,msp-i2c compatible
Aman-Lachhiramka-ti Feb 24, 2026
ff68e0d
drivers: i2c: update i2c_msp driver for renamed binding
Aman-Lachhiramka-ti Feb 24, 2026
f1ad513
modules: Kconfig: add UNICOMM I2C config for mspm33
Aman-Lachhiramka-ti Jan 21, 2026
85ec357
drivers: i2c: fix formatting of i2c msp driver
Aman-Lachhiramka-ti Feb 19, 2026
ffbdef6
drivers: i2c: fix i2c_msp timeout, ISR and sync logic
Aman-Lachhiramka-ti Feb 19, 2026
3b6f44c
drivers: i2c: add UNICOMM I2C support to i2c_msp driver
Aman-Lachhiramka-ti Feb 19, 2026
515aac9
dts: arm: ti: mspm33: add I2C nodes
Aman-Lachhiramka-ti Jan 21, 2026
334e3ae
dts: arm: ti: mspm0: add missing copyright headers
Aman-Lachhiramka-ti Feb 25, 2026
c87579a
boards: ti: lp_mspm33c321a: fix OpenOCD target config path
Tejas-Garg-ti Feb 27, 2026
e552571
west: update hal_ti revision to 1.02.00.00_ea release
Aman-Lachhiramka-ti Feb 27, 2026
6063926
boards: ti: lp_mspm33c321a: fix OpenOCD flash boot sequence
Aman-Lachhiramka-ti Mar 3, 2026
9a3722e
boards: ti: lp_mspm33c321a: enable coverage and supported peripherals
Aman-Lachhiramka-ti Mar 3, 2026
ee56e4c
tests: adc: adc_error_cases: add lp_mspm33c321a support
Aman-Lachhiramka-ti Mar 3, 2026
6a6a04c
tests: adc: adc_api: add oversampling test and VREF overlay
Aman-Lachhiramka-ti Mar 3, 2026
cb60a05
samples: basic: msp_thread_example: add sample.yaml for twister
Aman-Lachhiramka-ti Mar 3, 2026
53987e4
boards: ti: lp_mspm33c321a: add i2c to supported peripherals
Aman-Lachhiramka-ti Mar 3, 2026
df18769
tests: i2c: i2c_codec: add lp_mspm33c321a I2C test suite
Aman-Lachhiramka-ti Mar 3, 2026
030a194
tests: uart: uart_interrupt_api: allow TI vendor boards
Aman-Lachhiramka-ti Mar 3, 2026
78f038e
drivers: gpio: fix msp port_get_direction and disconnect
Aman-Lachhiramka-ti Mar 5, 2026
2a629e8
drivers: serial: fix msp irq_is_pending implementation
Aman-Lachhiramka-ti Mar 5, 2026
86e4ab9
tests: spi: spi_loopback: fix BUILD_ASSERT with non-constant
Aman-Lachhiramka-ti Mar 5, 2026
06f75bf
tests: gpio: gpio_api_1pin: add lp_mspm33c321a board conf
Aman-Lachhiramka-ti Mar 5, 2026
535b576
tests: gpio: gpio_basic_api: add lp_mspm33c321a support
Aman-Lachhiramka-ti Mar 5, 2026
7d1a003
tests: gpio: gpio_get_direction: add lp_mspm33c321a board conf
Aman-Lachhiramka-ti Mar 5, 2026
ac8b87e
tests: counter: counter_basic_api: add lp_mspm33c321a board conf
Aman-Lachhiramka-ti Mar 5, 2026
b0163bd
tests: dma: chan_blen_transfer: add lp_mspm33c321a board conf
Aman-Lachhiramka-ti Mar 5, 2026
4c822a9
tests: dma: loop_transfer: add lp_mspm33c321a board conf
Aman-Lachhiramka-ti Mar 5, 2026
65273f3
tests: spi: spi_loopback: add lp_mspm33c321a board conf
Aman-Lachhiramka-ti Mar 5, 2026
ea9a490
tests: uart: uart_interrupt_api: add lp_mspm33c321a board conf
Aman-Lachhiramka-ti Mar 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
167 changes: 167 additions & 0 deletions .github/workflows/dev_mspm33_build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
name: MSPM33 Zephyr Build Automation Workflow

on:
push:
pull_request:

jobs:
mspm33_build_all:
runs-on: ubuntu-latest

steps:
- name: Set up environment
run: |
sudo apt-get update
sudo apt install --no-install-recommends git cmake ninja-build gperf \
ccache dfu-util device-tree-compiler wget python3-dev python3-venv python3-tk \
xz-utils file make gcc gcc-multilib g++-multilib libsdl2-dev libmagic1

- name: Check versions
run: |
cmake --version
python3 --version
dtc --version

- name: Create virtual environment
run: |
python3 -m venv ~/zephyrproject/.venv

- name: Activate virtual environment and install west
run: |
source ~/zephyrproject/.venv/bin/activate
pip install --upgrade pip
pip install west

- name: Get the Zephyr source code
run: |
source ~/zephyrproject/.venv/bin/activate
# For push events, use github.ref_name; for pull_request events, use github.head_ref
BRANCH_NAME="${{ github.event_name == 'pull_request' && github.head_ref || github.ref_name }}"
echo "Using branch: $BRANCH_NAME"
west init -m ${{ github.server_url }}/${{ github.repository }} --mr $BRANCH_NAME ~/zephyrproject
cd ~/zephyrproject
west update

- name: Export a Zephyr CMake package
run: |
source ~/zephyrproject/.venv/bin/activate
cd ~/zephyrproject
west zephyr-export

- name: Install Zephyr dependencies
run: |
source ~/zephyrproject/.venv/bin/activate
cd ~/zephyrproject
~/zephyrproject/.venv/bin/python -m pip install -r ~/zephyrproject/zephyr/scripts/requirements.txt
west packages pip --install

- name: Install Zephyr SDK
run: |
source ~/zephyrproject/.venv/bin/activate
cd ~/zephyrproject/zephyr
west sdk install --toolchain=arm-zephyr-eabi

- name: Build Blinky example
run: |
source ~/zephyrproject/.venv/bin/activate
cd ~/zephyrproject/zephyr
source ~/zephyrproject/zephyr/zephyr-env.sh
west build -p always -b lp_mspm33c321a samples/basic/blinky

- name: Build Counter Alarm example
run: |
source ~/zephyrproject/.venv/bin/activate
cd ~/zephyrproject/zephyr
source ~/zephyrproject/zephyr/zephyr-env.sh
west build -p always -b lp_mspm33c321a samples/drivers/counter/alarm

- name: Build UART Basic API Test
run: |
source ~/zephyrproject/.venv/bin/activate
cd ~/zephyrproject/zephyr
source ~/zephyrproject/zephyr/zephyr-env.sh
west build -p always -b lp_mspm33c321a tests/drivers/uart/uart_basic_api

- name: Build UART Interrupt API Test
run: |
source ~/zephyrproject/.venv/bin/activate
cd ~/zephyrproject/zephyr
source ~/zephyrproject/zephyr/zephyr-env.sh
west build -p always -b lp_mspm33c321a tests/drivers/uart/uart_interrupt_api

- name: Build Console Line Splitting Test
run: |
source ~/zephyrproject/.venv/bin/activate
cd ~/zephyrproject/zephyr
source ~/zephyrproject/zephyr/zephyr-env.sh
west build -p always -b lp_mspm33c321a tests/drivers/console/line_splitting

- name: Build UART Echo Bot Sample
run: |
source ~/zephyrproject/.venv/bin/activate
cd ~/zephyrproject/zephyr
source ~/zephyrproject/zephyr/zephyr-env.sh
west build -p always -b lp_mspm33c321a samples/drivers/uart/echo_bot

- name: Build SPI Loopback Test
run: |
source ~/zephyrproject/.venv/bin/activate
cd ~/zephyrproject/zephyr
source ~/zephyrproject/zephyr/zephyr-env.sh
west build -p always -b lp_mspm33c321a tests/drivers/spi/spi_loopback

- name: Build SPI DT Spec Test
run: |
source ~/zephyrproject/.venv/bin/activate
cd ~/zephyrproject/zephyr
source ~/zephyrproject/zephyr/zephyr-env.sh
west build -p always -b lp_mspm33c321a tests/drivers/spi/dt_spec

- name: Build Counter Basic API Test
run: |
source ~/zephyrproject/.venv/bin/activate
cd ~/zephyrproject/zephyr
source ~/zephyrproject/zephyr/zephyr-env.sh
west build -p always -b lp_mspm33c321a tests/drivers/counter/counter_basic_api

- name: Build DMA Channel Block Length Transfer Test
run: |
source ~/zephyrproject/.venv/bin/activate
cd ~/zephyrproject/zephyr
source ~/zephyrproject/zephyr/zephyr-env.sh
west build -p always -b lp_mspm33c321a tests/drivers/dma/chan_blen_transfer

- name: Build DMA Loop Transfer Test
run: |
source ~/zephyrproject/.venv/bin/activate
cd ~/zephyrproject/zephyr
source ~/zephyrproject/zephyr/zephyr-env.sh
west build -p always -b lp_mspm33c321a tests/drivers/dma/loop_transfer

- name: Build ADC DT Sample
run: |
source ~/zephyrproject/.venv/bin/activate
cd ~/zephyrproject/zephyr
source ~/zephyrproject/zephyr/zephyr-env.sh
west build -p always -b lp_mspm33c321a samples/drivers/adc/adc_dt

- name: Build ADC Sequence Sample
run: |
source ~/zephyrproject/.venv/bin/activate
cd ~/zephyrproject/zephyr
source ~/zephyrproject/zephyr/zephyr-env.sh
west build -p always -b lp_mspm33c321a samples/drivers/adc/adc_sequence

- name: Build ADC API Test
run: |
source ~/zephyrproject/.venv/bin/activate
cd ~/zephyrproject/zephyr
source ~/zephyrproject/zephyr/zephyr-env.sh
west build -p always -b lp_mspm33c321a tests/drivers/adc/adc_api

- name: Build ADC Error Cases Test
run: |
source ~/zephyrproject/.venv/bin/activate
cd ~/zephyrproject/zephyr
source ~/zephyrproject/zephyr/zephyr-env.sh
west build -p always -b lp_mspm33c321a tests/drivers/adc/adc_error_cases
19 changes: 17 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
<div align="left">

# MSPM33 Downstream Support For Zephyr

This repository contains early Zephyr Support for MSPM33-class devices

The Texas Instruments Zephyr GitHub repository is the starting point for Zephyr
Expand All @@ -32,6 +33,20 @@ This release contains support for the `MSPM33C321A` device.

## Release Information

| Version | v4.2.0-ti-1.01.00.00_EA |
|---------|--------------------------|
| Zephyr RTOS | <br>• Zephyr Base Device Support<br>• Board Configuration, DTS, Interrupts, Timers, Clock (Fix Clocked), Pinmux, GPIO<br>• HS-ADC (Basic)<br>• UART Support (Polling and Interrupt-driven modes)<br>• SPI Support (Master mode) |

### What's New

This release adds the following new features:

- **UART Support**: Added MSPM33 support to the MSP UART driver with both polling and interrupt-driven modes
- **SPI Support**: Added MSPM33 support to the MSP SPI driver with master mode operation
- **Testing**: Added comprehensive test coverage for UART and SPI functionality

### Previous Releases

| Version | v4.2.0-ti-1.00.00.00_EA (pre-APL) |
|---------|--------------------------|
| Zephyr RTOS | <br>• Zephyr Base Device Support<br>• Board Configuration, DTS, Interrupts, Timers, Clock (Fix Clocked), Pinmux, GPIO<br>• HS-ADC (Basic)<br>• Blinky Example |
Expand All @@ -55,10 +70,10 @@ For getting started, please refer to the [Zephyr Getting Started Guide](https://
For detailed board-specific information, building instructions, flashing procedures, and required development tools, please refer to the board documentation in `boards/ti/lp_mspm33c321a/doc/index.rst`.

> **_NOTE:_** When running `west init` in the getting-started guide it's
> important to instead run `west init -m https://github.com/TexasInstruments/msp-zephyr --mr v4.2.0-ti-1.00.00.00_ea zephyrproject`
> important to instead run `west init -m https://github.com/TexasInstruments/msp-zephyr --mr v4.2.0-ti-1.01.00.00_ea zephyrproject`
> in order to use the TI Zephyr repository.
> Replace `zephyrproject` with your desired project directory name.
> The `v4.2.0-ti-1.00.00.00_ea` tag changes with each release from TI and zephyr .
> The `v4.2.0-ti-1.01.00.00_ea` tag changes with each release from TI and zephyr.
>


Expand Down
5 changes: 5 additions & 0 deletions boards/ti/lp_mspm0g5187/Kconfig.lp_mspm0g5187
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Copyright (c) 2025 Texas Instruments
# SPDX-License-Identifier: Apache-2.0

config BOARD_LP_MSPM0G5187
select SOC_MSPM0G5187
5 changes: 5 additions & 0 deletions boards/ti/lp_mspm0g5187/board.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# SPDX-License-Identifier: Apache-2.0

board_runner_args(jlink "--device=MSPM0G5187" "--speed=4000")
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
6 changes: 6 additions & 0 deletions boards/ti/lp_mspm0g5187/board.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
board:
name: lp_mspm0g5187
full_name: MSPM0G5187 Launchpad
vendor: ti
socs:
- name: mspm0g5187
140 changes: 140 additions & 0 deletions boards/ti/lp_mspm0g5187/doc/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
.. zephyr:board:: lp_mspm0g5187

Overview
********

MSPM0G511x microcontrollers (MCUs) are part of the MSP highly integrated, ultra-low-power 32-bit MCU
family based on the enhanced Arm® Cortex®-M0+ 32-bit core platform, operating at up to 80-MHz frequency.
These MCUs offer a blend of cost optimization and design flexibility for applications requiring 32KB to 128KB
of flash memory in small packages (down to 4 mm x 4 mm) or high pin count packages (up to 64 pins).
These devices include USB 2.0-FS interface, digital audio interface, cybersecurity enablers, high performance
integrated analog, and provide excellent low power performance across the operating temperature range.

Hardware
********

The MSPM0G51xx devices provide up to 128KB embedded flash program memory with built-in error correction
code (ECC) and up to 32KB SRAM with a hardware parity option. These MCUs also incorporate a
memory protection unit, 12-channel DMA, and a variety of peripherals including

* Analog.

* One 12-bit 4-Msps ADCs.

* Configurable internal shared voltage reference.

* One high speed comparator with built-in reference DAC.

* Digital.

* Two 16-bit advanced control timers.

* Four general-purpose timers.

* Two 16-bit general-purpose timers.

* One 16-bit general-purpose timer with low-power operation in STANDBY mode.

* One 16-bit timer with deadband support and up to 8 PWM Channels.

* One basic software timer including 4 indenpendent configurable 16-bit counters.

* Two windowed-watchdog timers.

* One RTC with alarm and calendar modes.

* Data Integrity and Encryption.

* One AES HW accelerator capable of CTR and CBC modes.

* One Cyclic Redundancy Check (CRC) accelerator.

* Communication.

* Two configurable serial interfaces (UNICOMM) supporting UART or I2C.

* One configurable serial interface supporting UART or SPI.

* One dedicated SPI interface up to 32 Mbits/s.

* One digital audio interface (I2S) supporting controller and target mode.

* One USB2.0 interface with full-speed (12-Mbps) compliant device and host mode.

Zephyr uses the ``lp_mspm0g5187`` board for building LP_MSPM0G5187

Features
********

- Onboard XDS110 debug probe
- EnergyTrace technology available for ultra-low-power debugging
- 3 buttons, 1 LED and 1 RGB LED for user interaction
- One microSD slot
- One microphone
- One I2S based audio ADC

Details on the MSPM0G5187 LaunchPad can be found on the `TI LP_MSPM0G5187 Product Page`_.

Supported Features
==================

.. zephyr:board-supported-hw::

Building and Flashing
*********************

Building
========

Follow the :ref:`getting_started` instructions for Zephyr application development.

For example, to build the blinky application for the MSPM0G5187 LaunchPad:

.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: lp_mspm0g5187
:goals: build

The resulting ``zephyr.bin`` binary in the build directory can be flashed onto
MSPM0G5187 LaunchPad using the steps mentioned below.

Flashing
========

OpenOCD can be used to program the flash memory on the devices.

.. code-block:: console

$ west flash --openocd <path to cloned dir>/src/openocd --openocd-search <path to cloned dir>/tcl

Flashing can also be done using JLINK.

.. code-block:: console

$ west flash --runner jlink

Debugging
=========

You can debug an application in the usual way. Here is an example for the
:zephyr:code-sample:`hello_world` application.

.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: lp_mspm0g5187
:goals: debug

References
**********

- `TI MSPM0 MCU Page`_
- `MSPM0G5187 TRM`_

.. _TI MSPM0 MCU Page:
https://www.ti.com/microcontrollers-mcus-processors/arm-based-microcontrollers/arm-cortex-m0-mcus/overview.html

.. _MSPM0G5187 TRM:
https://www.ti.com/lit/slau846

.. _TI LP_MSPM0G5187 Product Page:
https://www.ti.com/tool/LP-MSPM0G5187
Binary file added boards/ti/lp_mspm0g5187/doc/lp_mspm0g5187.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading