Commit graph

97805 commits

Author SHA1 Message Date
Jakub Zymelka
8091e93838 drivers: mbox: nrf: Change VEVIFs and BELLBOARD nomenclature
Renaming 'LOCAL' to 'RX' and 'REMOTE' to 'TX'.
This seems more descriptive and intuitive to use.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2024-06-15 04:41:47 -04:00
Jakub Zymelka
c7b36517ec dts: nordic: nrf54l15: Add mbox VEVIF nodes
Add a mbox VEVIF nodes to be used for communicating FLPR -> APP.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2024-06-15 04:41:47 -04:00
Jakub Zymelka
bace4a102d drivers: mbox: add initial driver for nRF VEVIF event
Add a mailbox driver for VEVIF events (VPR irq).
The driver can be built in either 'rx' or 'tx' configuration.
The VPR sends the event, so it uses the 'tx' configuration,
while the master core uses the 'rx' configuration of the driver
to receive the VPR events.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2024-06-15 04:41:47 -04:00
Jordan Yates
25fa41c209 scripts: twisterlib: coverage: handle multiple gcov dumps
Extend the coverage tool to handle applications that generate multiple
gcov dumps in a single execution. This can happen when the application
calls `sys_reboot`.

Handling multiple dumps enables coverage testing of exception handlers.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2024-06-15 04:39:53 -04:00
Jordan Yates
cc328a7fbf lib: os: reboot: dump coverage info on sys_reboot
If `sys_reboot` is called during testing, the standard dump when `main`
returns will never be executed. Failing to dump at this point means any
coverage information gathered will be lost upon reboot.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2024-06-15 04:39:53 -04:00
Jordan Yates
e881445065 testsuite: coverage: don't lock scheduler in ISR
Don't attempt to lock the scheduler is trying to dump coverage
information from an ISR. The scheduler won't run while the ISR is in
progress.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2024-06-15 04:39:53 -04:00
Dawid Niedzwiecki
3b85e8b8ea drivers: counter: add missing include
Add missing include for get_value_64 in the counter_handlers.c file.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2024-06-14 21:14:43 -04:00
Swift Tian
0b9430169e samples: mspi: Add a mspi async sample
The sample is added to demonstrate mspi_transceive asynchronously.
Apollo3 MSPI controller has hardware command queue and supports
scatter IO and callback management, so no additional software queue
is required.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2024-06-14 21:07:00 -04:00
Swift Tian
5dfdf2bc05 samples: mspi: Add a mspi flash sample
The sample code is copied from spi_flash. To flash API, there is no
difference if the bus is spi or mspi.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2024-06-14 21:07:00 -04:00
Swift Tian
2b103137ab tests: mspi: Add apollo3p_evb board to flash test
The apollo3p_evb board has a ATXP032 NOR flash and driver is tested
in mspi/flash test.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2024-06-14 21:07:00 -04:00
Swift Tian
ece0c9b0d3 drivers: mspi: Add ATXP032 NOR flash driver
The ATXP032 is a NOR flash device that supports up to ~100MHz
octal SDR/DDR with 4MB nonvolatile memory.
The device driver uses MSPI bus API and could be used across different
SoC controllers that implement the MSPI bus API.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2024-06-14 21:07:00 -04:00
Swift Tian
efdddd46b1 samples: memc: Add APS6404L device to memc example
Demo the usage of APS6404L device driver in memc example.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2024-06-14 21:07:00 -04:00
Swift Tian
c7ed0b6aa8 drivers: memc: Add APS6404L device driver
The APS6404L psram is a quad SDR SPI device that runs up to 100MHz.
It can provide 8MB of external RAM for SoCs that supports XIP feature.
The device driver uses MSPI bus API and could be used across
different controllers that implement the MSPI bus API.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2024-06-14 21:07:00 -04:00
Swift Tian
4d83bc2c8c tests: mspi: Add apollo3p_evb board to api test
Add the apollo3p_evb board to test the MSPI controller implementation.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2024-06-14 21:07:00 -04:00
Swift Tian
43e23cf9f2 drivers: mspi: Add Ambiq apollo3p mspi controller
The Ambiq MSPI controller is implemented using the MSPI bus API.
The hardware supports up to 48MHz octal SDR with XIP, scrambling and
hardware command queue features.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2024-06-14 21:07:00 -04:00
Swift Tian
aa66570c9e dts: mspi: Add Ambiq MSPI DTS and bindings
Add the Ambiq MSPI nodes to soc device tree and base bindings for
MSPI controllers and devices.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2024-06-14 21:07:00 -04:00
Swift Tian
81e51f0356 soc: ambiq: Add shared_ram section
Add linker script file shared_ram.ld where defines sections used by
specific peripherals.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2024-06-14 21:07:00 -04:00
Swift Tian
292a4ebf21 tests: mspi: Add a mspi flash test
The mspi flash test is intended to test mspi flash device driver
implementation on MSPI bus. The test requires the device to have at
least two sectors of memory with MSPI_FLASH_SECTOR_SIZE as size.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2024-06-14 21:07:00 -04:00
Swift Tian
eccc2ba8c4 drivers: flash: Add a flash emulator
Add a flash emulator that uses MSPI API to emulate a flash device
on MSPI bus.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2024-06-14 21:07:00 -04:00
Swift Tian
0e1f88dd0e dts: mtd: Add MSPI flash emulator binding
Add the binding the flash emulator under MSPI bus.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2024-06-14 21:07:00 -04:00
Swift Tian
25d01eaed4 doc: Add MSPI to bus emulator documentation
Add the MSPI bus emulator to documentation.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2024-06-14 21:07:00 -04:00
Swift Tian
42d24e5716 tests: mspi: Add mspi api test
Add a MSPI controller API test and run on native_sim board.
The API implementation within mspi_emul.c is the test target.
The stub device emulator is added for convenience to test controllers.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2024-06-14 21:07:00 -04:00
Swift Tian
f5554ca762 emul: mspi: Add the mspi controller emulator
Add bus emulator support for MSPI and the MSPI controller emulator.
The mspi_emul.c not only serves as an emulator but also provides an
example implementation of the MSPI API. It does not actually do anything
other than validating parameters and forwarding transceive request back
to the device driver emulators.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2024-06-14 21:07:00 -04:00
Swift Tian
99175e1443 boards: dts: Add MSPI controller to native_sim
Add the MSPI emulator controller node in the board dts.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2024-06-14 21:07:00 -04:00
Swift Tian
11c1722fef dts: mspi: Add MSPI emulator bindings
Add the controller and device emulator bindings for MSPI.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2024-06-14 21:07:00 -04:00
Swift Tian
a86bbd3ebf doc: Add MSPI API documentation
Add the mspi.rst doc and related things for document generation.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2024-06-14 21:07:00 -04:00
Swift Tian
8dd5b1e6b8 dts: mspi: Add MSPI bindings
Add the generic controller and device bindings for MSPI.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2024-06-14 21:07:00 -04:00
Swift Tian
8a2bf58826 drivers: mspi: Add the new MSPI API
The MSPI(multi-bit SPI) is provided as a generic API to accommodate
advanced SPI peripherals and devices that typically require command,
address and data phases, and multiple signal lines during these phases.
While the API supports advanced features such as XIP eXecute In Place
and scrambling, it is also compatible with generic SPI.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2024-06-14 21:07:00 -04:00
Sadik Ozer
6bb6bfb458 tests: drivers: gpio: Enable gpio driver tests for max32670evkit board
Enable gpio driver test for max32670evkit

Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
2024-06-14 21:06:16 -04:00
Sadik Ozer
8db4e355fb boards: Add MAX32670EVKit board
Added MAX32670EVKit board
For more information about this board please check
https://www.analog.com/

Co-authored-by: Maureen Helm <maureen.helm@analog.com>
Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
2024-06-14 21:06:16 -04:00
Sadik Ozer
b5fb89cb52 soc: Add the MAX32670 SoC
Add MAX32670 Kconfig and dts files

Co-authored-by: Maureen Helm <maureen.helm@analog.com>
Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
2024-06-14 21:06:16 -04:00
Vinayak Kariappa Chettimada
fe89b0ddfb Bluetooth: Controller: Fix BT_CTLR_ISOAL_PSN_IGNORE for event overlap
Fix BT_CTLR_ISOAL_PSN_IGNORE implementation when adjusting
Sequence Number during overlap with current CIG event.
Reuse the implementation from non-PSN ignore implementation.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Signed-off-by: Troels Nilsson <trnn@demant.com>
2024-06-14 21:06:01 -04:00
Marcin Niestroj
4835658b46 west: runners: openocd: handle empty --elf-file
Make this param truly optional, so that hex file alone is enough for
flashing.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2024-06-14 21:05:49 -04:00
Evgeniy Paltsev
59667d19ed snps: board: rmx100: add pmp
Add RV PMP to the SoC configuration and to simulator options

Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
2024-06-14 21:05:36 -04:00
Anas Nashif
f33d2c1251 MAINTAINERS: move inactive maintainers to collaborators
Move inactive maintainers to the collaborator section.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-06-14 19:22:52 -04:00
Flavio Ceolin
82f111a3b3 toolchain: llvm: Fix missing symbols
__INT16_C, __UINT16_C, __INT8_C and __UINT8_C are not defined in
zephyr_stdint.h and have to be defined in llvm.h when
CONFIG_MINIMAL_LIBC is enabled.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-06-14 19:10:08 -04:00
Flavio Ceolin
c0aba216af toolchain: llvm: Fix possible undefined macro
When CONFIG_MINIMAL_LIBC is enabled, __INTMAX_C and __UINTMAX_C
depend on int_c. Move the build guard to ensure that it is defined
when CONFIG_MINIMAL_LIBC is enabled.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-06-14 19:10:08 -04:00
Flavio Ceolin
e452bc36a6 dai: ssp/ptl: Add missing definition in PTL
SSCR0_ACS is missing in PTL header.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-06-14 19:08:07 -04:00
Thomas Gagneret
f5df063cbd scripts: zephyr_module: Move SPDX name normalization to writer.py
Since `writer.py` is the one writting the SPDX file, it should normalize
the name field and not `walker.py` which generates the SBOM components.

Signed-off-by: Thomas Gagneret <thomas.gagneret@hexploy.com>
2024-06-14 19:07:48 -04:00
Thomas Gagneret
0d05318c96 scripts: zephyr_module: Add URL, version to SPDX
Improve the SPDX with the current values:
 - URL: extracted from `git remote`. If more than one remote, URL is not
 set.
 - Version: extracted from `git rev-parse` (commit id).
 - PURL and CPE for Zephyr: generated from URL and version.

For zephyr, the tag is extracted, if present, and replace the commit id for
the version field.
Since official modules does not have tags, tags are not yet extracted for
modules.

To track vulnerabilities from modules dependencies, a new SBOM,
`modules-deps.spdx` was created. It contains the `external-references`
provided by the modules. It allows to easily track vulnerabilities from
these external dependencies.

Signed-off-by: Thomas Gagneret <thomas.gagneret@hexploy.com>
2024-06-14 19:07:48 -04:00
Jonathon Penix
eaa903d852 kconfig: llvm: Set default opt level to -Oz when building with LLVM
Experimentally, -Oz seems to give size results closer to GCC's -Os
(though GCC does now support -Oz as well). Set -Oz as the default for
LLVM to give the better codesize.

Signed-off-by: Jonathon Penix <jpenix@quicinc.com>
2024-06-14 19:05:50 -04:00
Jonathon Penix
d6041d62b3 cmake: kconfig: Add new abstraction for -Oz optimization level
Both Clang [1] and (recently) GCC [2] support this flag to enable
additional codesize optimizations beyond -Os, possibly at the expense of
performance.

This tradeoff is worthwhile for some (and, Clang's -Oz seems to be
closer to GCC's -Os currently), so add a new abstraction for this flag
so users can select it as appropriate.

[1] https://clang.llvm.org/docs/CommandGuide/clang.html#cmdoption-O0
[2] https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-Oz

Signed-off-by: Jonathon Penix <jpenix@quicinc.com>
2024-06-14 19:05:50 -04:00
Nikolay Agishev
efedf1cff3 ARCMWDT: Add compiler support for nSIM RMX platform
Add MetaWare compiller support for nSIM RMX platform

Signed-off-by: Nikolay Agishev <agishev@synopsys.com>
2024-06-14 19:01:06 -04:00
Sylvio Alves
85ae583f45 west.yaml: MCUboot synchronization from upstream
Update Zephyr fork of MCUboot to revision:
   898a1ca64a759541d9fcc37fef921db93d99ad70

Brings following Zephyr relevant feature:
 - 898a1ca6 boot: zephyr: add ESP32-C6 support

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-06-14 18:58:45 -04:00
Nicolas Pitre
51a5986b04 tests: demand_paging: extend memory access patterns
Add the ability to touch memory in the opposite direction from one loop
to the next so to exercize the LRU eviction algorithm.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2024-06-14 18:58:02 -04:00
Nicolas Pitre
92bc0cd0da demand_paging: Least Recently Used (LRU) eviction algorithm
This is a O(1) LRU eviction algorithm. A bit more complex but way more
scalable than the NRU algorithm.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2024-06-14 18:58:02 -04:00
Nicolas Pitre
6a3aa3b04e demand_paging: add frame tracking functions to eviction algorithms
Let eviction algorithms be notified when a given page frame:

- should be considered as possible candidate

- should no longer be considered as candidate

- has just been marked as "accessed"

The NRU algorithm is unchanged so it implements those as empty stubs.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2024-06-14 18:58:02 -04:00
Raffael Rostagno
9265c82313 soc: esp32c6: Kconfig and .ld updates, DTS and comments fix
Kconfig, .ld and comments fixing
Fixed address of UART1, WDT and RTC timer disabled by default

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2024-06-14 18:51:46 -04:00
Raffael Rostagno
3b732a1ade tests: rtc_clk: Added support to ESP32C6
Added support for C6 for CPU and LP clock testing

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2024-06-14 18:51:46 -04:00
Raffael Rostagno
6096a10b9a drivers: clock_control: Refactor for ESP32C6
Added support for C6 to allow CPU clock config

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2024-06-14 18:51:46 -04:00