Commit graph

17,121 commits

Author SHA1 Message Date
Mathieu Choplain
7df8f759a9 include: kernel: document Kconfig option needed by k_thread_name_get/set
The description of k_thread_name_get() indicated that a Kconfig option
is required for the function to return non-NULL values, but did not
provide the name of that option.

Fix by adding the name of the option: CONFIG_THREAD_NAME.

While at it, also update the documentation of k_thread_name_set() which
indicates CONFIG_THREAD_MONITOR is needed, when it actually requires
option CONFIG_THREAD_NAME too.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-02-13 13:56:19 +01:00
Benjamin Cabé
b710a9ec77 doc: include: drop funcprops Doxygen alias
The "@funcprops" Doxygen alias was originally introduced to list all
the function properties that apply to a given function (e.g. isr_ok,
etc.) in the form of a bullet list. However, since commit a258ab32d1
that is no longer the case and all the properties are rendered as
qualifiers (https://www.doxygen.nl/manual/commands.html#cmdqualifier)
and therefore no longer need to be grouped in a separate list.

This commit also ensure all aliases for the actual qualifiers use
`@qualifier` notation instead of `\qualifier` to be consistent with
our Doxygen guidelines.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-02-13 13:55:40 +01:00
Quy Tran
c05697259e include: zephyr: Add doxygen coverage for Renesas header files
Add doxygen coverage for header of Renesas files to improve
documentation build from Zephyr

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
2026-02-13 12:37:04 +01:00
Peter Mitsis
79b53db687 kernel: Move range of nodes from one list to another
Adds routines to remove a range of nodes from one list and either
prepend them or append them to another. This can be more efficient
than moving them one by one.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2026-02-13 10:07:33 +01:00
Tom Burdick
cd1cc1c0ca rtio: Make the cacheline struct size check optional
This check was asserting on the wrong struct size and was not taking in
the architecture configured cache line size. The build assert now checks
the right struct size and takes into account the configured cache line
size or sets a default.

Additional makes the check entire opt in.

Signed-off-by: Tom Burdick <thomas.burdick@infineon.com>
2026-02-13 10:06:50 +01:00
Tom Burdick
b91a201b15 rtio: Make OP_DELAY optional
OP_DELAY requires embedding in the submission queue entry a _timeout
struct which can push the struct size over the specified 64 byte (cache
line) limit.

Signed-off-by: Tom Burdick <thomas.burdick@infineon.com>
2026-02-13 10:06:50 +01:00
Henrik Brix Andersen
239609600a drivers: can: use DEVICE_API_GET() for obtaining the can_driver_api struct
Use the DEVICE_API_GET() macro for obtaining a pointer to the
can_driver_api struct from the device struct.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2026-02-12 20:04:37 +01:00
Herman Berget
62e12edb19 Bluetooth: Host: Use HCI VS command to set public addr on bt_enable
The current way of setting the public address using
`bt_hci_driver_api::setup` does not work well in split builds
where host and controller runs on different cores/socs/boards.
This approach requires each HCI driver and each `hci_<transport>`
application to implement the setup and pass the information on
to the next layer.

Zephyr already defines a vendor-specific command that can be used
to set the public address (`bt_hci_cp_vs_write_bd_addr`).
Use this in `bt_enable` after opening the HCI transport and before
initializing the id module. This makes the setup independent of
hci transport and only depends on a controller that implements the
Zephyr HCI VS commands.

Signed-off-by: Herman Berget <herman.berget@nordicsemi.no>
2026-02-12 14:29:44 +00:00
Dominik Ermel
919a4f1601 kvss: Move NVS and ZMS headers under kvss subdir
Move them out of fs to kvss.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2026-02-12 10:55:27 +01:00
Kate Wang
ec6ec7733b drivers: video: add YUV24 and PNG pixel format definitions
Add support for two new pixel formats:
- VIDEO_PIX_FMT_YUV24: 24-bit YUV format with 8 bits per component
  (Y, U, V packed format)
- VIDEO_PIX_FMT_PNG: PNG compressed image format

Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
2026-02-12 09:31:37 +01:00
Pieter De Gendt
20d62fe4e0 shell: Add shell_readline helper
Introduce a helper function to wait for user input with a timeout.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-02-11 17:47:50 -06:00
Pieter De Gendt
186597eb99 shell: dummy: Add input buffer
Allow reading from the dummy shell backend, useful for testing purposes.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-02-11 17:47:50 -06:00
Henrik Lindblom
d329f6a3cd docs: settings: add missing API documentation
Add documentation to the defines and API function types. The missing return
types were checked by comparing the corresponding settings_*()
documentation to a few driver implementations. In some cases the return
value of the API functions were not checked by the subsystem code. Most
notably in the case of csi_save_start() and csi_save_end() the return
values are never checked by the settings subsystem code. In those two cases
the documented return value follow the most common usage pattern. When
loading subtrees the return value of csi_load() is also not checked, but
the intended usage can be guessed from other call sites.

Ran clang-format on the file as newly added changes were not formatted
correctly.

Signed-off-by: Henrik Lindblom <henrik.lindblom@vaisala.com>
2026-02-11 17:47:09 -06:00
Jason Yu
872c5e34dd drivers: interrupt: gint: Add GINT driver
The GINT peripheral provides grouped GPIO interrupt
functionality, allowing multiple pins to be combined
into a single interrupt source.
Support the peripheral in interrupt controller

Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
2026-02-11 17:46:28 -06:00
zjian zhang
6a5e2f1a29 dt-bindings: pinctrl: add amebag2 definitions
Add valid pin configurations for amebag2

Signed-off-by: zjian zhang <zjian_zhang@realsil.com.cn>
2026-02-11 15:02:10 -06:00
Benjamin Cabé
25181e9210 drivers: include: spi: use doxygen aliases to document driver ops
Apply the recently introduced driver_ops Doxygen macros to the SPI driver
API. This standardizes how driver operations are documented, making it
easier for developers to distinguish between mandatory and optional
operations directly in the public API documentation.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-02-11 15:01:09 -06:00
Benjamin Cabé
7feca04821 drivers: include: can: use doxygen aliases to document driver ops
Apply the recently introduced driver_ops Doxygen macros to the CAN
controller driver API. This standardizes how driver operations are
documented, making it easier for developers to distinguish between
mandatory and optional operations directly in the public API
documentation.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-02-11 15:01:09 -06:00
Benjamin Cabé
ecdd39e901 drivers: include: gnss: use doxygen aliases to document driver ops
Apply the recently introduced driver_ops Doxygen macros to the GNSS driver
API. This standardizes how driver operations are documented, making it
easier for developers to distinguish between mandatory and optional
operations directly in the public API documentation.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-02-11 15:01:09 -06:00
Jordan Yates
39657b93ff kernel: macro to approximate required heap size
Add a macro to approximate the heap size required by a heap in order for
an allocation of N bytes to succeed. The intent is to provide a way for
small heaps to more accurately specify their sizes.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2026-02-11 10:39:13 +01:00
Dong Wang
daa15a8a32 x86: Always put snippets-rodata into regular rodata section
Always put the inclusion of snippets-rodata.ld into the normal rodata
section no matter pinned sections are used or not. No reason to put it
in pinned sections.

Signed-off-by: Dong Wang <dong.d.wang@intel.com>
2026-02-11 09:22:38 +01:00
Benjamin Cabé
60ca5367a7 drivers: i2s: update macro names to match latest I2S specification
I2S bus specification 3.0 [1] updated terms "Master" and "Slave" to
"Controller" and "Target". This rename macros using these terms and
deprecates old names.

[1] https://www.nxp.com/docs/en/user-manual/UM11732.pdf

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-02-10 13:24:18 -06:00
Pieter De Gendt
b92f6e9793 sys: device_mmio: Add device_unmap
Add a function that unmaps virtual memory obtained from device_map.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-02-10 10:53:32 +01:00
Emil Gydesen
5864564a46 Bluetooth: CCP: Add user_data to bt_ccp_call_control_client_cb
Add a user_data field to bt_ccp_call_control_client_cb. The
field is optional to enable via Kconfig. The field can be used
to provide additional context from the owner of the callback
structure, to the callbacks themselves.

This solves a memory use-after-free issue in the unit tests
where the values from the callback was accessed after they
were released, as the values were just stack allocated.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2026-02-10 10:51:43 +01:00
Aiden Hu
376d2c3139 usb: uvc: update header for UVC 1.5 compliance
Add input terminal descriptor and CS descriptor header and
extend frame descriptor fields (buffer size, default interval)

Signed-off-by: Aiden Hu <weiwei.hu@nxp.com>
Co-authored-by: Aiden Hu <weiwei.hu@nxp.com>
Signed-off-by: Josuah Demangeon <josuah.demangeon@nordicsemi.no>
2026-02-09 16:12:00 -06:00
Peter Mitsis
73cf293de6 kernel: Add NONZERO_SPINLOCK_SIZE Kconfig option
Embeds both an anonymous union and an anonymous structure within the
k_spinlock structure to ensure that the structure can easily have a
non-zero size.

This new option provides a cleaner way to specify that the
spinlock structure must have a non-zero size. A non-zero size
is necessary when C++ support is enabled, or when a library
or application wants to create an array of spinlocks.

Fixes #59922

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2026-02-09 11:16:03 +01:00
Scott Worley
448dda458b drivers: spi: microchip: mec: Common QMSPI-LDMA driver
We converted the QMSPI-LDMA driver to linux style with a local
register header in the driver folder. This is part of the long
term plan to remove the MEC5 HAL and have common drivers for
as many SoC's as possible. QMSPI register definitions are in
the SoC layer to be shared with other drivers (MSPI). The driver
was also updated based on changes in the SPI config structure.
The lastest SPI config structure changes force hardware controlled
chip selects and GPIO controlled chip selects to be mutually exclusive.
NOTE: driver works with the flash driver sample
and passes the common flash driver test.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2026-02-06 13:46:14 -06:00
Scott Worley
3b3ad0c22f soc: microchip: mec: Common SoC helper updates
We updated the SoC Microchip MEC common helper and headers.
Add helper routines to manipulate PCR sleep enable bits, etc.
Add miscellaneous helper routines.
Add QMSPI register definitions to be used by SPI and MSPI drivers.
Create a common header containing includes of all other
common headers to prevent changing each chip's soc.h
Note, we must add build logic to handle naming difference of eSPI
SAF/TAF nodes. Intel changed name of SAF to TAF. MEC15xx and MEC172x
older driver still use SAF in DT node naming.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2026-02-06 13:46:14 -06:00
Robert Lubos
5fc367e348 net: coap: Remove invalid 2.00 response code
CoAP response code 2.00 is not defined anywhere in the spec nor
assigned in the IANA registry, therefore it should not be defined
in Zephyr either. Remove the invalid response code and its usage
in tests.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2026-02-06 08:57:38 -06:00
David Jewsbury
0f90354a27 drivers: nrf_auxpll: Fix frequency calculation
The out_div dts setting differs to the register setting
causing the frequency calcuation to be incorrect.
This was originally intended to be fixed in NRFX but
this requires further investigation on how to approach
translation of literal values to enums in NRFX. This PR
adds a helper function for the conversion for now and
changes the devicetree bindings to align with the literal
value.

Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
2026-02-06 08:55:47 -06:00
Christophe Guibout
43b9a33803 dt-bindings: stm32mp2_clock.h: add clock for fdcan peripherals
Add clock bindings for fdcan peripherals for the STM32MP2 series.

Signed-off-by: Christophe Guibout <christophe.guibout@st.com>
2026-02-06 08:54:22 -06:00
Muhammad Waleed Badar
00eaa50369 drivers: pinctrl: add bcm2711 pinctrl driver
The BCM2711 GPIO controller provides 58 GPIO pins (0-57) that can be
configured for various functions including GPIO input/output and
alternate functions for peripherals like SPI, I2C, UART, PWM, etc.

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2026-02-06 08:52:07 -06:00
Laurentiu Mihalcea
fd3fa5d427 firmware: scmi: transport: document transport driver API
Add documentation for the transport driver API. This is done by moving
and rewriting the previously existing documentation bits from the
transport consumer API. The documentation is rewritten such that it can
be more concise.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2026-02-06 14:01:40 +01:00
Laurentiu Mihalcea
b17297807f firmware: scmi: transport: hide private "struct scmi_channel" fields
"struct scmi_channel" has a couple of fields, which are only meant to
be used by the SCMI core. As such, there's no need to expose their
documentation to the public since transport driver writers shouldn't have
to care about them anyways. Thus, mark these fields as INTERNAL_HIDDEN.

Note that the order of the structure fields is shuffled such that
public and private fields can stay grouped together.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2026-02-06 14:01:40 +01:00
Laurentiu Mihalcea
364b4e0aa1 firmware: scmi: transport: hide consumer API from public docs
The consumer functions are only meant to be used by the SCMI core. Thus,
there's no need to keep their documentation public. Transport driver
writers should only care about the driver API documentation anyways.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2026-02-06 14:01:40 +01:00
Maciej Sobkowski
61ba3c9cd6 instrumentation: support dynamic triggers
This makes using instrumentation with any sample/board combination
much easier, as it eliminates the need to define a custom dt overlay.
Trigger/stopper functions need to be configured at build time.

Signed-off-by: Maciej Sobkowski <msobkowski@antmicro.com>
2026-02-06 13:53:34 +01:00
Somil Gupta
f6a32b27dc tests: subsys: crc clarify CRC8 reflected polynomial comment
The CRC8_REFLECT_POLY macro comment previously referred to CCITT,
which can be misleading in this context. The value (0xE0) depicts
the reflected form of the standard CRC-8 polynomial (0x07).

The comment is updated to explicitly describe it as the reflected
CRC-8 polynomial so the intent is clearer when reading the code.

Signed-off-by: Somil Gupta <somil24559@iiitd.ac.in>
2026-02-06 11:22:51 +01:00
Josuah Demangeon
76c8d712d7 usb: device_next: uvc: fix public API include
The public API file <zephyr/usb/class/usbd_uvc.h> lacked an include
to <zephyr/drivers/video.h> making it fail depending on the order of
the includes.

Signed-off-by: Josuah Demangeon <josuah.demangeon@nordicsemi.no>
2026-02-06 11:18:45 +01:00
Siratul Islam
45be564ce9 tests: drivers: biometrics: Add emulated driver test
- Add test suite for biometrics API using emulated driver
- Test enrollment flow: start, capture, finalize, abort
- Test template operations: store, read, delete, list
- Test matching: verify and identify modes
- Test attribute get/set and error handling
- Runs on native_sim and real hardware

Signed-off-by: Siratul Islam <email@sirat.me>
2026-02-06 11:10:54 +01:00
Siratul Islam
3991cf37c3 drivers: biometrics: introduce biometrics subsystem
Introduces a new drivers subsystem for biometric sensors.
The API supports enrollment, matching, and template storage.

Signed-off-by: Siratul Islam <email@sirat.me>
2026-02-06 11:10:54 +01:00
Josuah Demangeon
92c4d2744e usb: host: introduce usbh_class with init/remove functions
Add functions to probe/remove all classes as part of a new usbh_class.c
and a matching usbh_class.h. These functions are called from the function
usbh_init_device_intl() in usbh_core.c to initialize every class upon
connection of a device. Every class driver provide filters to match the
interfaces of the device.

Co-authored-by: Aiden Hu <weiwei.hu@nxp.com>
Signed-off-by: Josuah Demangeon <josuah.demangeon@nordicsemi.no>
2026-02-05 13:12:58 +00:00
Josuah Demangeon
7e38871a66 usb: host: store the pointers to the interface association
In addition to storing the interface pointers, also store the pointers
for the interface association. Also add comments to the other fields
of the structs to adapt to a new CI check.

Signed-off-by: Josuah Demangeon <josuah.demangeon@nordicsemi.no>
2026-02-05 13:12:58 +00:00
Josuah Demangeon
e103442d25 usb: host: introduce wrappers to access the class function pointers
Add API wrappers around the function pointers in struct usbh_class_api,
while also documenting the USB host class internal API.

Signed-off-by: Josuah Demangeon <josuah.demangeon@nordicsemi.no>
2026-02-05 13:12:58 +00:00
Josuah Demangeon
df02abfa41 usb: host: class: implement more of the class/data struct fields
Add a "struct usbh_class_api" for the host implementation, and move all
the function poitners to it. Add more fields to "struct usbh_class_data".

Signed-off-by: Josuah Demangeon <josuah.demangeon@nordicsemi.no>
2026-02-05 13:12:58 +00:00
Josuah Demangeon
a7cfa6b3bb usb: host: add host status to the host context
Add a "struct usbh_status" that contains a bitmask of flags to keep
track of the global state of the host context, like done for the
device_next implementation.

Signed-off-by: Josuah Demangeon <josuah.demangeon@nordicsemi.no>
2026-02-05 13:12:58 +00:00
Sean Kyer
b50948b308 doc: tracing: Fix typo in tracing brief
Fixed a typo in tracing brief.

Signed-off-by: Sean Kyer <sean.actor@gmail.com>
2026-02-05 10:27:38 +00:00
Kai Cheng
1a8c5875e3 Bluetooth: Classic: add inquiry scan parameters update
Implement BR/EDR inquiry scan parameters update functionality with
new API bt_br_inquiry_scan_update_param(). Adds support for setting
inquiry scan interval, window and type via HCI commands. Includes
default parameter set for standard inquiry scanning.

Signed-off-by: Kai Cheng <chengkai@xiaomi.com>
2026-02-05 10:26:46 +00:00
Kai Cheng
8fe282374b Bluetooth: Classic: add page scan parameters update
Implement BR/EDR page scan parameters update functionality with new
API bt_br_page_scan_update_param(). Adds support for setting page scan
interval, window and type (standard/interlaced) via HCI commands.
Includes predefined parameter sets for different Bluetooth versions
and use cases.

Signed-off-by: Kai Cheng <chengkai@xiaomi.com>
2026-02-05 10:26:46 +00:00
Kai Cheng
14158c9d02 Bluetooth: Classic: add COD set/get feature
This commit implements Class of Device (COD) functionality for
Classic Bluetooth, supporting both setting and retrieving COD
from the controller by bt_br_write_cod and bt_br_read_cod.

Signed-off-by: Kai Cheng <chengkai@xiaomi.com>
2026-02-05 10:26:46 +00:00
Michael Zimmermann
db654722c5 net: mqtt_sn: make client_radius a uint8_t
There is no need for it to have a different type than the packet data. The
variable is never checked for negativity and is only used when ts_gwinfo is
non zero, in which case client_radius must have been set as well.

Signed-off-by: Michael Zimmermann <michael.zimmermann@sevenlab.de>
2026-02-05 10:21:46 +00:00
Pieter De Gendt
dab2f5bcb4 nvmem: Make struct fields private
The internals of an NVMEM cell should be kept private, and needs to be
interacted with using an API.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-02-05 10:21:15 +00:00