Add TI LP-MSPM0L1117 board#102398
Conversation
According to TI datasheet, MSPM0L1117 has support for MPU with 8 programmable regions(chapter 8.2). Link: https://www.ti.com/lit/ds/symlink/mspm0l1116.pdf Signed-off-by: Razvan Heghedus <razvan.heghedus@protonmail.com>
Existing LUTs for MSPM0L are not pin compatible with MSPM0L1117, so add the correct configuration based on TI datasheet. Link: https://www.ti.com/lit/ds/symlink/mspm0l1116.pdf Signed-off-by: Razvan Heghedus <razvan.heghedus@protonmail.com>
MSPM0L1117 Launchpad is an easy to use evaluation module (EVM) based on the MSPM0L1117. It has 16KB SRAM and 128KB Flash. Signed-off-by: Razvan Heghedus <razvan.heghedus@protonmail.com>
|
| select CLOCK_CONTROL | ||
| select SOC_EARLY_INIT_HOOK | ||
|
|
||
| config SOC_MSPM0L1117 |
There was a problem hiding this comment.
Didn't know about your PR, Then I should drop my change and rebase on top of yours.
| source [find interface/xds110.cfg] | ||
| adapter speed 10000 | ||
|
|
||
| source [find target/ti_mspm0.cfg] No newline at end of file |
There was a problem hiding this comment.
In upstream openocd, the path for this file is now target/ti/mspm0.cfg. I have tested it with mspm0l1117 flashing. I also was not able to use west flash directly and had to use the following openocd command to flash:
openocd -f tcl/board/ti/mspm0-launchpad.cfg -c 'init' -c 'reset init' -c 'flash write_image erase /mnt/zephyr.hex' -c 'reset run' -c shutdownBasically, the openocd command west flash was creating was missing the initial -c 'init'. So have you tested this on your end?
Also there is already board/ti/mspm0-launchpad.cfg in upstream openocd so maybe directly source it?
There was a problem hiding this comment.
Well, I didn't used OpenOCD for debugging/flashing. I used Lauterbach. This file was copied from
lp_mspm0l2228 since it's using the same xds110 interface. I just assumed that information is correct/up to date.
There was a problem hiding this comment.
Ok, so at least west flash is working now. The problem was with my board.cmake. The working board.cmake is:
if(CONFIG_SOC_MSPM0L1117)
board_runner_args(openocd "--no-halt" "--no-targets" "--gdb-client-port=3339" "--config=${BOARD_DIR}/support/openocd.cfg")
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
endif()
And my openocd.cfg is as follows:
source [find board/ti/mspm0-launchpad.cfg]
| Open OCD is used to program the flash memory on the devices. It may be necessary in | ||
| earlier versions to use a branch of open OCD onto the device. | ||
|
|
||
| Before OpenOCD is public, one can clone `This Repo <https://github.com/openocd-org/openocd.git>`_, |
There was a problem hiding this comment.
You are just pointing to upstream openocd now (which is correct). So the line probably needs to be updated? It's just that the openocd shipped with zephyr sdk does not have mspm0 support. Upstream openocd already has the support.
There was a problem hiding this comment.
In similar fashion to openocd.cfg, this part was taken from l2228 documentation.
But I guess, that in both cases this information should be update.



This adds support for TI LP-MSPM0L1117 board.
This is a draft PR since it depends on zephyrproject-rtos/hal_ti#80
Early feedback is welcomed, especially on the gpio_mspm driver since I don't know if those ifdefs for PINCM LUTs are maintainable if more SoC are added.