Skip to content

Conversation

@m-braunschweig
Copy link

@m-braunschweig m-braunschweig commented Apr 9, 2025

This is an updated version of #1, based on an older version of zephyrproject-rtos#87321.
Additionally to #1 the following additions were made:

  • Add board overlay to run the mspi flash test on the am243x-lp
  • Fix wrong address in the VIM interrupt controller driver
  • Compare interrupt number reported from the VIM with the configured Kconfig number to avoid invalid configurations
  • Add necessary code to run Zephyr directly after the SoC ROM bootloader or after MCUboot
    • Add option to let non-main Cortex-R cores spin endlessly
    • Add boot variant to the SoC and board
    • Kconfig changes for simplicitly
    • Updated documentation
    • Add script that's automatically invoked to generate ROM compatible image
    • Update MPU for non-TCM booting

When using MCUboot you need to use https://github.com/siemens/mcuboot/tree/mika/upstream/add-cortex-r-support

@m-braunschweig m-braunschweig force-pushed the mika/ti/ti-am2434-native-boot branch 4 times, most recently from 632ce9d to d62c5ec Compare April 16, 2025 14:28
@m-braunschweig m-braunschweig force-pushed the mika/ti/ti-am2434-native-boot branch from d62c5ec to 38f1022 Compare April 22, 2025 13:55
@m-braunschweig m-braunschweig force-pushed the mika/ti/ti-am2434-native-boot branch 2 times, most recently from 32c6753 to 62e7fa8 Compare June 13, 2025 12:06
@m-braunschweig m-braunschweig force-pushed the mika/ti/ti-am2434-native-boot branch from 62e7fa8 to 68e3f7f Compare June 23, 2025 12:09
@m-braunschweig m-braunschweig force-pushed the mika/ti/ti-am2434-native-boot branch 2 times, most recently from 5db4137 to d62ad6b Compare October 1, 2025 10:15
@m-braunschweig m-braunschweig force-pushed the mika/ti/ti-am2434-native-boot branch 2 times, most recently from 68e3f7f to d700dba Compare November 25, 2025 18:08
@github-actions
Copy link

github-actions bot commented Nov 25, 2025

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

Name Old Revision New Revision Diff
babblesim_base BabbleSim/base@2cfac3d (v1.15.2) BabbleSim/base@f65b512 (master,v1.15.3) BabbleSim/base@2cfac3dc..f65b5125
babblesim_ext_2G4_libPhyComv1 BabbleSim/ext_2G4_libPhyComv1@e18e41e (v2.5) BabbleSim/ext_2G4_libPhyComv1@23e7a84 (HB,master,v3.0) BabbleSim/ext_2G4_libPhyComv1@e18e41e8..23e7a84f
babblesim_ext_2G4_modem_BLE_simple BabbleSim/ext_2G4_modem_BLE_simple@4d2379d (v2.4.1) BabbleSim/ext_2G4_modem_BLE_simple@3712283 (HB,master,v3.0) BabbleSim/ext_2G4_modem_BLE_simple@4d2379de..3712283f
babblesim_ext_2G4_modem_magic BabbleSim/ext_2G4_modem_magic@edfcda2 (v2.2) BabbleSim/ext_2G4_modem_magic@d8281ac (HB,master,v3.0) BabbleSim/ext_2G4_modem_magic@edfcda2d..d8281acb
babblesim_ext_2G4_phy_v1 BabbleSim/ext_2G4_phy_v1@8964ed1 (v2.7) BabbleSim/ext_2G4_phy_v1@b0e49ae (HB,master,v3.0) BabbleSim/ext_2G4_phy_v1@8964ed1e..b0e49ae3
bsim zephyrproject-rtos/babblesim-manifest@2ba22a0 (v2.7) zephyrproject-rtos/babblesim-manifest@dcf997c (HB,main,v3.0) zephyrproject-rtos/babblesim-manifest@2ba22a06..dcf997c2
hal_adi zephyrproject-rtos/hal_adi@eeb155f zephyrproject-rtos/hal_adi@4a189d5 (msdk-export) zephyrproject-rtos/hal_adi@eeb155f7..4a189d5d
hal_espressif zephyrproject-rtos/hal_espressif@2927aae zephyrproject-rtos/hal_espressif@af6cfa2 zephyrproject-rtos/hal_espressif@2927aae9..af6cfa2e
hal_infineon zephyrproject-rtos/hal_infineon@f3c571f zephyrproject-rtos/hal_infineon@26ccd68 zephyrproject-rtos/hal_infineon@f3c571f7..26ccd682
hal_nordic zephyrproject-rtos/hal_nordic@2c0fd06 zephyrproject-rtos/hal_nordic@7858281 (master) zephyrproject-rtos/hal_nordic@2c0fd06a..7858281d
hal_nuvoton zephyrproject-rtos/hal_nuvoton@9b455ff zephyrproject-rtos/hal_nuvoton@602db60 (master) zephyrproject-rtos/hal_nuvoton@9b455fff..602db600
hal_nxp zephyrproject-rtos/hal_nxp@75bb126 zephyrproject-rtos/hal_nxp@a7f64ac zephyrproject-rtos/hal_nxp@75bb1262..a7f64ac2
hal_renesas zephyrproject-rtos/hal_renesas@fbe4b81 zephyrproject-rtos/hal_renesas@a279c14 zephyrproject-rtos/hal_renesas@fbe4b815..a279c14e
hal_st zephyrproject-rtos/hal_st@9f81b44 zephyrproject-rtos/hal_st@6d96345 (master) zephyrproject-rtos/hal_st@9f81b442..6d963459
hal_stm32 zephyrproject-rtos/hal_stm32@55e1597 zephyrproject-rtos/hal_stm32@286dd28 zephyrproject-rtos/hal_stm32@55e15970..286dd285
hostap zephyrproject-rtos/hostap@cf05f33 zephyrproject-rtos/hostap@6086dea zephyrproject-rtos/hostap@cf05f33f..6086dea5
lvgl zephyrproject-rtos/lvgl@b03edc8 (zephyr_2025_06_11) zephyrproject-rtos/lvgl@c016f72 zephyrproject-rtos/lvgl@b03edc8e..c016f72d
mbedtls zephyrproject-rtos/mbedtls@f4c0283 zephyrproject-rtos/mbedtls@c5b06d8 zephyrproject-rtos/mbedtls@f4c0283c..c5b06d89
mcuboot zephyrproject-rtos/mcuboot@96576b3 zephyrproject-rtos/mcuboot@f3cc947 (main,upstream-sync) zephyrproject-rtos/mcuboot@96576b34..f3cc9476
nanopb zephyrproject-rtos/nanopb@7307ce3 zephyrproject-rtos/nanopb@5499fd4 (master) zephyrproject-rtos/nanopb@7307ce39..5499fd4c
nrf_wifi zephyrproject-rtos/nrf_wifi@e269670 zephyrproject-rtos/nrf_wifi@a39e9b1 zephyrproject-rtos/nrf_wifi@e269670c..a39e9b15
sof ❌ zephyrproject-rtos/sof@ba8de75 N/A (Removed) N/A
trusted-firmware-m zephyrproject-rtos/trusted-firmware-m@94691a2 zephyrproject-rtos/trusted-firmware-m@04aa724 (main) zephyrproject-rtos/trusted-firmware-m@94691a2e..04aa7243

Additional metadata changed:

Name URL Submodules West cmds module.yml Blobs
hal_nxp 4x 🆕
hal_stm32 2x ✏
nanopb
nrf_wifi 5x ✏

DNM label due to: 1 removed project, 4 projects with metadata changes and 11 blob changes

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

kartben and others added 29 commits February 6, 2026 13:56
Use SHELL_HELP macro for help strings to ensure consistency across
various shell modules and save flash.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
If a device has multiple flashes, likely it has multiple partition tables.
This change updates the `flash partitions` command to print all partitions
for all partition tables, instead of just one partition table.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
Adds support for the Seeed Studio XIAO CAN Bus shield. This shield is
similar to the other shields but designed for the Seeed Studio XIAO
hardware interface. The shield conflicts with the XIAO serial interface
on D6 and D7 that must be used for SPI CS and the MCP2515 INT. The shield
resolves this conflict by disabling the XIAO serial function (see
documentation and DTS overlays).

Successfully evaluated with the following compatible boards:

- Seeeduino XIAO (a.k.a. Seeed Studio XIAO SAMD21)
- Seeed Studio XIAO BLE (Sense), a.k.a. XIAO nRF52840 (Sense)
- Seeed Studio XIAO RP2040

Potentially usable with the following compatible boards:

- Seeed Studio XIAO ESP32-S3 (Sense)
- Seeed Studio XIAO ESP32-C3
- Seeed Studio XIAO ESP32-C6
- Seeed Studio XIAO MG24
- Seeed Studio XIAO nRF54L15
- Seeed Studio XIAO RA4M1

Signed-off-by: Stephan Linz <linz@li-pro.net>
Adds build test case for Microchip MCP2515 CAN controller with
seeed_xiao_can shield on all supported Seeed Studio XIAO boards.

Signed-off-by: Stephan Linz <linz@li-pro.net>
The documentation referenced a blog post about RGB LED strips that
is no longer accessible.

Replace the broken link with a valid and relevant resource and add
additional stable references to improve the documentation.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
For STM32F4, the SAI HAL writes into the RCC DCKCFGR register to set the
clock source. To ensure that is conforms with what is declared in the
device tree, the ClockSource field in the Init structure needs to be
correctly configured before calling HAL_SAI_InitProtocol.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
The consumer functions are only meant to be used by the SCMI core. Thus,
there's no need to keep their documentation public. Transport driver
writers should only care about the driver API documentation anyways.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
"struct scmi_channel" has a couple of fields, which are only meant to
be used by the SCMI core. As such, there's no need to expose their
documentation to the public since transport driver writers shouldn't have
to care about them anyways. Thus, mark these fields as INTERNAL_HIDDEN.

Note that the order of the structure fields is shuffled such that
public and private fields can stay grouped together.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Add documentation for the transport driver API. This is done by moving
and rewriting the previously existing documentation bits from the
transport consumer API. The documentation is rewritten such that it can
be more concise.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Fix mistyped sensor name in ILPS22QS sensor dts bindings descriptions.

No functional changes.

Signed-off-by: Sidharth Sankar <sidstuffhere@gmail.com>
We already allow using `fs_opendir` on the
root dir, so `fs_stat` should also work with it.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
Update hal_st revision to fix unconditional directory inclusion
of ST HAL.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
Add rtc node to stm32h7rs dts

Signed-off-by: Thomas Decker <decker@jb-lighting.de>
- Activate the RTC node in the device tree by enabling its clocks and
setting its status to okay
- Add 'rtc' to the supported features in the board YAML configuration

Signed-off-by: Thomas Decker <decker@jb-lighting.de>
Fix multiple spelling errors in GPIO ADI dts bindings descriptions.

No functional changes.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Split up Kconfig settings for the ti Keystone 3 (K3) architecture. The old
configuration assumed that every R5F is initialized via a table that's
compatible with the linux remote proc framework and OpenAMP library.

Additionally the number of interrupts and speed of the system timer was
specified only by the cpu type for this series.

For better extendability this was split up into different files that
reflect the subseries of the soc.

Additionally this sets the number of interrupts and the clock frequency for
the R5F in the AM243x to the correct value and the MPU is enabled by
default.

Signed-off-by: Mika Braunschweig <mika.braunschweig@siemens.com>
For booting the AM2434 SoC via SBL Bootloader it's necessary to have the
exception vector at the address 0x0. To be able to easily use that memory
with the ROMSTART_REGION Kconfig option 1 KiB has been split up.

Since the ROMSTART_REGION_SIZE option uses the unit KiB this sadly wastes
960 byte of ATCM memory though it's theoretically possible to add small
sections here.

Signed-off-by: Mika Braunschweig <mika.braunschweig@siemens.com>
Add the AM243x Launchpad board from TI. It's possible to run the blinky and
echo_bot example from it as one of the LEDs and a uart node are included in
the devicetree.

