Commit graph

17,121 commits

Author SHA1 Message Date
Triveni Danda
b4e2cd139b net: l2: wifi: Handle domain match and suffix match parameters
Add support to handle domain match and suffix match parameters
for proper server certification validation.

Signed-off-by: Triveni Danda <triveni.danda@nordicsemi.no>
2025-11-13 20:42:52 -05:00
Afonso Oliveira
0cdc464285 riscv: add Smcsrind indirect CSR access extension support
Add support for the RISC-V Smcsrind extension, which provides
indirect access to CSRs through the MISELECT and MIREG registers.

Changes:
- Added CONFIG_RISCV_ISA_EXT_SMCSRIND Kconfig option
- Implemented 4 helper functions for indirect CSR access:
  * icsr_read/write - basic access
  * icsr_read_set/clear - bit manipulation
- Defined 7 CSR registers (MISELECT, MIREG, MIREG2-6)

This is a CSR-only extension that does not require any compiler
support or march flags. The helper functions compile to standard
CSR instructions and work with any toolchain that supports Zicsr.

Primary use case: RISC-V AIA (Advanced Interrupt Architecture)
uses indirect CSRs to access IMSIC (Incoming MSI Controller)
registers.

Signed-off-by: Afonso Oliveira <afonsoo@synopsys.com>
2025-11-13 20:38:38 -05:00
Firas Sammoura
9dc3906cd3 arch: riscv: Add z_riscv_pmp_clear_all() to reset PMP entries
Introduce the new function `riscv_pmp_clear_all()` to reset the Physical
Memory Protection (PMP) configuration.

This function iterates through all configured PMP slots. For each entry,
it writes 0x0 to the entry's 8-bit configuration register. This action
attempts to clear all fields, including the Address Matching Mode (A) bits
(setting the region type to OFF), the permission bits (R, W, X), and
the Lock (L) bit.

According to the RISC-V specification, any writes to the configuration
or address registers of a locked PMP entry are ignored. Thus, locked
entries will remain unchanged, while all non-locked entries will be
effectively disabled and their permissions cleared.

The function ensures it operates in Machine mode with MSTATUS.MPRV = 0
and MSTATUS.MPP = M-mode before modifying any PMP Control and Status
Registers (CSRs).

This provides a mechanism to clear all non-locked PMP regions,
returning them to a default disabled state. The function declaration is
exposed in the `include/zephyr/arch/riscv/pmp.h` header file, making it
available for inclusion and use by external modules.

It is recommended for firmware to call this function before transitioning
from a Read-Only (RO) stage to a Read-Write (RW) stage. This ensures
that any PMP settings established during the RO phase, which might no
longer be appropriate, are cleared, providing a clean and secure base
PMP configuration for the RW firmware.

Signed-off-by: Firas Sammoura <fsammoura@google.com>
2025-11-13 20:36:55 -05:00
Make Shi
aca9ae2814 Bluetooth: AVRCP: Implement full support vendor-dependent commands
Add full support for all remaining AVRCP vendor-dependent PDUs on both
Controller (CT) and Target (TG), including APIs, callbacks, and shell
commands for testing.

Signed-off-by: Make Shi <make.shi@nxp.com>
2025-11-13 20:35:28 -05:00
Make Shi
8572ec9cf3 Bluetooth: AVRCP: Add Player app Settings vendor-dependent commands
Implement support for AVRCP Player app Settings PDUs on both CT/TG
- Added APIs for sending and handling commands like LIST_ATTRS,
   LIST_VALS, GET_CURR_VAL, SET_VAL, and related text/inform PDUs.
- Added callbacks for TG request handling and CT response processing.
- Add shell commands for Player app Settings commands testing.

Signed-off-by: Make Shi <make.shi@nxp.com>
2025-11-13 20:35:28 -05:00
Make Shi
c0c5a25158 Bluetooth: AVRCP: Add support for notification events
This patch adds AVRCP notification event handling for both CT and
TG roles. Also add Shell command support for testing notification
registration and responses.

Signed-off-by: Make Shi <make.shi@nxp.com>
2025-11-13 20:35:28 -05:00
Make Shi
7008f0eaf3 bluetooth: avrcp: Add vendor-dependent with fragmentation support
This patch introduces support for AVRCP vendor-dependent commands and
responses, including full handling of fragmented messages.

- Adds fragmentation and reassembly logic for AVRCP vendor-dependent
- Introduces TX queue management using delayed work for TG
- Adds support for GetCapabilities PDUs
- Add new Kconfig for vendor-dependent with fragmentation support

Signed-off-by: Make Shi <make.shi@nxp.com>
2025-11-13 20:35:28 -05:00
Jordan Yates
6582969aa9 device: transition device exports to group symbols
Transition the Zephyr device exports to the new group symbol
abstraction.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-11-13 23:19:19 +02:00
Jordan Yates
47656f1a75 llext: symbol: custom groups
Allow symbols to be placed in custom groups, which can be included or
excluded from the build with a common Kconfig symbol.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-11-13 23:19:19 +02:00
Jordan Yates
5561d8d302 llext: symbol: group exported symbols
Group exported symbols together by subsystem/library. Groups can then
be enabled or disabled together through the existance of a Kconfig
symbol named `CONFIG_LLEXT_EXPORT_SYMBOL_GROUP_{GROUP_NAME}`.

All symbols declared with the standard `EXPORT_SYMBOL` and
`EXPORT_SYMBOL_NAMED` macros fall into the `DEFAULT` group.

Signed-off-by: Jordan Yates <jordan@embeint.com>

DEFAULT

DEFAULT
2025-11-13 23:19:19 +02:00
Pieter De Gendt
e9efa7260e include: zephyr: drivers: spi: Add SPI_DT_INST_IODEV_DEFINE
Add helper macro for SPI_DT_IODEV_DEFINE with an instance variant.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-11-13 23:19:06 +02:00
Pieter De Gendt
6c3048dfa6 include: zephyr: drivers: i3c: Add I3C_DT_INST_IODEV_DEFINE
Add helper macro for I3C_DT_IODEV_DEFINE with an instance variant.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-11-13 23:19:06 +02:00
Pieter De Gendt
5cbc79f43c include: zephyr: drivers: i2c: Add I2C_DT_INST_IODEV_DEFINE
Add helper macro for I2C_DT_IODEV_DEFINE with an instance variant.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-11-13 23:19:06 +02:00
Jeppe Odgaard
ab22130b6a sys: util: remove extra call in WAIT_FOR
WAIT_FOR calls `expr` after it has evaluated to true.

Store `expr` in a variable and return it instead to prevent the additional
`expr` call.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2025-11-13 23:18:54 +02:00
Mathieu Choplain
947749abfc linker: llext: move #ifdef CONFIG_LLEXT guard inside common file
LLEXT-related sections should only be added to the linker script when the
associated CONFIG_LLEXT is enabled. This has been done by checking for this
Kconfig symbol in every linker file, but this creates a lot of boilerplate
for no good reason.

Use the much simpler solution: move the check inside the common linker file
and remove existing "#ifdef CONFIG_LLEXT" checks in all linker files.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-11-13 23:17:37 +02:00
Fabio Baltieri
00966b857e input: keymap: add a MATRIX_CODE macro
Add a MATRIX_CODE macro to extract the key code from a key value created
in DT with MATRIX_KEY. This can be handy for code other than input_keymap.c

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-11-13 23:16:52 +02:00
Carles Cufi
0d18b50009 include: sys: atomic: Check for ATOMIC_OPERATIONS_BUILTIN
The code today relied on ATOMIC_OPERATIONS_BUILTIN being the default
option if the other alternatives (_C and _ARCH) were not enabled.
Instead, explicitly check for it to avoid confusion when browsing the
code and to ensure that the user can always match a particular Kconfig
option with the #ifdeffery in the header file.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2025-11-13 23:15:27 +02:00
Yong Cong Sin
aff6123cfd ring_buffer: update assert message when size too big
Make the runtime assertion message more obvious on why it's
failing.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
2025-11-13 23:10:37 +02:00
Jukka Rissanen
2c0cf4ac3f net: midi2: Do not use poll from posix
As midi2 is provided by networking subsystem it should not
depend on any features provided by Posix. Convert Posix poll
API calls to zsock poll ones. There is no functionality changes,
only naming changes.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-11-13 23:09:47 +02:00
Abderrahmane JARMOUNI
c294fc5928 include: zephyr: fix Doxygen \retval command usage
Fix how Doxygen special commands \retval & \return are used in doc text.
\retval: Starts a description for a function's return value with name
<return value>, which needs to be attached and to not be a word that is
part of the sentence, and each return val should have its own \retval.
Otherwise \retval is replaced with \return.

Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
2025-11-13 23:09:24 +02:00
Abderrahmane JARMOUNI
78595121ac include: fs: fix Doxygen \retval command usage
Fix how Doxygen special commands \retval & \return are used in doc text.
\retval: Starts a description for a function's return value with name
<return value>, which needs to be attached and to not be a word that is
part of the sentence, and each return val should have its own \retval.
Otherwise \retval is replaced with \return.

Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
2025-11-13 23:09:24 +02:00
Abderrahmane JARMOUNI
55dd265032 include: kernel: fix Doxygen \retval command usage
Fix how Doxygen special commands \retval & \return are used in doc text.
\retval: Starts a description for a function's return value with name
<return value>, which needs to be attached and to not a word that is
part of the sentence, and each return val should have its own \retval.
Otherwise \retval is replaced with \return.

Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
2025-11-13 23:09:24 +02:00
Abderrahmane JARMOUNI
7c79f4bc5f include: sys: fix Doxygen \retval command usage
Fix how Doxygen special commands \retval & \return are used in doc text.
\retval: Starts a description for a function's return value with name
<return value>, which needs to be attached and to not a word that is
part of the sentence, and each return val should have its own \retval.
Otherwise \retval is replaced with \return.

Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
2025-11-13 23:09:24 +02:00
Abderrahmane JARMOUNI
cd3312c91f include: net: fix Doxygen \retval command usage
Fix how Doxygen special commands \retval & \return are used in doc text.
\retval: Starts a description for a function's return value with name
<return value>, which needs to be attached and to not be a word that is
part of the sentence, and each return val should have its own \retval.
Otherwise \retval is replaced with \return.

Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
2025-11-13 23:09:24 +02:00
Abderrahmane JARMOUNI
c98c068c4c include: bluetooth: fix Doxygen \retval command usage
Fix how Doxygen special commands \retval & \return are used in doc text.
\retval: Starts a description for a function's return value with name
<return value>, which needs to be attached and to not be a word that is
part of the sentence, and each return val should have its own \retval.
Otherwise \retval is replaced with \return.

Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
2025-11-13 23:09:24 +02:00
Abderrahmane JARMOUNI
3d78a76650 include: drivers: fix Doxygen \retval command usage
Fix how Doxygen special commands \retval & \return are used in doc text.
\retval: Starts a description for a function's return value with name
<return value>, which needs to be attached and to not be a word that is
part of the sentence, and each return val should have its own \retval.
Otherwise \retval is replaced with \return.

Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
2025-11-13 23:09:24 +02:00
Benjamin Cabé
dba7304c98 doc: instrumentation: add documentation for the instrumentation subsystem
Add documentation for the instrumentation subsystem as this was missing
from the initial contribution.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-11-12 09:08:45 -05:00
Anas Nashif
e455e6a39b modbus: fix spdx license identifier
Fix APACHE-2.0 -> Apache 2.0

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-11-12 14:38:32 +02:00
Benjamin Cabé
8fa6a3a214 include: drivers: rtc: add missing doxygen docs
document all the RTC Alarm Time Mask macros

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-11-11 16:26:53 +02:00
Anas Nashif
a1b406d844 drivers: promote APIs to unstable status
Many APIs are stuck at experimental status although they already fullfil
the requirements to be considered unstable, i.e. they have multiple
implementations and have been in the tree for more than 2 releases.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-11-08 08:29:14 -05:00
Pieter De Gendt
71a5f1d08e include: zephyr: nvmem: Fix _OR macros
Checking if a node has nvmem-cells is not sufficient, we need to check if
the idx or name exists.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-11-08 10:21:19 +02:00
Pieter De Gendt
be0f5b0dc7 drivers: syscon: Cleanup some doxygen return commands
Documenting return values with doxygen should use the retval tags.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-11-07 19:22:40 +02:00
Martin Hoff
b38054bbae devicetree: fix DT_SPI_DEV_HAS_CS_GPIOS macro
This fix ensures that the implementation matches the documented
behavior, where the macro return 1 when the cs-gpios property has
an entry matching the reg address of the child device.

This restores the behavior of the devicetree init API prior to
<a60f93d742>, which accidentally
introduced this issue by relying on the `DT_SPI_DEV_HAS_CS_GPIOS`
macro, which has deviated from its documented behavior ever since
it was originally introduced 6 years ago.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
Co-authored-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-11-07 10:27:58 +02:00
Anas Nashif
4e9a4e385a cpu_load: rename conflicting API
We have two places defining cpu_load_get() and trying to the same thing,
one is a core kernel feature supported on all architecture, the other is
part of debug, requires tracing and supported only on a subset of
architectures. Both deliver different results and accuracy.

While we figure our how to merge those into one API and with the
advanatges of both, rename the API so there is no confusion about what
is being used.

Fixes #97845

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-11-07 10:27:50 +02:00
Aleksandar Stanoev
9d06fca87a Bluetooth: Decode Bluetooth 6.2 version number
Bluetooth 6.2 has version number 0x10 and was released in November 2025.
This commit ensures this version number is properly decoded.

Signed-off-by: Aleksandar Stanoev <aleksandar.stanoev@nordicsemi.no>
2025-11-06 13:53:30 -05:00
Maureen Helm
8b208b0d5a drivers: hwspinlock: Fix context initializer build warning
Fixes a build warning in the hwspinlock context initializer macro that
occurs when struct k_spinlock has no members ("warning: excess elements
in struct initializer"). This change is consistent with other struct
k_spinlock initializers in kernel.h.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2025-11-06 12:31:04 +02:00
Sreeram Tatapudi
e23ef53769 dts: arm: Infineon: cyw20289: Fix incorrect bootstrap configuration
This commit fixes CYW20829 that was broken on main after the
below commit
https://github.com/zephyrproject-rtos/zephyr/pull/95333

The root cause of the issue is that, bootstrap section is located at
the end of the RAM. So the start address of the section needs to
be calculated based on the size of the section.

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2025-11-06 12:30:18 +02:00
Daniel Leung
33b4a3fd70 kernel: add compiler barrier in k_is_pre_kernel between...
...checking whether we are in user context and accessing
a kernel mode only variable.

For some unknown reasons only knew to Cadence engineers,
the Cadence toolchain will always read z_sys_boot_kernel
at the beginning of k_is_pre_kernel() instead of after
k_is_user_context() is called. So it would always result
in access violation if this is called in user mode.
Forcing a compiler barrier seems to fix that. So force it
here.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2025-11-06 12:29:40 +02:00
Robert Lubos
587d9e6a4a net: icmp: Verify the address family before calling the callback
Check the address family of the packet before passing it to a ICMP
handler, to avoid scenarios where ICMPv4 packet is paseed to a ICMPv6
handler and vice versa.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-11-05 13:19:03 -05:00
Jordan Yates
8aa10bdab7 kernel: Z_HEAP_MIN_SIZE for runtime stats
Increase `Z_HEAP_MIN_SIZE` values to successfully allocate a 1 byte
chunk when `CONFIG_SYS_HEAP_RUNTIME_STATS=y`.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-11-05 11:34:00 +02:00
Jordan Yates
3801d1d38c Revert "Bluetooth: Controller: Deprecate bt_ctlr_set_public_addr"
This reverts commit b07be641e7.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-11-04 07:10:45 -05:00
Benjamin Cabé
74572a787b include: drivers: sensor: doxygen docs for max17055
Fixup doxygen documentation

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-11-04 11:26:14 +02:00
Benjamin Cabé
dc0993f13f include: drivers: sensor: doxygen docs for max32664c
Fixup doxygen documentation

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-11-04 11:26:14 +02:00
Benjamin Cabé
344caf3ec1 include: drivers: sensor: doxygen docs for mmc56x3
Fixup doxygen documentation

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-11-04 11:26:14 +02:00
Benjamin Cabé
0d9c76012b include: drivers: sensor: doxygen docs for sht4x
Fixup doxygen documentation

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-11-04 11:26:14 +02:00
Benjamin Cabé
4c4c2ea7f6 include: drivers: sensor: doxygen docs for ccs811
Fixup doxygen documentation

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-11-04 11:26:14 +02:00
Luca Burelli
40c586fb66 llext: (cosmetic) fix bad file reference in comment
This was moved in 44c7a14 ("llext: add ELF inspection APIs"), but
the comment was not updated.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2025-10-31 22:39:59 +02:00
Benjamin Cabé
301b20aae3 include: drivers: edac: add doxygen documentation to edac_synopsys.h
This ensures the vendor-specific API provided in this header file is
fully documented and exposed in our API documentation.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-10-31 10:21:01 -04:00
Benjamin Cabé
52c8f88858 include: edac: use correct full name for edac_synopsys.h include guard
Minor change but ensures the include guard corresponds to the full path
of the file as done elsewhere in the tree.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-10-31 10:21:01 -04:00
William Tambe
611f381ed9 xtensa: properly compute irq number
This is a miss from:
abeccfec28 xtensa: support for more than 32 interrupts

Signed-off-by: William Tambe <williamt@cadence.com>
2025-10-30 18:36:41 -04:00