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
VitekST and others added 20 commits November 20, 2025 06:03
Remove non-compliant EOL in the mikrobus_i2c empty node declaration in
boards/nxp/lpcxpresso55s69/lpcxpresso55s69.dtsi.

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
Add information about the network API changes in 4.4 release.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Added support for async api application on ADL-n platform

Signed-off-by: Bindu S <bindu.s@intel.com>
In the manifest case, we were operating on a str instead of the area
object.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Add wrappers for following XEN_DMOP_* hypercalls.
These enables Xen device model control path:
dm_op provides operations to create/manage the ioreq server
so guest MMIO accesses are trapped and handled by the hypervisor.
These are guarded by CONFIG_XEN_DMOP.

- dmop
  - dmop_create_ioreq_server
    XEN_DMOP_create_ioreq_server
  - dmop_map_io_range_to_ioreq_server
    XEN_DMOP_map_io_range_to_ioreq_server
  - dmop_set_ioreq_server_state
    XEN_DMOP_set_ioreq_server_state
  - dmop_nr_vcpus
    XEN_DMOP_nr_vcpus
  - dmop_set_irq_level:
    XEN_DMOP_set_irq_level

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Fix hal_st module that broke CI.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
As per the Zephyr coding guidelines, functions declarations
in header files should not be conditionally compiled.

This fixes an issue with tester_gap_clear_adv_instance
where btp_gap.c always expect it to be available.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Atmel related work has reduced, remove my collaborator role.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Commit fixes the model rx handler.
Model can receive maximum access payload.
Test should be able fit maximum access payload and
its own header for serial communication.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
Add DWARF hint to handle z_thread_entry correctly
in debuggers. This function starts a new thread and never returns.
Use `.cfi_undefined` so DWARF-based unwinding does not rely on return.
Without this, unwinding may follow a bogus return address, leading to
invalid memory reads and potential bus faults during backtrace.

Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
When using the add_src and mod_src APIs the
aggregated_bis_syncs variable was only ever set to 0
and never updated, thus making all calls to
bis_syncs_unique_or_no_pref to be true.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Adds jsbatch and billwatersiii as collaborators for Infineon Platform
and hal_infineon west project.

Signed-off-by: John Batch <john.batch@infineon.com>
Refactor how receive states are handled in the BAP
shell.

The scan delegator's receive states are not available from
the broadcast sink, and the broadcast sink makes sure to
properly set the pa_sync object in the receive state
struct.
The receive states are now also using the BAP service data to
identity the receive state when using PAST.

The broadcast assistant will now cache data from a remote device,
and makes it available to e.g. CAP.
Additionally if there is a broadcast source, we cache the values
neccesary to identity if a remote receive state represents our
local broadcast source.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Xen API contains hypercall, which allows domains to identify Xen
version, that is currently used on the system. It can be used to check
if current version is supported by Zephyr or to change behavior of the
drivers or services.

Signed-off-by: Dmytro Semenets <dmytro_semenets@epam.com>
Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
This hypercall can be used get some information about physical machine
and running guests:

- sysctl hypercall "xen_sysctl_getphysinfo" allows read information about
physical machine: number CPUs, memory sizes, hardware capabilities, etc.

- sysctl hypercall "xen_sysctl_getdomaininfolist" returns array of domain
info structures that provide information about particular domain(s).

Signed-off-by: Dmytro Semenets <dmytro_semenets@epam.com>
Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
Domain control call "XEN_DOMCTL_getvcpuinfo" provides information
about domain's virtual CPU(s). It can be used by Domain-0 services
for gathering statistic and vCPUs current status.

Signed-off-by: Dmytro Semenets <dmytro_semenets@epam.com>
Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
The size is passed in bytes, not in megabytes. So rename the parameter
to avoid confusion.

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
Document all of the public functions in the domctl API with doxygen

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
If 0 is passed as domain id to the Xen createdomain hypercall, it will
allocate a new domain id and return it via the domctl structure.
Allow callers to access this new domain id via a pointer arg.
This will allow to create domains without explicitly specifying the
domain id for them.

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
Add a new Kconfig option CONFIG_XEN_DOMCTL_INTERFACE_VERSION that allows
to change the version of the Domctl interface used by Zephyr to issue
domctl hypercalls. Add compile-time checks to enable or disable certain
Domctl operations based on the selected Domctl interface version.
For now versions 0x15, 0x16, and 0x17 are supported.

Also it required to correctly guard domctl call that were not supported
prior to specified version.

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.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.

As of now the driver additionally also doesn't support multi peripherals.

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 05a317b to 17b587d Compare November 25, 2025 18:21
venkatesan-krishnamoorthy pushed a commit that referenced this pull request Dec 1, 2025
Map all pins of RT685's Flexcomm #1 peripheral.

Needed for opration of Flexcomm #1 in I2S mode or Flexcomm #3 in I2S
mode with shared signals.

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
venkatesan-krishnamoorthy pushed a commit that referenced this pull request Dec 1, 2025
Add SCK and WS signals to a shared signal set between Flexcomm #1 and
Flexcomm #3 for the mimxrt685_evk/mimxrt685s/cm33.

This enables the board to both transmit and receive audio, as the BCK
and WS signals produced by the WM8904 codec are only connected to the
Flexcomm #1 peripheral.

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment