Skip to content

Updated AM2434 work - #3

Open
m-braunschweig wants to merge 3659 commits into
TexasInstruments:mainfrom
siemens:mika/ti/ti-am2434-native-boot
Open

Updated AM2434 work#3
m-braunschweig wants to merge 3659 commits into
TexasInstruments:mainfrom
siemens:mika/ti/ti-am2434-native-boot

Conversation

@m-braunschweig

@m-braunschweigm-braunschweig commented Apr 9, 2025

Copy link
Copy Markdown

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-braunschweigforce-pushed the mika/ti/ti-am2434-native-boot branch 4 times, most recently from 632ce9d to d62c5ecCompareApril 16, 2025 14:28
@m-braunschweig
m-braunschweigforce-pushed the mika/ti/ti-am2434-native-boot branch from d62c5ec to 38f1022CompareApril 22, 2025 13:55
@m-braunschweig
m-braunschweigforce-pushed the mika/ti/ti-am2434-native-boot branch 2 times, most recently from 32c6753 to 62e7fa8CompareJune 13, 2025 12:06
@m-braunschweig
m-braunschweigforce-pushed the mika/ti/ti-am2434-native-boot branch from 62e7fa8 to 68e3f7fCompareJune 23, 2025 12:09
@m-braunschweig
m-braunschweigforce-pushed the mika/ti/ti-am2434-native-boot branch 2 times, most recently from 5db4137 to d62ad6bCompareOctober 1, 2025 10:15
@m-braunschweig
m-braunschweigforce-pushed the mika/ti/ti-am2434-native-boot branch 2 times, most recently from 68e3f7f to d700dbaCompareNovember 25, 2025 18:08
@github-actions

github-actionsBot commented Nov 25, 2025

Copy link
Copy Markdown

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

NameOld RevisionNew RevisionDiff
babblesim_baseBabbleSim/base@2cfac3d (v1.15.2)BabbleSim/base@f65b512 (master,v1.15.3)BabbleSim/base@2cfac3dc..f65b5125
babblesim_ext_2G4_libPhyComv1BabbleSim/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_simpleBabbleSim/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_magicBabbleSim/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_v1BabbleSim/ext_2G4_phy_v1@8964ed1 (v2.7)BabbleSim/ext_2G4_phy_v1@b0e49ae (HB,master,v3.0)BabbleSim/ext_2G4_phy_v1@8964ed1e..b0e49ae3
bsimzephyrproject-rtos/babblesim-manifest@2ba22a0 (v2.7)zephyrproject-rtos/babblesim-manifest@dcf997c (HB,main,v3.0)zephyrproject-rtos/babblesim-manifest@2ba22a06..dcf997c2
hal_adizephyrproject-rtos/hal_adi@eeb155fzephyrproject-rtos/hal_adi@4a189d5 (msdk-export)zephyrproject-rtos/hal_adi@eeb155f7..4a189d5d
hal_espressifzephyrproject-rtos/hal_espressif@2927aaezephyrproject-rtos/hal_espressif@af6cfa2zephyrproject-rtos/hal_espressif@2927aae9..af6cfa2e
hal_infineonzephyrproject-rtos/hal_infineon@f3c571fzephyrproject-rtos/hal_infineon@26ccd68zephyrproject-rtos/hal_infineon@f3c571f7..26ccd682
hal_nordiczephyrproject-rtos/hal_nordic@2c0fd06zephyrproject-rtos/hal_nordic@7858281 (master)zephyrproject-rtos/hal_nordic@2c0fd06a..7858281d
hal_nuvotonzephyrproject-rtos/hal_nuvoton@9b455ffzephyrproject-rtos/hal_nuvoton@602db60 (master)zephyrproject-rtos/hal_nuvoton@9b455fff..602db600
hal_nxpzephyrproject-rtos/hal_nxp@75bb126zephyrproject-rtos/hal_nxp@a7f64aczephyrproject-rtos/hal_nxp@75bb1262..a7f64ac2
hal_renesaszephyrproject-rtos/hal_renesas@fbe4b81zephyrproject-rtos/hal_renesas@a279c14zephyrproject-rtos/hal_renesas@fbe4b815..a279c14e
hal_stzephyrproject-rtos/hal_st@9f81b44zephyrproject-rtos/hal_st@6d96345 (master)zephyrproject-rtos/hal_st@9f81b442..6d963459
hal_stm32zephyrproject-rtos/hal_stm32@55e1597zephyrproject-rtos/hal_stm32@286dd28zephyrproject-rtos/hal_stm32@55e15970..286dd285
hostapzephyrproject-rtos/hostap@cf05f33zephyrproject-rtos/hostap@6086deazephyrproject-rtos/hostap@cf05f33f..6086dea5
lvglzephyrproject-rtos/lvgl@b03edc8 (zephyr_2025_06_11)zephyrproject-rtos/lvgl@c016f72zephyrproject-rtos/lvgl@b03edc8e..c016f72d
mbedtlszephyrproject-rtos/mbedtls@f4c0283zephyrproject-rtos/mbedtls@c5b06d8zephyrproject-rtos/mbedtls@f4c0283c..c5b06d89
mcubootzephyrproject-rtos/mcuboot@96576b3zephyrproject-rtos/mcuboot@f3cc947 (main,upstream-sync)zephyrproject-rtos/mcuboot@96576b34..f3cc9476
nanopbzephyrproject-rtos/nanopb@7307ce3zephyrproject-rtos/nanopb@5499fd4 (master)zephyrproject-rtos/nanopb@7307ce39..5499fd4c
nrf_wifizephyrproject-rtos/nrf_wifi@e269670zephyrproject-rtos/nrf_wifi@a39e9b1zephyrproject-rtos/nrf_wifi@e269670c..a39e9b15
sof ❌zephyrproject-rtos/sof@ba8de75N/A (Removed)N/A
trusted-firmware-mzephyrproject-rtos/trusted-firmware-m@94691a2zephyrproject-rtos/trusted-firmware-m@04aa724 (main)zephyrproject-rtos/trusted-firmware-m@94691a2e..04aa7243

Additional metadata changed:

NameURLSubmodulesWest cmdsmodule.ymlBlobs
hal_nxp4x 🆕
hal_stm322x ✏
nanopb
nrf_wifi5x ✏

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.

rexutand others added 16 commits February 6, 2026 13:58
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>
@m-braunschweig
m-braunschweigforce-pushed the mika/ti/ti-am2434-native-boot branch from 17b587d to 2b9fedeCompareFebruary 6, 2026 14:54
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>
@m-braunschweig
m-braunschweigforce-pushed the mika/ti/ti-am2434-native-boot branch from 2b9fede to 0c35ad9CompareFebruary 10, 2026 10:38
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-braunschweigforce-pushed the mika/ti/ti-am2434-native-boot branch from 0c35ad9 to f3dfea1CompareFebruary 16, 2026 09:33
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment