Commit Graph

7832 Commits

Author SHA1 Message Date
Luca Burelli
766122f0cd doc: llext: add note on the loader types
Add a note on the new loader types available in LLEXT..

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>

Signed-off-by:
2025-03-21 14:41:30 -04:00
Benjamin Cabé
d161e29a12 ci: doc: update documentation dependencies to include coverxygen
Removed coverxygen installation from the CI workflow and added it to the
requirements.txt/.in files and make it easier for anyone to potentially
use it locally.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-03-21 14:39:29 -04:00
Benjamin Cabé
d64ed911f3 ci: doc: pin Python dependencies to specific versions/hashes
Use secure install for ̦Python documentation dependencies.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-03-21 14:39:29 -04:00
Lucas Tamborrino
c6f84d0ba2 boards: espressif: esp32c6: Add LP Core board support
Add ULP Coprocessor board support for C6.
This requires a change in the board qualifier depending on the build
target.
Update esp32c6 overlay and configuration files to the proper name.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2025-03-21 17:05:20 +01:00
Robert Lubos
a61287e876 net: lib: tls_credentials: Rename TLS_CREDENTIAL_SERVER_CERTIFICATE
TLS_CREDENTIAL_SERVER_CERTIFICATE credential type is misleading, as in
fact it just represents a public certificate, it does not matter if the
certificate belongs to a server or a client. And actually, it was
already used in-tree for clients as well, for example in LwM2M.

Therefore rename the credential type to a more generic
TLS_CREDENTIAL_PUBLIC_CERTIFICATE and deprecate the old one.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-03-21 14:18:52 +01:00
Timothy Keys
02b4c1ba4c doc: releases: Fix merge issue
ref #87022

This line moved during merge. Move to right section.

Signed-off-by: Timothy Keys <timothy.keys@nordicsemi.no>
2025-03-20 21:58:23 +01:00
James Roy
242cb3d6e2 doc: releases: Restore the wrongly removed entry
Restore the migration entry that was magically
removed in PR-86332.

Signed-off-by: James Roy <rruuaanng@outlook.com>
2025-03-20 17:15:03 +01:00
Emil Gydesen
d19abff476 Bluetooth: CSIP: Add support for dynamically setting set size
The set size can now be dynamically set and notified.
The rank is added as a argument in the case that changing
the set size, also affects the device's rank, as ranks
in a coordinated set needs to be continuous.

The set coordinator implementation has been updated
to support receiving the new set size, and providing
this information to the upper layers.

This commit adds a babblesim test for the new API,
as well as a shell command.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-03-20 14:23:40 +01:00
Sudan Landge
637bd8f587 arch: arm: Add PXN attr for userspace MPU regions
What is the change?
 - PXN attributes is set for static mpu regions such that
   __ramfunc and __ram_text_reloc having userspace code
   cannot be executed in privileged mode.
 - Updated the notable change section to inform about the change in
   behaviour of code executed from __ramfunc and __ram_text_reloc MPU
   regions.

Why do we need this change?
 - The current static MPU regions allows executing userspace/unprivileged
   code from privileged mode which may not be expected and can lead to
   secure privileged escalation attacks.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2025-03-20 12:17:11 +01:00
Sudan Landge
d7c629696d arch: arm: Add PXN support for Armv8.1-M
What is the change?
This commit adds support for Armv8.1-M MPU architecture's PXN attribute.
This includes support for configuring MPU regions with PXN via
custom mpu_config, devicetree and static mpu_config.
The existing MPU region attribute macros are updated to retain existing
behaviour with this change with an addition of REGION_RAM_ATTR_PXN to be
used if one needs to configure a RAM region with PXN MPU attribute.

Why do we need this change?
Armv8.1-M architecture introduced a new MPU region attribute called
Privilege eXecute Never (PXN).
If an MPU region is configured with the PXN attribute set and if the,
processor attempts to execute code in this region while at
privileged level, a Memory Management Fault exception is triggered.

This ensures that specific tasks are executed only in unprivileged mode
and helps in preventing secure privilege escalation attacks.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2025-03-20 12:17:11 +01:00
Josh DeWitt
0ae0c3dc44 linker: Allow for 999 priority levels in init levels
Some projects may have needs for more than 99 priority levels, so add
a third linker input section for each obj level.

Signed-off-by: Josh DeWitt <josh.dewitt@garmin.com>
2025-03-19 18:53:22 -04:00
James Roy
4f7e049ea1 doc: releases: Add a i2c release entry
Add the i2c_configure_dt function in the i2c
subsystem to simplify calls through spec by
eliminating unnecessary member references.

Signed-off-by: James Roy <rruuaanng@outlook.com>
2025-03-19 20:26:45 +01:00
Lyle Zhu
11fc9642c0 Bluetooth: Classic: Add a function bt_conn_get_dst_br()
Add a function `bt_conn_get_dst_br()` to get the peer address of the
classic connection.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-03-19 09:01:51 -04:00
Lyle Zhu
18b0ac9b9a Bluetooth: conn: Make bt_conn_lookup_addr_br() public
Move the declaration of the function `bt_conn_lookup_addr_br()` from
`conn_internal.h` to `conn.h`.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-03-19 10:58:29 +01:00
Emil Gydesen
065dca7e92 Bluetooth: ISO: Make setting ISO data explicit
The stack will no longer implicitly set the data path
for ISO channel, and the responsibility for doing that is
now for the upper layers/applications.

This provides additional flexibility for the higher layers
as they can better control the values and timing of the data
path, as well as support removing and even reconfiguring the
data path at will.
This also removes some complexity from the stack.

This commit also fixed a inconsistency in the disconnected
handler. CIS for centrals as well as BIS were still valid
bt_iso_chan channels in the disconnected callback,
but CIS for peripherals were completely cleaned up at this
point. This issue is fixed by moving the disconnected callback
handling to before the code to cleanup the channel for
peripherals.

Since there is a difference in how you remove data paths
depending on the GAP role (central/peripheral), the
iso_info struct type has been expanded to be more
concise of which type of CIS it is.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-03-19 10:56:57 +01:00
Pieter De Gendt
7cd38b1b20 doc: releases: releases-notes: 4.2: Add CONFIG_NET_IPV4_MTU entry
Add a release note entry for the newly introduced networking option
CONFIG_NET_IPV4_MTU.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-03-19 03:34:26 +01:00
Jukka Rissanen
f13555c932 doc: net: Add socket service API usage documentation
Add information how to use socket service API from application
point of view.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-03-18 19:58:53 +01:00
Jilay Pandya
2fc2c6a55f docs: release-notes: 4.2: add stop func entry
Add entry of the newly added stop function in stepper subsystem

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-03-18 16:41:31 +01:00
Keith Short
d2969dca20 doc: Add guidance for copyright notices on new files
Add language indicating that new files should include a specific
copyright notice.

Signed-off-by: Keith Short <keithshort@google.com>
2025-03-18 16:41:12 +01:00
Benjamin Cabé
f7ad282504 boards: arduino: doc: Adopt Sphinx custom board directives
Adds zephyr:board and zephyr:board-supported-hw directives to the
Arduino docs in order to generate more of the boards' documentation
automatically.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-03-18 16:40:59 +01:00
Jilay Pandya
0a4acd8ee8 dts: bindings: spi: use hyphen instead of underscore
use hyphen instead of underscore in order to comply with device tree
specification.

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-03-18 16:40:19 +01:00
Emil Gydesen
351805435c Revert "include: util: Add generic function to count bits set in a value"
This reverts commit d05de070db.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-03-18 16:39:47 +01:00
Emil Gydesen
d05de070db include: util: Add generic function to count bits set in a value
Adds a generic function that will count the number of bits set in
a value.

It uses POPCOUNT (e.g. __builtin_popcount for GCC) if available,
or else it will use Brian Kernighan’s Algorithm to count bits.

POPCOUNT will likely always support unsigned ints, but the function
was implemented to use it with uint8_t for the sake of simplicity
and compatibility with Brian Kernighan’s Algorithm.

A generic solution was chosen rather than a macro/function per
type (e.g. uint8_t, uint16_t, etc.) as that is easier to maintain
and also supports array types (e.g. counting the number of bits
in 128 or 256 octet arrays).

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-03-17 21:03:56 -04:00
Benjamin Cabé
9279bddc2d boards: arduino: use revisions for Arduino Uno R4 Minima and WiFi
Use revisions instead of making these two different boards.
Deprecate old board names

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-03-17 21:01:57 -04:00
Benjamin Cabé
258b89bd63 doc: _extensions: handle custom bindings in board catalog
Boards might have local bindings for which generating links using the
dtcompatible role doesn't work -- update the code accordingly so that
we can still provide a description of these custom bindings in the table
of supported features (but with no hyperlink).

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-03-17 20:04:10 +01:00
James Roy
394c78538f doc: Add a new migration guide entry to DAI
Add the following property renaming entries to
the migration:

* dai_id
* afe_name
* agent_disable
* ch_num
* mono_invert
* quad_ch
* int_odd

Signed-off-by: James Roy <rruuaanng@outlook.com>
2025-03-17 19:58:53 +01:00
Jukka Rissanen
152a03b62c doc: net: Add link address change info to migration guide
Add information about "struct net_linkaddr" changes to 4.2
migration guide to help the developers to handle issues if
they access the net_linkaddr struct fields directly in their
code.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-03-17 16:25:22 +01:00
TOKITA Hiroshi
a54d4ac83d docs: migration-guide-4.2: Add note about Renesas RA4M1 migration
The Renesas RA4M1 has moved to an FSP-based implementation.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-03-17 16:24:42 +01:00
Lyle Zhu
1708574d0a Bluetooth: BR: Add a function bt_br_bond_exists()
Add a function `bt_br_bond_exists()` to check if the address of the
classic device has been bonded.

Update release-notes-4.2.rst

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-03-17 14:08:04 +01:00
Timothy Keys
7ef8116969 bluetooth: host: Remove experimental flag from LE Connection Subrating
The API has not changed since it was introduced so should no longer be
considered experimental.

Signed-off-by: Timothy Keys <timothy.keys@nordicsemi.no>
2025-03-17 13:57:03 +01:00
Michael Feist
63623915af doc: update Rust documentation to say support Rust instead of CMake
Seemed to be a typo in the Rust doc page saying to enable CMake support
in your CMakeLists.txt. Swapped to say Rust.

Signed-off-by: Michael Feist <michael.feist@etcconnect.com>
2025-03-15 00:36:11 +01:00
Anas Nashif
f29ae72d79 kernel: rename 'dumb' scheduler and simply call it 'simple'
Improve naming of the scheduler and call it what it is: simple. Using
'dumb' for the default scheduler algorithm in Zephyr is a bad idea.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-03-15 00:34:58 +01:00
James Roy
10a223b6fe doc: releases: Add a display release entry
Add the display_clear function in the display
subsystem to clear the target devices screen
display by resetting it to white.

Signed-off-by: James Roy <rruuaanng@outlook.com>
2025-03-14 14:39:40 +01:00
Fabio Baltieri
60a9a202df kscan: drop kscan and any reference
Drop the whole kscan subsystem and reference to it.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-03-13 16:56:26 +00:00
Emil Gydesen
501b95ff9b Bluetooth: CSIP: Rename BT_CSIP_SET_MEMBER_NOTIFIABLE
Renamed BT_CSIP_SET_MEMBER_NOTIFIABLE to
BT_CSIP_SET_MEMBER_SIRK_NOTIFIABLE to be more specific.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-03-13 16:56:14 +00:00
Alex Fabre
5ba659c43f sca: gcc: add support for additional analyzer options
This commit brings support for additional GCC static analyzer options
with 'GCC_SCA_OPTS=...'

Linked to discussion on 'ccache' side effect on analyzer file
generation[1]

[1] https://github.com/zephyrproject-rtos/zephyr/discussions/86196

Signed-off-by: Alex Fabre <alex.fabre@rtone.fr>
2025-03-13 16:53:26 +00:00
Emil Gydesen
5918427278 Bluetooth: Host: Make bt_le_addr_is_bonded public
Some GATT services and profiles define specific behavior
based on whether the remote device is bonded or not.
The internal function, bt_addr_le_is_bonded, is the
only function to do this, but it was kept internal,
and could thus not be used for those services
without including hci_core.h.

The function has been moved to the public API
so that application can determine if a remote
address is bonded or not, and has been renamed
to not use the bt_addr namespace, but rather the
bt_le.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-03-13 10:48:19 +01:00
Benjamin Cabé
56625124e8 doc: Improve style of table of supported feature header
Border was bogus -- fix CSS rule to provide a more subtle look.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-03-13 07:23:09 +01:00
Benjamin Cabé
7317d918e2 doc: Remove disabled row styling from table of supported HW features
Grayed out rows in the table of supported HW features  are more confusing
than helpful.
The yellow/green indicators with the count for each feature are enough to
communicate the initial status.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-03-13 07:23:09 +01:00
Henrik Brix Andersen
e91f08f65d doc: releases: release-notes: 4.2: removal of deprecated net_buf APIs
Add entry for the removal of the deprecated net_buf_put(), net_buf_get()
API functions, and the deprecated zephyr/net/buf.h header location.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2025-03-12 19:04:19 +01:00
Henrik Brix Andersen
0f42f89a8c lib: net_buf: remove deprecated zephyr/net/buf.h header file
Remove the deprecated zephyr/net/buf.h header file.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2025-03-12 19:04:19 +01:00
Henrik Brix Andersen
4d01efbf90 lib: net_buf: remove deprecated net_buf_put() and net_buf_get() functions
Remove the deprecated net_buf_put() and net_buf_get() functions.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2025-03-12 19:04:19 +01:00
Luca Burelli
6debfe7934 llext-edk: export board information to EDK files
Export the currently used board name and (when applicable) qualifiers
and revisions to the EDK files.  This information can be used by EDK
users who deal with multiple targets to differentiate between them.

Uses the existing 'zephyr_string' function to sanitize the strings
instead of a custom regex replace.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2025-03-12 19:02:45 +01:00
Alberto Escolar Piedras
495c3b4d26 doc/releases/migration-guide-4.2: Mention native_posix renames
Mention all native_posix drivers renames in the migration
guide.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-03-12 14:05:45 +00:00
Krzysztof Chruściński
f68a086005 doc: debugging: Add section about CPU load
Add documentation for CPU load module.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-03-12 14:03:48 +00:00
Jilay Pandya
c52370acf7 docs: release-notes: 4.2: new stepper sample
- stepper_generic

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-03-12 07:13:33 +01:00
Etienne de Maricourt
1d356abc5b doc: net: lwm2m: Update code snippet to use latest API
Documentation was not updated after the deprecated API was removed in
94e12d59.

Signed-off-by: Etienne de Maricourt <edmecomemail@gmail.com>
2025-03-12 02:27:59 +01:00
Alberto Escolar Piedras
a734805f82 doc/connectivity sockets: minor rephrase to avoid ambiguity
"native POSIX" in Zephyr's context is typically understood as something
else than what this text refers to. Let's rephrase it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-03-12 02:27:36 +01:00
Gerard Marull-Paretas
b99ae6c7d9 scripts: kconfig: introduce dt_nodelabel_exists
Add a new function to check if a nodelabel exists in devicetree.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2025-03-11 18:54:57 +01:00
Alberto Escolar Piedras
cb53e40ff9 drivers uart_native_posix: rename to native_pty and support N instances
Rename the driver from uart_native_posix to uart_native_pty.
Including renaming the DTS compatible, and kconfig options, deprecating
the old ones.

And refactor the driver, generalizing it, so we can have any number of
instances.
Note that, unfortunately generalizing to N instances cannot be done
without a degree of backwards compatibility breakage: This driver was
born with all its configuration and selection of the instances based on
kconfig.
When the driver was made to use DT, it was done in a way that required
both DT and kconfig needing to manually coherently enable the 2nd UART.
This has now been fixed, which it means only DT is used to decide how
many instances are avaliable, and UART_NATIVE_POSIX_PORT_1_ENABLE is
just ignored.

Including:
* Deprecate UART_NATIVE_WAIT_PTS_READY_ENABLE: the options is always on
  now as it has no practical drawbacks.
* Deprecate UART_NATIVE_POSIX_PORT_1_ENABLE: DTS intanciation defines it
  being available now.
* Rename a few functions and in general shorten pseudo-tty/pseudo-
  terminal to PTY instead of PTTY.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-03-11 18:54:02 +01:00