Commit graph

118,807 commits

Author SHA1 Message Date
Abderrahmane JARMOUNI
6b4984a366 tests: drivers: uart_async_api: fix alignment size
We fix 2 issues:
First issue: __aligned attribute is in bytes
second issue: we should align depending on the platform

Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
2025-04-29 20:07:46 -04:00
Adib Taraben
e92fb10971 drivers: hwinfo: add nxp mcxn reset_cause implementation
Implementation is specific to the NXP MCXN series.
Code mostly copied from hwinfo_mcux_rcm driver.

Signed-off-by: Adib Taraben <theadib@gmail.com>
2025-04-29 20:07:25 -04:00
Fin Maaß
94b00090f5 dts: bindings: ethernet:phy: move into own dir
move ethernet phy bindings into their own directory.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-04-29 20:07:02 -04:00
Adrian Gielniewski
8661c3caea net: openthread: radio: fix otPlatRadioClearSrcMatch* return values
Fix the return values of `otPlatRadioClearSrcMatchShortEntry` and
`otPlatRadioClearSrcMatchExtEntry` to match the OpenThread API.

Signed-off-by: Adrian Gielniewski <adrian.gielniewski@nordicsemi.no>
2025-04-29 19:08:38 +02:00
Jordan Yates
be919675f9 sensor: npm1300_charger: uA resolution current
Update the conversion functions for the charge/discharge current to
be uA resolution.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-29 19:07:04 +02:00
Jordan Yates
4748fb37c3 sensor: npm1300_charger: correct current direction
Update the direction of the measured current to match that expected by
the API and existing users, positive = charging and negative =
discharging.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-29 19:07:04 +02:00
Jordan Yates
55cf62dd47 sensor: document "direction" of gauge current
Document the expected meaning of positive and negative currents for the
fuel gauge channels. The definition is chosen to match that of the
fuel gauge API.

This also matches the convention expected by `shell_battery.c`.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-29 19:07:04 +02:00
Jordan Yates
aacbd6607c sensor: npm1300_charger: use logf not log
Both the input and output parameters are floats, not doubles, so use
the floating point logarithm variant.

Correct the source of the equations for the latest datasheet versions
at the same time.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-29 19:07:04 +02:00
Jordan Yates
5fccbcb95e sensor: npm1300_charger: use common conversion funcs
Use the standard sensor value conversion helpers for constructing
`struct sensor_value` outputs.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-29 19:07:04 +02:00
Fabio Baltieri
370e0882cb ci: workflows: check for manifest dnm in the manifest workflow
The current CI setup sets the manifest DNM label in a workflow and
checks it in a different workflow. The one performing the check is
configured to rerun on label changes but it's been reported few times
that the rerun logic does not seem to always run effectively and there's
been cases where the manifest has been fixed but the label has not been
removed by the automation, resulting in a stale PR.

Since the manifest has its own dedicated label, fix this race condition
by checking for that label specifically in the manifest workflow rather
than in a separate one, this means that the check is always performed
after the script that sets the label.

It also means that on manifest changes the manifest step itself will
fail rather than the PR metadata check one.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-04-29 19:06:55 +02:00
Hake Huang
79edc36759 samples: sensor: accel_trig fix build failure
fix build failure on rddrone_fmuk66

fixes: #86508

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2025-04-29 19:06:42 +02:00
Bastien JAUNY
d5365ba513 drivers: input: vs1838b: Add support for VS1838B
The VS1838B is one of the most found infrared receiver
found in electronic kits and is easy to setup with only
a single GPIO used for signal transmission (apart from
VCC and GND).
This new driver let applications use the VS1838B as an
input with events relayed as 0x0000<address><command>.

Only the NEC protocol is supported in this version but
more can be added later.
Link: https://github-wiki-see.page/m/CoreELEC/remotes/wiki/08.-NEC-IR-Protocol-Datasheet

This has been tested using the input_dump sample.

Signed-off-by: Bastien JAUNY <bastien.jauny@smile.fr>
2025-04-29 19:06:37 +02:00
Daniel Leung
4655ae3a27 tests: userspace/mem_protect: more CONFIG_SYS_HEAP_ALLOC_LOOPS
Due to the constant alloc/free cycles during the stress test,
it is possible that the heap can become fragmented enough to
prevent successful allocation, and thus failing the test.
So we change the CONFIG_SYS_HEAP_ALLOC_LOOPS to a higher value
so the allocation code will try harder to find a space.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2025-04-29 19:04:23 +02:00
Daniel Leung
6ccf0eb7ad tests: mem_protect/syscalls: more explicit error messages
There are lots of copy and paste error message which does not
really tell you which part fails. So make those messages more
explcitly on where it is emitting the error message.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2025-04-29 19:04:23 +02:00
Daniel Leung
f08c9fe2c2 tests: mem_protect/syscalls: test k_yield while in syscalls
The syscall stress test relies on timeslicing to switch between
threads, which utilizes the interrupt handling path to perform
context switching. It is also possible for kernel to switch
threads due to, for example, taking a mutex. This adds a bit of
code to the syscalls test to simulate this by yielding while
inside syscall handlers. This is to cover more scenarios so we
can catch issues earlier.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2025-04-29 19:04:23 +02:00
Daniel Leung
9ade47bbef tests: mem_protect/syscall: join stress threads after abort
Add a loop to join the stress threads after calling abort.
This is to make sure all stress threads have already stopped
before moving on. Simply for test hygiene.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2025-04-29 19:04:23 +02:00
Daniel Leung
2b13c780cb tests: mem_protect/syscalls: move torture test to another group
This moves the syscall torture test into another test group or
suite so that we run the individual syscall tests first before
the torture test. If individual test fails, it is easier to see
the error. Especially under SMP where multiple CPUs can report
the same error, cluttering the output.

Also rename the test to syscall_switch_stress to better describe
its purpose.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2025-04-29 19:04:23 +02:00
Daniel Leung
3ca962eb37 tests: mem_protect/syscalls: multiple buffers for stress test
This modifies string_copy() to have an addition ID as function
argument so that it can copy into different buffers during
the multi-threaded stress test, instead of all threads writing
into the same buffer. This is to prevent a situation where
one thread writes incorrect data but being overwritten by
another thread with correct data, thus making the following
strcmp() passing for both threads. Logically this should never
happen since the same function is being called which should
give same result, but it is simply to test for weird
situations.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2025-04-29 19:04:23 +02:00
Adrian Friedli
89f8f5bb07 net: lib: coap: fix division by zero
Prevent the modulo operation causing a division by zero error by falling
back to the minimal ACK timeout value if the random factor is 1.0. Also
fall back to the same value if the random factor is erroneously smaller
than 1.0. Additionally make the upper bound of the random range
reachable.

Signed-off-by: Adrian Friedli <adrian.friedli@husqvarnagroup.com>
2025-04-29 19:04:16 +02:00
Francois Ramu
0f465284aa drivers: spi: stm32 ll spi driver flush dcache function
This PR is for using the dcache flush range function
from the stm32 Cortex-M33 peripherals

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2025-04-29 17:55:01 +02:00
Carles Cufi
7c15b08a7e lib: hash: murmur3: Account for unaligned 32-bit access
The code was casting a byte array to 32-bit words without accounting for
alignment. On some platforms (e.g. Arm Cortex-M with multiple load/store
instructions) this will fault. Fix it by using the UNALIGED_GET() macro
whenever the array is passed unaligned.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2025-04-29 17:54:51 +02:00
Grzegorz Swiderski
d3704516b7 boards: nrf54h20dk: Add common files for iron board variants
Define `ipc_conf_iron.dtsi` and `memory_map_iron.dtsi`. In the future,
they will be merged with the base `ipc_conf.dtsi` and `memory_map.dtsi`
respectively. For now, they are used to replace a few devicetree nodes
when building for `nrf54h20dk/nrf54h20/*/iron` board targets.

Additional changes are included:

  * The IPC configuration includes new "nordic,ironside-call" nodes.
  * The memory map includes an updated RAM20 layout. Its subregions are
    placed under the `/reserved-memory` node like before.
  * The memory map also includes an updated MRAM layout. Partitions are
    now placed under a plain "fixed-partitions" node. MCUboot-specific
    node labels are applied in `cpuapp.dts`.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2025-04-29 17:54:41 +02:00
Grzegorz Swiderski
47df9ec981 drivers: firmware: Add support for IRONside calls
IRONside calls are remote procedure calls which comprise the runtime
interface of Nordic IRONside SE. They are realized using a simple IPC
mechanism.

A local domain (client) issues requests to the server by exchanging data
in shared memory, which is divided into evenly sized buffers. The client
selects a buffer, writes a request into it, and sends it to the server.
The server processes that request and writes a response into the same
buffer before returning it to the client.

This patch adds the initial client-side implementation on top of MBOX.
It features cache management and a blocking alloc/dispatch/release API
for synchronous, zero-copy transfers.

A new devicetree binding is added to support this implementation. It is
patterned after the `zephyr,ipc-*` bindings, where each node associates
a pair of mailboxes and a shared memory region.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2025-04-29 17:54:41 +02:00
Peter Wang
829c796e04 boards: frdm_mcxa166, frdm_mcxa276: add dma support
1. enable dma support

Signed-off-by: Peter Wang <chaoyi.wang@nxp.com>
2025-04-29 17:54:30 +02:00
Peter Wang
de7c508e58 boards: frdm_mcxa166, frdm_mcxa276: add lptmr and ctimer support
1. enable lptmr and ctimer support
2. verified tests/drivers/count/counter_basic_api

Signed-off-by: Peter Wang <chaoyi.wang@nxp.com>
2025-04-29 17:54:30 +02:00
Peter Wang
99441374d9 boards: frdm_mcxa166, frdm_mcxa276: fix SYS_CLOCK_HW_CYCLES_PER_SEC
1. mcxa serial SYS_CLOCK_HW_CYCLES_PER_SEC default value is 96000000
2. mcxa166,mcxa276 works at 180000000

Signed-off-by: Peter Wang <chaoyi.wang@nxp.com>
2025-04-29 17:54:30 +02:00
Adrian Friedli
ffdc50c4bf boards: native_sim: add reboot for native_sim
Add a reboot implementation for the native_sim target which restarts
the current executable keeping the command line arguments after closing
all open file descriptors.

Signed-off-by: Adrian Friedli <adrian.friedli@husqvarnagroup.com>
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Co-authored-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-04-29 17:54:26 +02:00
Daniel Nicoletti
b4f940d654 net: ethernet: Fix build without -fpermissive
Fix ethernet_hw_caps initialization in ethernet.h for
strict type checking.

g++-12: include/zephyr/net/ethernet.h:957:38: error: invalid \
 conversion from 'int' to 'ethernet_hw_caps' [-fpermissive]

Signed-off-by: Daniel Nicoletti <dantti12@gmail.com>
2025-04-29 16:51:17 +02:00
Johan Hedberg
fd037c7990 Bluetooth: Kconfig: Remove outdated references to bt_recv_prio()
The bt_recv() and bt_recv_prio() APIs don't exist anymore, so remove any
references to them from the Kconfig help texts.

Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
2025-04-29 16:51:04 +02:00
Fabian Kainka
d02503ad7b drivers: gnss: gnss_emul missing month_day data
Just a minor fix to the gnss_emul.c to fix a the missing
month_day data. Also minor spelling fixes in the test code.

Signed-off-by: Fabian Kainka <f.kainka@gmx.de>
2025-04-29 16:49:29 +02:00
Emil Gydesen
5a25d23222 include: arch: ffs: include toolchain.h
Modify the include of toolchain/common.h to toolchain.h
The reason why we should/cannot include toolchain/common.h
is that it has an #error if included directly, and it
requires including it via toolchain.h instead.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-04-29 16:49:20 +02:00
Olivier Lesage
f4aa29d849 bluetooth: host: Fix param_len for LE CS Test command
The parameter length for this command was missing the additional
length from the arrayed parameters.

