Commit graph

113857 commits

Author SHA1 Message Date
Julian Achatzi
f9168ae464 arch: common: Make nocache region loadable
The `nocache` is not loadable, thus data stored therein cannot be
initialized by the startup code. This might be needed in special
cases. E.g. One might have a buffer which one wants to DMA into,
and which is a member of a struct. Other members of the struct one
may want to have initialized by the startup code.
The buffer thus should be placed in the `nocache` region, but for
the other members of the buffer to be initialized by the startup
code, the `nocache` region needs to be loadable.

Fix it by making the `nocache` region loadable. Adding a KConfig
symbol to do this optionally was considered, but deemed unnecessary
during the PR.

Signed-off-by: Julian Achatzi <mail@achatzi.pro>
2025-04-21 12:42:19 +02:00
Hu Dou
25564f73dc drivers: i3c: stm32: fix clock init for i2c fast mode plus
The logic of clock initialization for i2c fast mode (FM) and fast
mode plus (FMP) is as follows:
 1 compute how many system clock cycles for SCL to be low
 2 compute how many system clock cycles for SCL to be high by
   subtracting the low duration computed above from the SCL period
 3 verify the high duration computed in 2 is larger than a minimum
The bug is that the step 3 for the FMP is compared with the
minimum value for FM, and causes it to fail.

The fix corrects the bug.

Signed-off-by: Hu Dou <hugh.dou@gmail.com>
2025-04-21 12:42:01 +02:00
Nicolas Pitre
f087aa264e kernel/pipe: fix poll support
Two issues:

- is_condition_met() was missing proper code for The
  K_POLL_TYPE_PIPE_DATA_AVAILABLE case

- z_handle_obj_poll_events() was misplaced in z_impl_k_pipe_write()

Note: I added support for the deprecated pipe implementation to
      is_condition_met() but that is untested.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2025-04-21 07:45:35 +02:00
Nicolas Pitre
e29c0c1783 tests: poll: add pipe coverage
Add pipe test coverage.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2025-04-21 07:45:35 +02:00
Daniel Leung
d08981527d soc: intel_adsp/ace: use custom arch_spin_relax()
Intel Audio DSP ACE needs to use arch_spin_relax() to give
the bus more time to propagate the RCW transactions among
CPUs, and to avoid sending too many requests to the bus
after failing to lock spinlocks. However, the number of
NOPs results in a very big arch_spin_relax() that spans
multiple instruction cache lines, and requires evicting
them just for NOPs.  With 5 CPUs, it can span 6 cache
lines (if using nop.n instead of nop). That's a waste of
space and cache. So instead, we do a tight loop instead.
Since the SoC supports zero-overhead loops, this should
have minimal performance impact.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2025-04-21 07:45:23 +02:00
Daniel Leung
58b035b85f soc: intel_adsp/ace: linker: align cpuhold_* variables
For some weird unknown reasons, the simulator really do not
like the cpuhold_* variables to be tightly packed together.
This results in cpuhold_spawned not being updated, and we
will be stuck in the while loop for it to be set.
Workaround this by explicitly aligning these variables on
16 byte boundary. This seems to work for now.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2025-04-21 07:45:23 +02:00
Daniel Leung
e5685cab4a soc: intel_adsp/ace: link xtensa_swap_update_page_tables...
...earlier. Similar to xtensa_do_syscall, we want to group
some functions together.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2025-04-21 07:45:23 +02:00
Dylan Hsieh
c60d2c58f8 soc: realtek: rts5912 image tool add SHA2 tag
Let rts5912 image tool to add SHA2 tag at the tail end of image.

Signed-off-by: Dylan Hsieh <dylan.hsieh@realtek.com>
2025-04-21 07:45:14 +02:00
Krzysztof Chruściński
bb4fb12ca4 pm: policy: default: Optimize power state selection
Update power state selection. Previously, it was iterating over states
starting from the last one so the most common short sleep periods were
taking the longest time to select. Order is now swapped so that short
sleeps will get power state as quick as possible.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-04-21 07:45:07 +02:00
Krzysztof Chruściński
5a313e141d pm: Add option to quickly detect power state availability
When all states are locked or latency requirement cannot be met
by any power state it is important to be able to quickly exit
suspend procedure because that usually means that application
requires high performance. Add function for detecting if any
power state is available.

Additionally, add function pm_policy_state_is_available for
checking if given state is available which means that it is not
locked and fulfills current latency requirement.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-04-21 07:45:07 +02:00
Ioannis Damigos
e41909a32c soc: da1469x: Drop CONFIG_SRAM_VECTOR_TABLE from default configuration
Drop CONFIG_SRAM_VECTOR_TABLE from default configuration.

Signed-off-by: Ioannis Damigos <ioannis.damigos.uj@renesas.com>
2025-04-19 11:48:24 +02:00
Emil Gydesen
4cffba7c08 tests: Bluetooth: tester: BAP: Fix wrong wrong bcast rsp sizes
Several responses had incorrect sizes, which this commit fixes.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-04-19 11:48:16 +02:00
Sreeram Tatapudi
f64ff43a22 modules: hal_infineon: wifi-host-driver: Fixes cmake issues
- Fixes errors in the wifi_host_driver CMakeLists.txt (LWB5+)

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2025-04-19 11:48:09 +02:00
Tim Pambor
ef7892dc24 boards: st: stm32h573i_dk: Add support for probe-rs
Allow flashing the STM32H573II chip found on the STM32H573I-DK board
using the probe-rs runner.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2025-04-19 11:48:01 +02:00
Alberto Escolar Piedras
0648e49bf0 manifest: Update nRF hw models to latest
Update the HW models module to:
d5b95fdd0260e8189e788d40d2863d1e2d4be159

Including the following:
d5b95fd grtc hal replacement: Fix bug in nrf_grtc_int_group_enable/
        disable()
5f3641d GRTC: With a CC in the past evaluate immediately

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-04-18 17:49:40 +02:00
Fin Maaß
1ace896425 ethernet: dwc_xgmac: use phy api correctly
use phy_configure_link() instead of phy_api->cfg_link().

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-04-18 17:47:14 +02:00
Andrej Butok
45008f26c5 samples: tests: mimxrt1170_evk: avoid duplication in configuration
- Remove duplicated conf/.overlay configuration for
  mimmxrt1170_evk A and B revisions that have the same content.
- No change if .conf/.overlay have different content.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2025-04-18 17:46:59 +02:00
Anas Nashif
a97881fd63 doc: doxygen: move usermode mutex/sem under usermode group
Move usermode mutex/semaphore under the usermode group.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-04-18 17:46:50 +02:00
Anas Nashif
8fe2395103 doc: doxygen: add @brief to few APIs
Add some clarity to some of the groups using @brief.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-04-18 17:46:50 +02:00
Anas Nashif
3dc7291115 doc: doxygen: move notify/onoff to os_services
Those are no kernel permitives and belong under os services.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-04-18 17:46:50 +02:00
Anas Nashif
9babde4e78 doc: doxygen: move battery api under sensors
move from currently top level to sensors where it is defined.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-04-18 17:46:50 +02:00
Anas Nashif
44327ec841 doc: doxygen: exclude nrf_wifi
This one appears in the top level of doxygen and should not be exposed
as a Zephyr API.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-04-18 17:46:50 +02:00
Anas Nashif
b18995acd9 doc: stmesp: move to logging group
Move under logging group.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-04-18 17:46:50 +02:00
Anas Nashif
ec405a8632 doc: doxygen: group debugging APIs
Create new group for debugging and move all debugging APIs under this
group.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-04-18 17:46:50 +02:00
Michal Kozikowski
892163c170 samples: smp_svr: nrf54h20dk 'iron' board serial DFU
Adding sample configuration for nRF54H20dk 'iron' board.

Signed-off-by: Michal Kozikowski <michal.kozikowski@nordicsemi.no>
2025-04-18 17:46:40 +02:00
Michal Kozikowski
ea6e6c66a1 boards: nordic: nrf54h20dk iron board MCUBoot support
Provide proper adaptions as bootloader ROM offset, flash load
offset and dts definitions for the nRF54H20 iron board to make it
ready for the MCUBoot bootloader.

Signed-off-by: Michal Kozikowski <michal.kozikowski@nordicsemi.no>
2025-04-18 17:46:40 +02:00
Eric Ackermann
7ea1bb783f soc: cv32a6: Remove erroneous CPU_HAS_FPU configs
In the default configuration, cv32a6 does not have an FPU and does not
implement RISC-V's F and D extensions.
Hence, the FPU flags should not be added.
In the future, a second SoC for cv32a6 systems with FPU can be added.

Signed-off-by: Eric Ackermann <eric.ackermann@cispa.de>
2025-04-18 17:46:30 +02:00
Eric Ackermann
f9331854c8 tests: coredump: Add exception for cva6
The nullpointer address (0x0) is mapped to the debug module in cva6,
making it a valid address.
Thus, in the coredump test, trigger an exception using k_panic()
instead.

Signed-off-by: Eric Ackermann <eric.ackermann@cispa.de>
2025-04-18 17:46:30 +02:00
Eric Ackermann
51eaf02626 soc: cva6: Fix CONFIG_MAX_IRQ_PER_AGGREGATOR
The original commit uses the incorrect value 42 for
CONFIG_MAX_IRQ_PER_AGGREGATOR for the cva6 family of SoCs,
which is the total number of IRQs in the system.
This commit corrects this to 30, the number of IRQs for the PLIC.

Signed-off-by: Eric Ackermann <eric.ackermann@cispa.de>
2025-04-18 17:46:30 +02:00
Eric Ackermann
7dcb1296f2 boards: cv*a6: Add twister support
This commit adds the necessary configurations for building and testing
cva6 boards (cv64a6_genesys_2, cv32a6_genesys_2) with twister.
This has been validated against commit
8a9d7a832b7121dd6f9be61a380d1d89ebf2a5f3 of the cva6 hardware project.

Signed-off-by: Eric Ackermann <eric.ackermann@cispa.de>
2025-04-18 17:46:30 +02:00
Eric Ackermann
6ba7691e96 soc: cva6: Implement missing cache management APIs
In hardware, cva6 currently only provides global disable/enable
functions for the Dcache and Icache. Disabling and re-enabling them also
has the effect of flushing and invalidating the cache.
Future cva6 SoCs will add support RISC-V's standardized cache management
operations.
This commit provides a default implementation for all methods currently
part of the cache API. These implementations can be overwritten at board
or SoC level, as they use weak linking.

Signed-off-by: Eric Ackermann <eric.ackermann@cispa.de>
2025-04-18 17:46:30 +02:00
Eric Ackermann
e367e1d607 soc: cva6: Add device tree node for RISC-V mtimer
The device tree entry for cva6 is currently missing a device tree node
for the mtime and mtimecmp registers in the core-local interrupt
controllers.
This causes the RISC-V machine timer driver not to be built, causing
build failures as the system clock is missing.
This commit rectifies this by adding the corresponding device tree
entry.

Signed-off-by: Eric Ackermann <eric.ackermann@cispa.de>
2025-04-18 17:46:30 +02:00
Jordan Yates
590258b381 posix: options: POSIX_THREADS require a stack
`pthread_setspecific` requires a stack in order to allocate the
`struct pthread_key_data` data structure. On 64 bit systems this data
structure is 32 bytes, resulting in 160 bytes usage for the default 5
supported threads.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-18 12:36:58 +02:00
Jordan Yates
3da69a809c posix: options: don't imply POSIX_MESSAGE_PASSING
Don't `imply POSIX_MESSAGE_PASSING` when `POSIX_API=y` as this option
has a non-trivial RAM implication in `HEAP_MEM_POOL_ADD_SIZE_MQUEUE`.