Signed-off-by: Mika Braunschweig <mika.braunschweig@siemens.com>
Add a Cadence MSPI peripheral driver, used in the TI K3 platform. The
driver was tested in 1S-1S-1S and 4S-4S-4S mode with the onboard infineon
s25h flash of the am243x launchpad and a custom driver for the flash using
this interface.

The command and dummy cycles are always taken from the xfer request and
never from the devicetree since different commands might have different
latencies.

The driver is somewhat basic for now and lacks e.g. callback
implementation. This is something that can be added in the future. If a
non-supported / invalid request is detected a error code is returned.

Signed-off-by: Mika Braunschweig <mika.braunschweig@siemens.com>
Add the mspi0 bus in disabled state to the am64x soc

Signed-off-by: Mika Braunschweig <mika.braunschweig@siemens.com>
Add a infineon s25h mspi nor flash driver. This driver was tested on the
am243x-lp board in 1S-1S-1S and 4S-4S-4S mode.

It takes the initial configuration from the devicetree and then sends a
reset command. After that it disables the uniform hybrid sector
architecture, if activated, and applies the setting by resetting the flash
again.

After that the 4S-4S-4S mode is entered, if not disabled in the devicetree,
and 4 byte adressing gets enabled. During these steps the JEDEC device and
manufacturer ids from the devicetree are compared against the ones reported
from the flash to ensure a valid connection. If the device isn't switched
into 4S-4S-4S mode the driver can also be used in 1S-1S-1S mode with S28H
flash.

Due to the flash possibily entering continious read mode when undesired
some read operations will read the JEDEC id to prevent this.

Signed-off-by: Mika Braunschweig <mika.braunschweig@siemens.com>
Add the Infineon flash chip to the devicetree of the am243x_launchpad

Signed-off-by: Mika Braunschweig <mika.braunschweig@siemens.com>
The test looks for devices that are enabled on a bus that's aliased mspi0.
To allow the am243x_launchpad to run this test it was needed to add an
overlay which creates this alias

Signed-off-by: Mika Braunschweig <mika.braunschweig@siemens.com>
Adding necessary files so the mspi flash driver test can be automatically
built for the AM243x LaunchPad. For running it still needs a bootloader
that runs before the test itself.

Signed-off-by: Mika Braunschweig <mika.braunschweig@siemens.com>
Some SoCs start multiple CPU cores in a SMP configuration but sometimes
there is missing support in Zephyr or the SoCs has requirements that can't
be fulfilled by Zephyr yet (e.g. all spinlocks need to be implemented using
hardware spinlocks since the sram doesn't support exclusive access).

To address this an option was added that puts all CPU cores except the one
with the number 0 (according to the Multiprocessor Affinity Register with
the bits for Affinity Level 0) into an endless loop directly on startup.

Signed-off-by: Mika Braunschweig <mika.braunschweig@siemens.com>
Until now there was only one Kconfig option for the R5F which implied
cluster 0 core 0. According to they SoC porting guide this has now been
changed to add a general option for the R5F cores so it will be easier to
add other cores/variants later.

Signed-off-by: Mika Braunschweig <mika.braunschweig@siemens.com>
This commit adds all required parts to boot a Zephyr application directly
on the AM2434 Launchpad. Additionally it has been verified that MCUboot can
be used to boot a Zephyr application from the flash.

To achieve this a new variant has been added that specifies the application
is built to run directly after the ROM bootloader. This will automatically
generate a binary that can be loaded by the ROM bootloader that's running
on the chip.

Signed-off-by: Mika Braunschweig <mika.braunschweig@siemens.com>
The AM2434 has a security coprocessor that does some configuration in the
background. Not waiting for it to finish the configuration has led to
instability. Now the SoC is waiting for the DMSC-L boot notification before
progressing further.

Signed-off-by: Mika Braunschweig <mika.braunschweig@siemens.com>
This commit adds support for directly running west flash on the
am243x_launchpad. It does this via a new script with minimal XMODEM1k
support and a new sample. The code and documentation isn't finished and
should not be submitted upstream yet!

Signed-off-by: Mika Braunschweig <mika.braunschweig@siemens.com>
@m-braunschweig m-braunschweig force-pushed the mika/ti/ti-am2434-native-boot branch from 17b587d to 2b9fede Compare February 6, 2026 14:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment