Commit graph

126,787 commits

Author SHA1 Message Date
Peter Mitsis
d774594547 kernel: thread suspend/resume bail paths are unlikely
Gives a hint to the compiler that the bail-out paths in both
k_thread_suspend() and k_thread_resume() are unlikely events.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-01-07 18:24:09 +01:00
Peter Mitsis
af14e120a5 kernel: Simplify clear_halting() on UP systems
There is no need for clear_halting() to do anything on UP systems.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-01-07 18:24:09 +01:00
Peter Mitsis
85a9cffd0f kernel: cache priority queue index on UP multiq
Even though calculating the priority queue index in the priority
multiq is quick, caching it allows us to extract an extra 2% in
terms of performance as measured by the thread_metric cooperative
benchmark.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-01-07 18:24:09 +01:00
Peter Mitsis
ea6adb6726 kernel: Add custom scheduler yield routines
Adds customized yield implementations based upon the selected
scheduler (dumb, multiq or scalable). Although each follows the
same broad outline, some of them allow for additional tweaking
to extract maximal performance. For example, the multiq variant
improves the performance of k_yield() by about 20%.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-01-07 18:24:09 +01:00
Peter Mitsis
30f667bceb kernel: Add routines for _THREAD_QUEUED bit
Adds routines for setting and clearing the _THREAD_QUEUED
thread_state bit.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-01-07 18:24:09 +01:00
Peter Mitsis
472c71d3f4 kernel: Add method to dequeue from a dlist
Dequeuing from a doubly linked list is similar to removing an item
except that it does not re-initialize the dequeued node.

This comes in handy when sorting a doubly linked list (where the
node gets removed and re-added). In that circumstance, re-initializing
the node is required. Furthermore, the compiler does not always
'understand' this. Thus, when performance is critical, dequeuing
may be preferred to removing.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-01-07 18:24:09 +01:00
Peter Mitsis
d1c2fc0667 kernel: inline z_sched_prio_cmp()
Inlines z_sched_prio_cmp() to get better performance.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-01-07 18:24:09 +01:00
Peter Mitsis
c6693bfdae kernel: Clean up priority_q.h
Minor cleanups include ...
 1. Eliminating unnecessary if-defs and forward declarations
 2. Co-locating routines of the same queue type

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-01-07 18:24:09 +01:00
Kai Vehmanen
76dc24ba0a soc: intel_adsp: tools: add cavstool.py fallback for PCI class
If no PCI device with DSP capability is reported, also try to
find compatible devices using PCI_CLASS=40300. This is mostly
useful on preproduction systems where incorrect PCI class data
is reported.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2025-01-07 15:58:26 +01:00
Derek Snell
a9097c9c58 boards: nxp: mimxrt595_evk: configure DMA requests in INPUTMUX
Configure the requests that have only 1 mux option.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-01-07 15:57:50 +01:00
Derek Snell
ed7c8285f5 soc: nxp: imxrt5xx: enable Flexcomm12 clock for SPI
Enable clock when using as SPI.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-01-07 15:57:50 +01:00
Adib Taraben
7e2d020df5 eth_nxp_enet_qos_mac: enable pass through of multicasts
first check if the chip has a hosh module to futher filter MAC addresses
if not then enabling the pass through for all multicast protocols

Signed-off-by: Adib Taraben <theadib@gmail.com>
2025-01-07 15:57:34 +01:00
Andries Kruithof
5c886faa05 maintainers: bluetooth: remove Andries as a bluetooth maintainer
I will be working on non-bluetooth topics, so removing myself as a
maintainer for the bluetooth groups

Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
2025-01-07 15:57:27 +01:00
Wilfried Chauveau
13528daf06 maintainers: ethosu: Add @ithinuel as maintainer and @wearyzen as collab
Myself (Ithinuel) & wearyzen will be assisting in maintaining that
driver.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2025-01-07 15:57:05 +01:00
Neil Chen
1a4bc137c8 tests: drivers: can: timing: enable full timing test on frdm_mcxa156
Enable the full range of CAN timing tests on the NXP FRDM-MCXA156 board.

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-01-07 15:56:57 +01:00
Neil Chen
fd1826e48c boards: nxp/frdm_mcxn236: Support Flexcan for NXP frdm_mcxa156 board
Support Flexcan for NXP frdm_mcxa156 board

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-01-07 15:56:57 +01:00
Neil Chen
0004a3f08f dts: arm/nxp: Add Flexcan nodes to NXP MCXA156 dtsi file
Add Flexcan nodes to NXP MCXA156 dtsi file

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-01-07 15:56:57 +01:00
Neil Chen
55f68b7ac3 drivers: syscon: update syscon driver to support mcxa flexcan clock
Add mcxa flexcan clock support

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-01-07 15:56:57 +01:00
Dominik Ermel
bb0fa0746b stream_flash: Enforce size to be explicitly present on init
The commit changes requirements for stream_flash_init, where size
can no longer be 0 and has to be explicitly set, to avoid situation
where size autodetection, invoked by size == 0, would miss changes in
layout and silently allow overflow of Stream Flash into other partitions.

There has also been new Kconfig option CONFIG_STREAM_FLASH_INSPECT,
set to y by default to keep legacy behaviour, that can be used to turn
off stream_flash_ctx vs device inspection, allowing user to shed
inspection code once it is not useful anymore.

Fixes: #71042

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2025-01-07 15:56:49 +01:00
Neil Chen
5b001d32af samples: sensor: Add support for temperature sensor on FRDM_MCXN236
Add new test sample.sensor.thermometer_i3c, can't assign the same
platform with i2c, and i3c at the same time.
Support the shield on FRDM_MCXN236 board by I2C and I3C way.

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-01-07 15:56:32 +01:00
Neil Chen
f861b4fd94 boards: nxp: frdm_mcxn236: Support i3c for NXP frdm_mcxn236 board
Support i3c for NXP frdm_mcxn236 board.

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-01-07 15:56:32 +01:00
Neil Chen
50f128d127 dts: arm/nxp: Add i3c nodes to NXP MCXN23x dtsi file
Add i3c nodes to NXP MCXN23x dtsi file

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-01-07 15:56:32 +01:00
James Roy
19963594b0 doc: build: dts: Fix incorrect foreach documentation
Replaced incorrect rst link references in the description
of traversing ancestor nodes, along with some conflicting
descriptions.

Signed-off-by: James Roy <rruuaanng@outlook.com>
2025-01-07 14:13:21 +01:00
Martin Becker
2871f1abef sca: added support for Polyspace tool
Add the cmake files for running static code analysis with the Polyspace
tools in the west build. The analysis leverages the compilation database.
Options for the analysis are documented in doc/develop/sca/polyspace.rst.

Analysis results are printed as command line output and provided as CSV.

Manually tested on v4.0.0 with various sample applications.

Signed-off-by: Martin Becker <mbecker@mathworks.com>
2025-01-07 14:13:13 +01:00
Pieter De Gendt
4c5e74deae scripts: west_commands: patch: Use subprocess cwd
Instead of changing directories, pass the cwd argument to the different
subprocess calls.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-01-07 14:12:57 +01:00
Pieter De Gendt
78f96a6aba scripts: west_commands: Add module filter argument to patch command
Allow to run the west patch extension for specific modules only.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-01-07 14:12:57 +01:00
Benjamin Cabé
bc42004d1b scripts: ci: check_compliance: do not use git mailmap
When looking at git author in a commit range using git log, explicitly
indicate we don't want to use the mailmap file (default git client
behavior is to use it), so that the "actual" author info from the commit
is used to perform the compliance check, and not whatever identity the
author may have mapped to in the mailmap file (ex. their "main" email
address might be different from the one they used to commit).

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-01-07 11:53:20 +01:00
Gerard Marull-Paretas
88e985a898 dts: nordic: nrf54h20: add missing reg entries
Some nodes in nRF54H20 DT files did not have a `reg` entry matching the
node address. While not used in practice, this aligns with the DT spec.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2025-01-07 11:53:10 +01:00
Daniel Mangum
abb1266aae dts: risc-v: nordic: nrf54h20_cpuppr: fix cpuflpr_vevif label assignment
Fixes misassignment of cpuflpr_vevif label to cpuppr_vevif_tx node by
instead assigning to cpuflpr_vevif_tx node.

Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
2025-01-07 11:53:01 +01:00
Martin Jäger
6046368e59 drivers: ieee802154: unify FCS configuration in L2 packet
Use the same Kconfig for all drivers to configure if the FCS bytes
(checksum) should be included in the packets passed to L2.

The description is slightly reworded to make clear that it does not
only affect the length, but the packet content itself.

Signed-off-by: Martin Jäger <martin@libre.solar>
2025-01-07 11:52:51 +01:00
Rubin Gerritsen
81ed343212 modules: hal_nordic: nrfx: Compile NRFX_GPPI modules for 54lbsim
We should use CONFIG_SOC_COMPATIBLE_NRF54L15 whenever possible.
With the current bsim model of 54L these files do not yet compile,
but that can be added separately.

Compilation warning:
```
/nrfx_interconnect_dppic_ppib.c:158:36:
warning: implicit declaration of function ‘nrf_address_bus_get’
[-Wimplicit-function-declaration]
  158 |         uint8_t bus_address_area =
	nrf_address_bus_get(addr, p_dppic->apb_size);
      |                                    ^~~~~~~~~~~~~~~~~~~
```

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2025-01-07 11:52:12 +01:00
Adam Wojasinski
cd64d032be modules: hal_nordic: nrfx: Add missing GPIOTE logging symbol mapping
Add missing symbol mapping necessary to enable logging for GPIOTE
nrfx driver.

Signed-off-by: Adam Wojasinski <awojasinski@baylibre.com>
2025-01-07 11:52:01 +01:00
Dominik Ermel
145dd119a1 tests/stream_flash: Improve platform filtering
Improve platform filtering of common platforms, replace extra_args
with extra_configs, where applicable and add little comment on why
certain options are used.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2025-01-07 11:51:49 +01:00
Martin Jäger
075cb211e5 drivers: dac: dacx3608: Fix bad shift operation
The parameter provided to the `BIT()` macro must be checked so that
the shift operation does not overflow the variable.

Fixes #81990

Signed-off-by: Martin Jäger <martin@libre.solar>
2025-01-07 11:51:39 +01:00
Daniel D
b1212a9353 Bluetooth: Enable BLE support for Arduino Portenta H7
enable support by replicating giga config

Signed-off-by: Daniel D <drimyy@gmail.com>
2025-01-07 11:51:28 +01:00
Marvin Ouma
6737f6b283 tests: posix: common: separate posix timer tests into a smaller testsuite
posix.common contains testsuites that can be separated into smaller
groups of tests. This change moves clock, sleep, nanosleep and timer
into a singular testsuite at tests/posix/timer app directory.

Signed-off-by: Marvin Ouma <pancakesdeath@protonmail.com>
2025-01-07 11:47:35 +01:00
Emil Gydesen
892e5e11fa tests: Bluetooth: BAP: Add broadcast tests with VS codec
A broadcast tests with various BASEs that use a vendor
specific (VS) codec. This tests that we support
non-LC3 codecs on both broadcast sources and sinks
in various configurations.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-01-07 10:11:00 +01:00
Emil Gydesen
cd98a34772 tests: Bluetooth: BAP: Move broadcast metadata update to new test
Split the default broadcast source test so that the reconfigure and
metadata update is not done in the generic test. This makes
the test simpler and easier to modify.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-01-07 10:11:00 +01:00
Stefan Schwendeler
dab5b3a19f dts: bindings: i2s: Adds properties for power supply control
Adds a dependency to `power.yaml`, as already exists for SPI and I2C
devices.

Signed-off-by: Stefan Schwendeler <Stefan.Schwendeler@husqvarnagroup.com>
2025-01-07 10:10:28 +01:00
Dominik Ermel
ce971850fb storage/stream_flash: Initialize settings at point of use
The commit moves Settigns initialization out of stream_flash
initialization function into: stream_flash_progress_clear
 stream_flash_progress_load and stream_flash_progress_save.

This slightly increases code size (~56 bytes on Arm) but allows
to initialize Stream Flash even if Settings subsystem fails
to initialize and continue providing its basic functionality.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2025-01-07 10:10:15 +01:00
Sudan Landge
767e03f082 samples: tflite-micro: Use FVP for test validation
What is changed?
 - Replaced printk with printf in the sample

Why do we need this change?
 - Running the sample with fvp just prints the below output and not
   the complete logs that we expect:
    `sender 0: Sending inference`
   We get the expected output with CONFIG_LOG_IMMEDIATE=y but,
   its not ideal. printf works without the config and plus it
   looks a better fit in the current sample than printk.

This change is validate using `mps3/corstone300/fvp`.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2025-01-07 10:10:05 +01:00
Sudan Landge
d38e40dcdd samples: tflite-micro: Use FVP for test validation
What is changed?
 - Updated the board qualifier for MPS3 to `mps3/corstone300/fvp`

Why do we need this change?
 - To validate the sample with FVP by default since QEMU doesn't
   model the NPU.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2025-01-07 10:10:05 +01:00
Sudan Landge
6f61121034 modules: hal_ethos_u: Update to latest Ethos-U rev
What is changed?
Added config for Ethos-U85 and, the module `hal_ethos_u` now points
to the latest revision which has support for Arm Ethos-U85 NPU.

Why do we need this change?
This will help in validating the NPU when we add support for FVP
testing for Ethos-U85.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2025-01-07 10:10:05 +01:00
Kapil Bhatt
3f6d78c26c drivers: nrf_wifi: Fix offloaded raw tx deinit API
The osal apis spinlock - take, release and bus qspi sleep
are trying to use ops after deinit. So removing osal deinit
for temporary workaround.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2025-01-07 08:09:18 +01:00
Triveni Danda
b01ac955c6 drivers: wifi: nrfwifi: Enable variable network configurations
Add variable network configuration control into the driver to optimize
RAM usage by default. The pool sizes are default, and tuning is left to
the applications or samples.

Signed-off-by: Triveni Danda <triveni.danda@nordicsemi.no>
2025-01-07 08:08:58 +01:00
Triveni Danda
3a2a7c1855 net: ip: Add a name to existing Kconfig choice
Update kconfig choice name to enable overriding
from other parts of the code.

Signed-off-by: Triveni Danda <triveni.danda@nordicsemi.no>
2025-01-07 08:08:58 +01:00
David Leach
90dfeaf61c scripts: west_commands: runners: Fix broken jlink runner
The cleanup pass (336c7da) to address long lines accidentally
removed a needed comma in the jlink runner.

Fixes #83605

Signed-off-by: David Leach <david.leach@nxp.com>
2025-01-07 00:27:28 +01:00
Emil Gydesen
9cfc546eba Bluetooth: Audio: Shell: Add logging and testing build tests
Added a test for disabled logging and for diabled testing
to ensure that the shell builds without error when those
are disbaled.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-01-07 00:27:17 +01:00
Emil Gydesen
a0b1e75268 Bluetooth: MPL: Fix build issues with the MPL shell
If logging (CONFIG_LOGGING) was disabled, then the shell
could not build. Ideally the (test) functions should not
depend on logging, but rather only CONFIG_BT_TESTING.

The shell commands were also properly guarded.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-01-07 00:27:17 +01:00
Jiafei Pan
dd0446ae26 soc: nxp: imx8mm/n/p imx93/95: enable GIC safe config
Enable CONFIG_GIC_SAFE_CONFIG by default for Cortex-A Core platforms
as the most targets are to run multiple OSes together with Zephyr on
different Cortex-A Cores.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-01-07 00:27:08 +01:00