Signed-off-by: Olivier Lesage <olivier.lesage@nordicsemi.no>
2025-04-29 16:49:10 +02:00
Marek Matej
305151030e doc,boards: mark deprecated boards
Add esp32_devkitc_wroom and esp32_devkitc_wrover on deprecated list.
Make the note on the merge in the migration guide for Zephyr v4.2.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2025-04-29 16:48:55 +02:00
Marek Matej
780bafab6a tests, samples: update esp32_devkitc board records
Update the tests using the esp32_devkitc_xxx entries.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2025-04-29 16:48:55 +02:00
Marek Matej
b8aa506c83 boards: esp32: make only one esp32_devkitc
Rename the esp32_devikic_wrover to esp32_devkitc.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2025-04-29 16:48:55 +02:00
Marek Matej
6745bd3069 boards: esp32: remove redundant board
Remove the esp32_devkitc_wroom board as near identical with wrover
variant. The differences of the two boards are covered by the user config.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2025-04-29 16:48:55 +02:00
cyliang tw
0400c8828f tests: drivers: i2c: i2c_target_api: support numaker_m55m1
Add support for Nuvoton numaker board numaker_m55m1.

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2025-04-29 16:48:19 +02:00
cyliang tw
f6f61100c7 dts: arm: nuvoton: add i2c nodes of numaker m55m1x
Update m55m1x.dtsi, to add i2c nodes for i2c driver support.

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2025-04-29 16:48:19 +02:00
Tim Lin
f91943ab6d test: drivers/i2c: ite: it515xx_evb: Add I2C target test
Add I2C target node for it515xx_evb test.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-04-29 16:48:06 +02:00
Tim Lin
f7d381fef1 drivers/i2c: Add I2C driver of it51xxx
Implement the functions of I2C host and target.
I2CM: supports nine hosts and each one able located at I2C interface
      0~12.
      supports two 32 bytes dedicated FIFO mode for read and write.
I2CS: supports three targets and each one able located at I2C
      interface 0~8.
      supports 16 bytes dedicated FIFO mode that only supports write or
      read mode and the maximum buffer size is 256 bytes.
      support non-FIFO write to shared FIFO read mode. The maximum
      shared FIFO size for read is 256 bytes.
The APIs test include: i2c_write(), i2c_read(), i2c_burst_read(),
                       i2c_burst_write(), i2c_write_read()

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-04-29 16:48:06 +02:00
Jeppe Odgaard
634ba6955c drivers: led: add led_dac
Add LED driver support for DAC based LED drivers.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2025-04-29 16:47:36 +02:00
Bjarki Arge Andreasen
4bd1de02bb drivers: i2c: nrfx_twi_rtio: support RTIO_OP_AWAIT
Add support for RTIO_OP_AWAIT.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-04-29 16:47:26 +02:00
Bjarki Arge Andreasen
61e838b246 drivers: i2c: nrfx_twim_rtio: support RTIO_OP_AWAIT
Add support for RTIO_OP_AWAIT.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-04-29 16:47:26 +02:00
Bjarki Arge Andreasen
ac1634b585 tests: rtio: rtio_api: add await sqe test case
Add test case for RTIO_OP_AWAIT SQE.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-04-29 16:47:26 +02:00
Bjarki Arge Andreasen
9a514ae2dd rtio: introduce await operation
Introduce await operation which simply blocks execution until the
SQE is signaled using the new API rtio_sqe_signal(). This is useful
for locking the bus for synchronous operations, especially those
requiring precise timing. For example, performing a transaction
within a tiny and exact time window.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-04-29 16:47:26 +02:00
Benjamin Cabé
38ad2a5894 doc: shields: nrf7002xx: fix section headers hierarchy
Fixed the headings hierarchy as there were multiple `###` headings when
only one should be used as the document's title.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-04-29 13:01:15 +02:00
Sebastian Głąb
687f4ce244 tests: drivers: audio: dmic_api: Enable coverage calculation
When test is run with enabled coverage, additional RAM is required
to store coverage data.
Digital Microphone test is reserving most of the available RAM
to store audio samples. Thus, test fails to build with coverage
enabled due to RAM overflow.

Decrease size of the audio buffer when coverage is enabled.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2025-04-29 13:01:07 +02:00
Jukka Rissanen
259d41f1e0 net: mgmt: Use layer codes defined in net_mgmt.h
Instead of hard coding some random value to layer code, use the
code that is registered in net_mgmt.h
This way it is easier to keep track of used layer codes in the
future, and we also allow out-of-tree components a way to avoid
allocating same layer code to in-tree-source code.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-04-29 13:01:01 +02:00
Jukka Rissanen
702776bd1f net: mgmt: Remove the _ from symbols
The _ is a reserved character in front of the symbols so remove
it from network management event macros. The remaining string
without the _ will identify the network API anyway so having
underscore there is not needed.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-04-29 13:01:01 +02:00
Jukka Rissanen
26afcb602f net: mgmt: Central place for allocating layer specific codes
Instead of littering the source tree with hard to track
layer code definitions, have a central place where to register
the layer codes.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-04-29 13:01:01 +02:00