Commit graph

17,121 commits

Author SHA1 Message Date
Benjamin Cabé
781d35c4f1 include: adc: add doxygen group for device-specific ADC API extensions
Similar to how it's done for other driver classes, create a new doxygen
group to put all device-specific ADC API extensions under.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-12-23 09:33:06 +01:00
Zhaoxiang Jin
3cf811e302 drivers: clock_control: Enable clock control for lpcmp
1. Enable MCXA/MCXN platforms' LPCMP clock control through
the clock driver (syscon).
2. Enable MCXE platform's LPCMP clock control through the
clock driver (mc_cgm).

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-12-23 09:32:53 +01:00
Benjamin Cabé
0a3bc8fa70 include: disk: add doxygen docs for stm32_sdmmc extended API
Adds doxygen documentation for the extended API of the STM32 SDMMC
driver.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-12-23 07:52:45 +01:00
Benjamin Cabé
7778a15d1e include: disk: add doxygen group for device-specific Disk Access extensions
Similar to how it's done for other driver classes, create a new doxygen
group to put all device-specific Disk Access extensions under.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-12-23 07:52:45 +01:00
Kate Wang
68988108ee drivers: mipi_dbi: add support for DBI color coding
Add new configuration item color_coding in the structure
mipi_dbi_config and in mipi-dbi-device binding property.
The color coding is defined by MIPI Alliance Standard for
Display Bus Interface v2.0, which is required by some display
controllers and device.

Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
2025-12-23 05:07:28 +01:00
Kate Wang
5671a4357b drivers: mipi_dbi: Fix typo for color coding
Fix typo for color coding

Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
2025-12-23 05:07:28 +01:00
Nicolas Moreno
9b6c862121 dt-bindings: mipi_dbi: fixing pulse diagrams
Some diagrams on the file dt-bindings/mipi_dbi/mpi_dbi.h
doesn't deploy the correponsing pulse signal, many of them
the rising flag looks moved some spaces before or after
the rising/falling time. This is fixed by replacing
tasb with spaces

Signed-off-by: Nicolas Moreno <niko722795@gmail.com>
2025-12-23 05:05:52 +01:00
Yangbo Lu
f45e1d528b drivers: sdhc: introduce scatter gather transfer support
Introduced scatter gather transfer support.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-12-23 05:04:25 +01:00
Jordan Yates
36a926f932 disk: sdmmc: implement disk_access_erase
Implement the `disk_access_erase` function by calling out to the lower
layer SD card drivers.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-12-23 05:02:05 +01:00
Jordan Yates
3050daaecc storage: disk_access: add disk_access_erase
Add the `disk_access_erase` command to complement the read and write
commands.

As a backwards compatible new feature, this increments the API version
from `1.0.0` to `1.1.0`.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-12-23 05:02:05 +01:00
Benjamin Cabé
81ac3f9a7f include: Bluetooth: Host: add doxygen docs for GAP timer macros
This adds proper doxygen documentation for the GAP timers macros.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-12-22 22:33:39 +01:00
Grzegorz Swiderski
491a86ca53 fs: zms: Reformulate zms_active_sector_free_space
The initial implementation had a flaw in it: when an active sector was
almost full, the naïve calculation could easily underflow and return a
negative value, which would be misinterpreted as an errno.

Rewrite this API to satisfy the following, reasonable expectations:

  * Always return a non-negative value, provided ZMS is initialized.

  * Always return 0 if no more data can be written into the sector
    without triggering garbage collection.

  * Never return a value less than the actual number of bytes that can
    still be written into the sector.

This requires awareness of a few special cases in ZMS. These are now
captured in a helper function, which will be reused later.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2025-12-22 22:32:53 +01:00
Benjamin Cabé
2954eff7f1 include: display: ssd16xx:: add doxygen docs for ssd16xx extended API
Adds doxygen documentation for the extended API of the Solomon SSD16XX
EPD display controller driver.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-12-22 20:40:57 +01:00
Benjamin Cabé
29c7d7a3f0 include: display: add doxygen group for Display API extensions
Similar to how it's done for other driver classes, create a new doxygen
group to put all device-specific Display API extensions under.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-12-22 20:40:57 +01:00
Benjamin Cabé
348ec106d3 include: display: mipi_display: add missing doxygen comments
Ensure that all enumerators have proper doxygen comments.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-12-22 20:40:36 +01:00
Seppo Takalo
f833ff533d modem: cmux: Add retry counter for SABM, CLD and DISC control messages
Add retry counter for opening and closing CMUX as well as
opening and closing the DLCI channel.

Use same retry counter for both DLCI control messages as well as CMUX
control messages as there is very minimal room for race condition.
DLCI messages are only send when CMUX control channel is open.

Where relevant, use disconnect(cmux) for all closing calls.
So we have one entry point for cleaning.

Similarly refactor modem_cmux_on_dlci_frame_dm() to dlci_close() as
this is the single function to close and clean up a channel.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2025-12-22 20:38:15 +01:00
Robert Lubos
cf04a04680 net: mqtt: Allow to force native TLS on MQTT socket
Add a parameter to MQTT TLS configuration that allows to force native
TLS on a socket if offload dispatcher is used. This allows for MQTT to
use native TLS implementation with an offloaded TCP socket.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-12-22 14:48:56 +01:00
Håvard Reierstad
ae21970a79 Bluetooth: Host: Add L2CAP chan send warning
Adds a warning to `bt_l2cap_chan_send` that the user must not pass
buffers to this function whose pool has implemented a destroy callback
(net_buf_pool::destroy) that uses synchronization primitives. This is
due to the HCI driver interface not having defined rules for where a
buffer may be freed, leading to the possibility of the callback
being called from the ISR. This warning can be removed at a later point
if the HCI driver interface is redesigned to not pass the net_bufs
directly.

Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
2025-12-22 14:48:48 +01:00
Vincent Liao
8fbdc4bc69 drivers: misc: pio_rpi_pico: fix linker error with -O0
The pio_rpi_pico_get_pio function was defined as 'inline' in the
header file. This caused 'undefined reference' linker errors when
building with CONFIG_NO_OPTIMIZATIONS=y (-O0), as the compiler
doesn't inline the function and no external symbol is provided.

This patch changes the definition to 'static inline' to ensure a
local copy is generated in each translation unit when not inlined,
consistent with other helper functions in Zephyr and the Linux kernel.

Fixes #101155

Signed-off-by: Vincent Liao <vincent932693@gmail.com>
2025-12-22 14:48:30 +01:00
Mark Wang
9b4501977b bluetooth: a2dp: implement remaining a2dp SBC codec API functions
Add implementations for the following SBC codec parameter getter functions:
bt_a2dp_sbc_get_channel_mode(): returns the channel mode (mono, dual,
stereo, joint stereo); bt_a2dp_sbc_get_subband_num(): returns the number of
subbands (4 or 8); bt_a2dp_sbc_get_block_length(): returns the block length
(4, 8, 12, or 16); bt_a2dp_sbc_get_allocation_method(): returns the
allocation method (SNR or loudness).

These functions parse the SBC codec configuration parameters and return
the corresponding values, completing the API defined in a2dp_codec_sbc.h.

Signed-off-by: Mark Wang <yichang.wang@nxp.com>
2025-12-22 14:45:48 +01:00
zjian zhang
d70318f825 boards: add rtl872xd_evb board
add initial version of rtl872xd_evb board

Signed-off-by: zjian zhang <zjian_zhang@realsil.com.cn>
2025-12-22 14:45:39 +01:00
Martí Bolívar
c960d0ed0f devicetree: clean up some code inconsistencies
The documentation is generally using 'inst' consistently to refer to
instance numbers, but a few helper macros have gone their own way.
Clean this up to restore consistency.

This addresses changes introduced somewhere around the following
commits:

- 4c8ed7dd9a ("devicetree.h: Rework
  DT_ANY_INST_HAS_PROP_STATUS_OKAY")

- ca6645d508 ("devicetree: shorten DT_ANY_INST_HAS_*_STATUS_OKAY")

- 75ab4d5507 ("devicetree: add DT_ALL_INST_HAS_PROP_STATUS_OKAY()
  macro")

- 35a8e37ac2 ("devicetree: add DT_ALL_INST_HAS_BOOL_STATUS_OKAY()
  macro")

Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
2025-12-21 11:06:52 +01:00
Alberto Escolar Piedras
d74ccc1bdb cmake: Do not warn on deprecated symbols w CONFIG_WARN_DEPRECATED=n
CONFIG_WARN_DEPRECATED is 'y' by default.
When a user actively disables CONFIG_WARN_DEPRECATED, one would expect
that they would stop getting all deprecation warnings, not just the
ones from kconfig.
Otherwise users continue getting tons of these warnings when building
deprecated functionality.

So let's indeed disable them also for symbols and macros.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-12-19 07:52:31 -06:00
Radosław Koppel
63c3c34f74 drivers/flash/flash_simulator: Add write and erase callbacks
Add the functionality that allows to register write and erase callbacks.
The callbacks can modify the behaviour of this operations.
It are meant to be used during testing of the situation when the memory
starts to generate errors or the data cannot be trusted anymore.
It expands the testing possibility, for a situation when the module
is tested that checks the data integrity and and we cannot just jump in
between its internal write and read operations to inject an error.

Signed-off-by: Radosław Koppel <r.koppel@k-el.com>
2025-12-19 07:50:31 -06:00
Ivan Iushkov
80b4cdb744 toolchain: llvm: add -Wunaligned-access suppression
TOOLCHAIN_WARNING_UNALIGNED_ACCESS can be used to
suppress false-positive warnings generated
by llvm clang compiler caused by -Wunaligned-access option

Signed-off-by: Ivan Iushkov <ivan.iushkov@nordicsemi.no>
2025-12-19 10:39:11 +01:00
Lyle Zhu
c848b05126 Bluetooth: Classic: Monitor setup_sco and accept_sco_req HCI commands
For some controllers, such as NXP IW612 Chipset, the PCM pins of
controller needs to be configured before the SCO connection is
established. And it requires to get the `air_coding_format` to
configure the PCM pins of controller.

So, it requires to known when the SCO connection will be established
and what the `air_coding_format` of the SCO connection.

Add the function `bt_sco_hci_cb_register()` to monitor the HCI
commands `setup_sco` and `accept_sco_req`.

Add the function `bt_sco_hci_cb_unregister()` to remove the monitor.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-12-19 10:23:35 +02:00
Ayush Singh
b0229771d5 net: dns: resolve: Enable discovery of all service instances
The DNS-based Service Discovery has the following abstract:

   This document specifies how DNS resource records are named and
   structured to facilitate service discovery.  Given a type of service
   that a client is looking for, and a domain in which the client is
   looking for that service, this mechanism allows clients to discover
   a list of named instances of that desired service, using standard
   DNS queries.  This mechanism is referred to as DNS-based Service
   Discovery, or DNS-SD.

As is stated here, DNS-based service discovery is designed to find all
instances implementing a service, not just the first one.

Currently, zephyr `dns_resolve_service` will call the callback for only
the first client instance found. It still does receive the responses
from other instances, but those are dropped since the query is already
marked as finished. The seems incorrect behavior.

With that said, the changes in this commit are API breaking, since even
the docs already state that only the first response is currently used.
So I am fine with creating a new function for discovering all instances
if that is more acceptable.

Since DNS-SD queries expect multiple responses, timeout or manual
cancellation are the only methods to stop an in-flight request. When a
timeout happens, the callback is called with one of the following
responses:
- `DNS_EAI_ALLDONE`: If at least one successful response was received.
- `DNS_EAI_CANCELED`: If no successful response was received.

Tested with 3 BeagleConnect Freedoms (2 running mdns_responder and 1
running dns_resolve sample).

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
2025-12-19 10:22:24 +02:00
Alberto Escolar Piedras
fe1607844c mgmt: mcumgr: Fix remaining net API use
In d45cd6716b the mayority of the
Zephyr codebased was changed to use the Zephyr native net_ prefixed
types, but some were forgotten.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-12-18 18:52:06 +00:00
Alberto Escolar Piedras
bb00357557 net: lib: http: Fix net API use
In d45cd6716b the mayority of the
Zephyr codebased was changed to use the Zephyr native net_ prefixed
types, but some were forgotten.
Without this fix/change the code still builds as we are by now setting
CONFIG_NET_NAMESPACE_COMPAT_MODE. But when this is not set, things
fail to build.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-12-18 18:51:59 +00:00
Robert Cheng
79f972db89 dt-bindings: focaltech: ft9001: add clock, reset, uart
Add devicetree bindings for the FocalTech FT9001 SoC:
- Clock controller
- Reset controller
- UART

These bindings are required by the SoC and drivers added in subsequent
commits. Headers are placed under include/zephyr/dt-bindings/.

Signed-off-by: Robert Cheng <robert.cheng@focaltech-electronics.com>
2025-12-18 12:13:19 +00:00
Jordan Yates
1d92d0b5ff utils: timeutil: option to disable clock skew
Accurately applying clock skew correction in
`timeutil_sync_ref_from_local` and `timeutil_sync_local_from_ref`
requires double-precision floating point operations. If this is the only
usage of double precision logic in the build, but clocks skews are not
used, this can be a significant ROM overhead. Disabling this option can
save ~2.4 kB of ROM.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-12-18 09:24:34 +01:00
Thomas Decker
fef0958ca5 arch: arm: mpu: Add missing define REGION_FLASH_SIZE for 32k and 32M
Add missing REGION_FLASH_SIZE defines when CONFIG_FLASH_SIZE is 32k or 32M

Signed-off-by: Thomas Decker <decker@jb-lighting.de>
2025-12-18 09:18:07 +01:00
Muhammad Waleed Badar
854240d26e dts: arm: add dts bindings for ARMv7 timer
This ensures that correct timer node is selected for
ARMv7-based platforms.

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2025-12-18 05:32:51 +01:00
Jason Yu
bba3582b8d drivers: interrupt: pint: Add API to get pin used IRQ slot
PINT connects GPIO pin to seperate IRQ slot. This info is
hidden in PINT driver, there is no way to know which IRQ
actually the GPIO pin is connected to.
Add new API to get which IRQ slot is connected to, based on
pin index.

Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
2025-12-17 13:58:56 -05:00
Benjamin Cabé
66d6edaf5c include: firmware: scmi: add proper doxygen groups for SCMI
This adds proper doxygen groups for all public SCMI headers

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-12-17 13:57:45 -05:00
Sylvio Alves
f8d2e00a0e includes: remove duplicated entries in zephyr-tree
Remove duplicated #include directives within the same
preprocessor scope across the Zephyr tree.

Duplicates inside different #ifdef branches are preserved
as they may be intentional.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-12-17 13:57:38 -05:00
Guennadi Liakhovetski
c88758fdfb llext: make 2 arguments of llext_get_section_header() const
ext and loader aren't modified inside llext_get_section_header(),
they are just passed to llext_section_shndx(), where they're already
const. Make them const in this function too.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2025-12-17 13:55:34 -05:00
Jukka Rissanen
720408036e net: pkt_filter: Add API for catching UDP/TCP packets
Allow user to setup a hook function that is called for each
received UDP or TCP packet.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-12-17 14:36:01 +02:00
Lucien Zhao
9e42f9fc34 arch: arm: mpu: Add Kconfig options for SRAM Write-Through cache policy
- CONFIG_ARM_MPU_SRAM_WRITE_THROUGH: enables Write-Through cache policy
  for SRAM regions instead of default Write-Back

Includes corresponding MPU attribute macros for ARMv7-M and ARMv8-M
architectures. Maintains backward compatibility with existing
configurations.

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-12-17 14:35:50 +02:00
The Nguyen
d1d99918e5 dt-binding: memc: renesas: fix macro name misspelling
Some macros defined for SDRAM timing configuration have typo.
This commit fixes the mistake and updates the macro used
in the code.

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-12-17 11:24:28 +01:00
McAtee Maxwell
6ad823ab8d drivers: pwm: add support for Infineon kit_pse84_eval
- Update the driver to support the kit_pse84_eval board
- Update to new peripheral clock allocation scheme

Signed-off-by: McAtee Maxwell <maxwell.mcatee@infineon.com>
2025-12-17 10:52:22 +02:00
Make Shi
159b4a6d97 Bluetooth: AVRCP: Fix typo in callback name and opid/state
Correct typo and fix opid/state assignment.

Signed-off-by: Make Shi <make.shi@nxp.com>
2025-12-16 10:09:49 +01:00
Aiden Hu
b3a6b4d405 drivers: uhc: use correct endpoint type and interval
In the USB transfer allocation, set endpoint type and interval
from the appropriate endpoint descriptor.

Signed-off-by: Aiden Hu <weiwei.hu@nxp.com>
2025-12-16 10:08:55 +01:00
Tim Pambor
92365ed4b7 drivers: clock_control: stm32{h5,u5}: fix PLL rate with fractional PLL
When calculating the PLL output rate, take into account the fractional part
of the PLL multiplier N. This ensures that the calculated output frequency
is correct.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2025-12-15 17:09:46 +00:00
Jordan Yates
08f74a2638 lora: add lora_airtime
Add a simple function that exposes the airtime of a packet of a given
length.

Use the new internal implementations of the airtime function when
calculating TX durations inside the send functions to reduce code
duplication on a complex function.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-12-15 17:06:49 +00:00
Jordan Yates
fab5f57455 lora: optional disable CRC
Add the option to disable the builtin 16 bit CRC on the LoRa payload.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-12-15 17:06:49 +00:00
zjian zhang
d21b2aa15d drivers: pinctrl: add amebadplus pin controller driver
add amebadplus pin controller driver

Signed-off-by: zjian zhang <zjian_zhang@realsil.com.cn>
2025-12-15 17:06:38 +00:00
Håvard Reierstad
1540814488 Bluetooth: Host: Add random number clarification
Updates the `bt_le_oob_set_legacy_tk` API docs to encourage the temp key
to be generated randomly for each pairing process.

Updates the `bt_le_oob_get_local` and `bt_le_ext_adv_oob_get_local` to
encourage the user to generate new OOB information for each paring
process.

Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
2025-12-15 07:27:19 -05:00
Bjarki Arge Andreasen
239d20af90 arch: arm: implement arch_zli_lock and arch_zli_unlock
Implement arch_zli_lock and arch_zli_unlock for the currently only
supported target cortex-M.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-12-14 11:14:45 +00:00
Bjarki Arge Andreasen
1bbbedc956 arch: introduce arch_zli_lock and arch_zli_unlock
Introduce APIs for locking zero latency interrupts.

Zero latency interrupts are defined as non-maskable interrupts
"above" the kernel. They can not be locked by the kernel.

However, there are cases where we do need to mask/lock ZLIs from the
kernel, namely when accessing and changing the state of core shared
hardware like RAM and the CPU which must be done atomically.

A common case is when powering down or rebooting the SoC. We can't
allow any IRQ, ZLI or not, to interrupt these operations. In any case,
such an interrupt would be immediately followed by the CPU being off,
and whatever process running from ZLIs would be terminated anyway.

Since we have specific usecases which require these APIs, and there
are already drivers and socs which do lock ZLIs by directly calling
arch APIs to acheive this, let's officially add the APIs with
appropriate documentation detailing expected usecases and warning of
the dire consequences of misusing it, keeping it in arch/cpu.h to
limit exposure of the API (compared to having it in zephyr/irq.h).

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-12-14 11:14:45 +00:00