The `mq_*` API is minimally used in-tree, with all users already
enabling the symbol directly.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-18 12:36:58 +02:00
Neil Chen
0b67e3f6f9 boards: frdm_mcxa153: add flash support
- enable flash support
- verified tests/drivers/flash/common

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-04-18 12:36:49 +02:00
Neil Chen
bd22a4a394 boards: frdm_mcxa153: add uart support
- add uart support
- enable the uart_async_api test example

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-04-18 12:36:49 +02:00
Håkon Amundsen
4edc003b9c boards: nordic: nrf54h20dk: fix debugging for iron board variant
The required jlink script was not added due to missing entry in the
board check. Also change the check for app vs rad to be on SOC level.

Signed-off-by: Håkon Amundsen <haakon.amundsen@nordicsemi.no>
2025-04-18 12:36:45 +02:00
Andrej Butok
6c6c743c91 samples: nvs: set MAIN_STACK_SIZE in prj.conf
- Sets MAIN_STACK_SIZE in prj.conf to 2048 (default is 1024)
  to avoid possible stack overflow
  and adding new .conf files per board.
- Deletes existing board .conf files, as they are not needed anymore.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2025-04-18 12:36:36 +02:00
Olivier Lesage
00444893e3 dts: nordic: nrf54l20: Add CS radio capability
Like other nRF54L series products, the radio on 54l20 supports CS.

Signed-off-by: Olivier Lesage <olivier.lesage@nordicsemi.no>
2025-04-18 12:36:28 +02:00
Tim Pambor
d68929c64a drivers: flash_stm32_xspi: fix DT accessor for flash size
The flash size is the second part (size) of the first reg value, not the
first part (address) of a nonexistent second reg value.

Based-on-patch-by: Armin Brauns <armin.brauns@embedded-solutions.at>
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2025-04-18 12:36:20 +02:00
Yishai Jaffe
b5c634f4bb cfb: fix get_glyph_byte for vtiled displays
V-Tiled displays need different treatment when getting the glyph byte.

Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
2025-04-18 12:36:16 +02:00
Jamie McCrae
276d447f51 boards: nordic: nrf54l15dk: Add missing flash runner config
Adds missing groupings for non-secure board targets

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-04-18 10:41:08 +02:00
Jamie McCrae
b59d6d3c2d soc: nordic: Add missing flash runner config
Adds missing qualifiers for grouping flash runner configuration

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-04-18 10:41:08 +02:00
Dmitrii Golovanov
411140d015 tests: kernel: mslab: extend k_mem_slab_alloc() timeout
Extend timeout on k_mem_slab_alloc() for kernel.memory_slabs
memory_slab_1cpu.mslab test suite as a workaround to allow its run
on slow platforms, e.g. simulated intel_ish_5_8_0.

Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
2025-04-18 10:40:50 +02:00
Chaitanya Tata
7b3d44e403 samples: net: wifi: Add a script to install certs
For enterprise mode we need to install multiple certs to the TLS
credentials store, so, add a helper script in python to make it work
cross-platforms.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-04-18 10:40:39 +02:00
Chaitanya Tata
d1aa75cdd6 scripts: utils: Add a script to install TLS credentials
This helps install certificates to the TLS credentials store using TLS
credentials shell.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-04-18 10:40:39 +02:00
Aleksander Wasaznik
a71cadfc68 Bluetooth: testlib: Fix includes (IWYU)
This commit fixes all includes in testlib according to IWYU rules and
sorts all includes in ascending order by name.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2025-04-18 10:40:31 +02:00
Tom Chang
eb5597e90a drivers: espi: npcx: ensure the host receives the value from eSPI VW
This commit adds an option to verify weather the host has read the value
after the wire 3-0 bits have been updated.

Signed-off-by: Tom Chang <CHChang19@nuvoton.com>
2025-04-18 10:40:23 +02:00
Ryan McClelland
26c03005e7 drivers: i3c: fix warning with cpp builds
When compiling with C++ enabled (CONFIG_CPP), add an unused member to
prevent an empty struct; this makes the struct size the same for both C
and C++.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-04-18 10:40:18 +02:00
Jukka Rissanen
f9220146e6 samples: net: pkt_filter: Add Ethernet support to prj.conf
As the sample uses VLAN which needs Ethernet support make sure
CONFIG_NET_L2_ETHERNET is set in prj.conf file.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-04-17 21:18:26 +02:00