Commit graph

136,983 commits

Author SHA1 Message Date
Gaetan Perrot
4655fa18d4 drivers: video: ov7725: fix uninitialized struct
Fix uninitialized struct fmt to fix Coverity issue.
CID: 524756

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-13 10:26:59 +01:00
Gaetan Perrot
b14f7e9e9f drivers: rtc: ds3231: drop impossible negative id check
rtc_ds3231_alarm_set_callback() takes an unsigned alarm id, making
the negative value check impossible.

The id < 0 condition is therefore dead code and can never be true.
Remove it and keep only the upper bound check.

No functional change intended.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-13 10:26:05 +01:00
Tom Burdick
769ac1b112 ci: Drop preemptible||preemptable spellcheck
Preemptable and preemptible are both commonly used spellings. Infineon
had chosen preemptable as the spelling and lead to CI failures when
using struct members in the PDL. Removing the check in Zephyr allows
for flexibility in spellings of this word.

Signed-off-by: Tom Burdick <thomas.burdick@infineon.com>
2026-01-13 10:25:26 +01:00
Tom Burdick
c97ccba142 twister: Support kitprog when generating hw map
Hardware map file generation should at least get you part way now with
Infineon boards with the Cypress derived KitProg3.

Signed-off-by: Tom Burdick <thomas.burdick@infineon.com>
2026-01-13 10:24:30 +01:00
Muhammad Waleed Badar
0d8c876448 doc: releases: v4.4: add pl011 uart poll_in changes
Add changes for pl011 uart poll_in function

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2026-01-13 10:21:58 +01:00
Lucien Zhao
2669090ce3 test: drivers: can: support can cases on frdm-mcxe247
- Support can test case: api/shell/timing
- Tese passed for three cases on my local

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2026-01-13 10:21:23 +01:00
Lucien Zhao
f2653dc523 boards: nxp: frdm_mcxe247: add flexcan0 support
- config flexcan0 pinmux
- enable flexcan0 instance
- add three flexcan clock enablement code

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2026-01-13 10:21:23 +01:00
Lucien Zhao
ba24cc36e5 dts: arm: nxp_mcxe24x_common.dtsi: update clk-source
- Update clk-source to 1 for all flexcan instances because
  we need to use sysclk as PE clock source and reduce customer's
  confused when configuring flexcan clock

  If user use a fast external osc and want to choose another choice,
  user can change it in overlay files

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2026-01-13 10:21:23 +01:00
Holt Sun
6623fbcb6f doc: releases: migration-guide-4.4: add GPT counter run-mode change
Document the breaking change in the NXP i.MX GPT counter driver that
introduces a devicetree "run-mode" property and changes the default
from hardcoded free-run to restart mode.

Out-of-tree boards must add `run-mode = "free-run";` to their GPT
devicetree nodes to preserve previous behavior.

This change aligns GPT configuration with the LPTMR driver, providing
consistency across NXP counter drivers in using devicetree properties
for hardware behavior control.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-01-13 10:20:24 +01:00
Holt Sun
a2e902b307 drivers: counter: mcux_gpt: add devicetree run-mode property
Add a "run-mode" devicetree property to the NXP i.MX GPT counter
driver to control counter behavior on compare events.

The property supports two modes:
- "restart": Counter resets to 0 when reaching Compare Channel 1 value
- "free-run": Counter continues counting without reset

This change makes the GPT run mode configurable per device instance
instead of being hardcoded. The driver now derives the enableFreeRun
setting from devicetree, defaulting to "restart" mode.

This update aligns the GPT driver configuration approach with the
NXP LPTMR counter driver, which also uses devicetree properties
for runtime behavior configuration.
This provides consistency across NXP counter drivers in how hardware
behavior is controlled through devicetree.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-01-13 10:20:24 +01:00
Henrik Brix Andersen
b947de920e doc: hardware: peripherals: can: shell: document can dump subcommand
Document the "can dump" subcommand of the CAN shell module.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2026-01-13 10:18:18 +01:00
Henrik Brix Andersen
008904d63e drivers: can: shell: add can dump subcommand
Add "can dump <device>" subcommand for dumping all CAN RX frames of a given
CAN controller.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2026-01-13 10:18:18 +01:00
Daniel Leung
b98fc2740a soc: intel_adsp/ace40: disable spin validation on simulator
xt-clang seems to generate some memory access patterns which
result in the simulator accessing incorrect memory and/or
messing with cached TLB entries when spinlock validation
is enabled. Not exactly sure what's going on here due to
the core of the simulator is built on top of pre-built
binaries provided by the toolchain without any sources so
debugging would be nearly impossible. But at least we have
an easy workaround by disabling spin lock validation.

Fixes #100885

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2026-01-13 10:17:49 +01:00
Johann Fischer
730880e266 doc: migration: add note about DAP subsystem changes
Add note about DAP subsystem changes. Keep it general, as there will be
more changes.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2026-01-13 10:16:27 +01:00
Johann Fischer
cfd748fff1 dap: add header and macro to instantiate DAP context
Although we have the three layers, SWDP driver API, DAP stack, and USB
backend, to implement a debug probe, there is no way for the user to
instantiate the DAP context, which would allow it to be used with
different backends or to change the configuration at runtime.

The Debug Access Port (DAP) is an implementation of the ARM Debug
Interface (ADI) that is typically integrated into SoC.
With all three layers, we implement a link to the DAP on the SoC.
Let's call it Zephyr DAP Link and use the dap_link prefix. There is also
a MBED DAPLink project that implements similar functionality, but using
a different name would likely cause more confusion.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2026-01-13 10:16:27 +01:00
Johann Fischer
2c254285cb drivers: dp: add common header for SWD drivers
Move the LUT to convert from simplified format to request packet
expected by the target, and the helper to calculate parity bits to
common header, so that they could be used by other drivers.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2026-01-13 10:16:27 +01:00
Johann Fischer
4b9f4106e2 dap: cmsis_dap: use SWD driver user API
Use SWD driver user API.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2026-01-13 10:16:27 +01:00
Johann Fischer
490fe49856 include: drivers: add SWD driver user API
Although the DAP subsystem is the only user in the tree, yet, we may have
other subsystems, libraries, or simple samples that could use this API
in the future.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2026-01-13 10:16:27 +01:00
Hau Ho
5c0bf4ee7a tests: drivers: gpio: Add overlay and config file for gpio tests
Add overlay and config file for EK-RX261 and FPB-RX261

Signed-off-by: Hau Ho <hau.ho.xc@bp.renesas.com>
2026-01-13 10:14:54 +01:00
Hau Ho
44c64b007c boards: renesas: Add GPIO interrupt support for FPB-RX261 board
Add GPIO interrupt support for EK-RX261 board

Signed-off-by: Hau Ho <hau.ho.xc@bp.renesas.com>
2026-01-13 10:14:54 +01:00
Hau Ho
33bfffc07a boards: renesas: Add GPIO interrupt support for EK-RX261 board
Add GPIO interrupt support for EK-RX261 board

Signed-off-by: Hau Ho <hau.ho.xc@bp.renesas.com>
2026-01-13 10:14:54 +01:00
Hau Ho
94f08de684 dts: renesas: Add GPIO interrupt for RX261 SoC
Add GPIO interrupt for RX261 SoC

Signed-off-by: Hau Ho <hau.ho.xc@bp.renesas.com>
2026-01-13 10:14:54 +01:00
Camille BAUD
de939ab796 boards: bflb: update ai_m61_32s for PWM
Adds PWM nodes and samples

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-01-13 10:13:04 +01:00
Camille BAUD
12aa44edbd boards: bflb: update ai_wb2_12f for PWM
Adds PWM nodes and samples

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-01-13 10:13:04 +01:00
Camille BAUD
cafc6a9c73 boards: bflb: update ai_m62_12f for PWM
Adds PWM nodes and samples

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-01-13 10:13:04 +01:00
Camille BAUD
396249fdd4 drivers: pwm: Add BFLB PWM 1 and 2
Adds BFLB PWMs

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-01-13 10:13:04 +01:00
Camille BAUD
f4bcc3cd55 drivers: clock_control: bflb: add PWM elements
Adds clock side elements for PWM

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-01-13 10:13:04 +01:00
Camille BAUD
918bc58761 dts: bflb: add PWM nodes
Adds nodes for BFLB pwm

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-01-13 10:13:04 +01:00
Piotr Kosycarz
f16c568c99 samples: boards: nordic: coresight_stm: enable uart at rtt config
Enable uart logging as it is required for testing.
Can be used at the same time with RTT.

Signed-off-by: Piotr Kosycarz <piotr.kosycarz@nordicsemi.no>
2026-01-12 12:42:45 -06:00
Ian Morris
d6f9a4808f boards: renesas: ek_ra4l1: added arduino node labels
Added arduino_serial and arduino_header node labels to EK-RA4L1 device
tree board definition, allowing compatible shield boards to be used.

Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
2026-01-12 12:42:24 -06:00
Stefan Gloor
9ae3b77359 net: net_if: remove obsolete documentation about buffer lifetime
The net_linkaddr struct used to use pointers instead of copying the
data. Thankfully this was fixed in
https://github.com/zephyrproject-rtos/zephyr/pull/87027.

Remove the old comment to reflect the current state.

Signed-off-by: Stefan Gloor <stefan.gloor@siemens.com>
2026-01-12 12:41:54 -06:00
Grzegorz Chwierut
ca26f143f0 samples: sysbuild: hello_world: Skip test if no second UART
If a second UART was not configured in the hardware map, then skip
the testcase instead of failing.

Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
2026-01-12 12:41:31 -06:00
Fin Maaß
e0da5fa899 MAINTAINERS.yml: add maass-hamburg to i2c colaborators
add me to the i2c collaborators, that we are going to
have at least 2 reviewers for that area.

I wrote the drivers/i2c/i2c_litex_litei2c.c driver and
the acording i2c core https://github.com/litex-hub/litei2c

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-01-12 12:41:07 -06:00
Gaetan Perrot
311769564c samples: sensor: soc_voltage: fix error propagation
print_voltage() always returned success even when sensor operations
failed, making the error check in main() dead code.

Return the actual error codes so failures are correctly propagated
to the caller.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-12 12:40:51 -06:00
Fin Maaß
eaca1fcf7f drivers: ethernet: nxp: netc: fix ethernet_hw_caps
ETHERNET_CONFIG_TYPE_FILTER is not supported
in the set_config, therefore remove
ETHERNET_HW_FILTERING from the
ethernet_hw_caps of this driver.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-01-12 12:40:31 -06:00
Fin Maaß
e6bd2151da drivers: ethernet: nxp: fix set_config case
the enum ethernet_config_type for the
multicast filter is ETHERNET_CONFIG_TYPE_FILTER.
ETHERNET_HW_FILTERING is only the according
ethernet_hw_caps.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-01-12 12:40:31 -06:00
Eric Mechin
8aec838deb drivers: stm32wb: ipm_stm32wb: Add extended advertising support
Set extended advertising setting in ipm_stm32wb.c with
stm32wb_set_stack_options function call for the BLE stack
Options flags initialization according to the
zephyr Kconfig options.

Signed-off-by: Eric Mechin <eric.mechin@st.com>
2026-01-12 12:39:56 -06:00
Zackery Backman
6defef2519 doc: develop: manifests: external: add wolfTPM
Add documentation to external module section for adding wolfTPM to Zephyr

Signed-off-by: Zackery Backman <backman23@live.com>
2026-01-12 12:39:19 -06:00
Zackery Backman
1753bdb0f6 doc: develop: manifests: external: add wolfMQTT
Add documentation to external module section for adding wolfMQTT to Zephyr

Signed-off-by: Zackery Backman <backman23@live.com>
2026-01-12 12:38:31 -06:00
Liam Ogletree
256f043644 samples: cs40l5x: Support CRD40L50 demonstration board
Add CRD40L50 board support to the CS40L5x sample application and update
documentation accordingly.

Signed-off-by: Liam Ogletree <liam.ogletree@cirrus.com>
2026-01-12 12:37:28 -06:00
Liam Ogletree
5b92b6a66f boards: crd40l50: Add support for CRD40L50 demonstration board
Add support for the Cirrus Logic CRD40L50 demonstration board, which
features a CS40L5x haptics driver, AT25 SPI flash memory, status LEDs,
and a push button.

Signed-off-by: Liam Ogletree <liam.ogletree@cirrus.com>
Co-authored-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2026-01-12 12:37:28 -06:00
Gaetan Perrot
bca0b43be9 drivers: crypto: intel_sha: make set_resume_length_dw1 void
intel_sha_set_resume_length_dw1() never reports errors
and always returns 0.
The error check at the call site is therefore dead code.

Make the function void and drop the unused error handling.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-12 12:36:48 -06:00
Gaetan Perrot
f017f4cb91 drivers: crypto: intel_sha: make set_ctl_enable void
intel_sha_set_ctl_enable() never reports errors
and always returns 0.
The error check at the call site is therefore dead code.

Make the function void and drop the unused error handling.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-12 12:36:48 -06:00
Lyle Zhu
1cf21e55ca bluetooth: Classic: hfp_hf: make at_get_raw_string() return const char *
Change at_get_raw_string() return type from 'char *' to 'const char *'
to match at_get_string() and improve const-correctness. This function
returns read-only AT command response data that should not be modified.

- Update at_get_raw_string() signature in at.h and at.c
- Update return statement cast from 'char *' to 'const char *'
- Update local variables in hfp_hf.c to use 'const char *':
  * bvra_handle: 'id' variable
  * chld_handle: 'value' variable
  * cnum_handle: 'alpha' and 'speed' variables
- Mark unused 'alpha' and 'speed' in cnum_handle with __maybe_unused
- Change NULL check style from '!id' to 'id == NULL' for consistency

This completes the const-correctness improvements started in the
previous commit for HFP HF AT command string handling.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2026-01-12 12:36:18 -06:00
Eoin Jordan
e4bfc1d2a4 doc: add Edge Impulse SDK external module documentation
Add documentation for the Edge Impulse SDK Zephyr module to the external
modules section, including:

- Module overview describing the Edge Impulse ML development platform
- Integration instructions with west.yml manifest configuration
- West extension commands (ei-build, ei-deploy) for model deployment
- License information (BSD-3-Clause-Clear)
- References to official Edge Impulse documentation and tutorials

The Edge Impulse SDK module enables machine learning inference on Zephyr
devices by packaging the Edge Impulse SDK as a reusable Zephyr module
with west integration for streamlined ML model deployment workflows.

Signed-off-by: Eoin Jordan <eoin@edgeimpulse.com>
2026-01-12 12:35:55 -06:00
Sylvio Alves
3ff8115439 samples: bluetooth: hci_pwr_ctrl: remove unnecessary config
Remove CONFIG_BT_CTLR_ADVANCED_FEATURES from prj.conf. This option
only controls visibility of advanced features in menuconfig and is
not required by the sample. It also depends on BT_LL_SW_SPLIT which
is not available on all platforms (e.g., ESP32 uses a closed-source
controller blob).

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-01-12 12:34:47 -06:00
Sylvio Alves
c94930c6c9 soc: espressif: set BLE HCI buffer defaults
Set default values for BLE HCI buffer configuration that match
the ESP32 controller requirements:
- BT_BUF_ACL_RX_COUNT=24: Match controller's ACL buffer count
- BT_BUF_EVT_RX_COUNT=30: Match controller's event buffer count

Enable BT HCI node in device tree for all ESP32 SoCs that
support BLE.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-01-12 12:34:47 -06:00
Sylvio Alves
06890c3f92 drivers: bluetooth: esp32: add vendor-specific HCI commands
Implement VS HCI commands for ESP32 BLE controllers:
- Read/Write TX power level with per-handle support
- Read version info (platform, variant, firmware version)
- Read supported commands and features
- Read static addresses from eFuse (C2/C6/H2)
- Read build info (controller version string)

For original ESP32, use the legacy esp_ble_tx_power_set/get API.
For newer variants (ESP32-S3, ESP32-C2, ESP32-C3, ESP32-C6, ESP32-H2),
use the enhanced API that supports per-connection power control.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-01-12 12:34:47 -06:00
Sylvio Alves
6511eb4edf bluetooth: hci: add Espressif VS platform/variant definitions
Add Espressif platform and variant IDs to hci_vs.h for ESP32 family
SoCs (ESP32, ESP32-S3, ESP32-C2, ESP32-C3, ESP32-C6, ESP32-H2).

Add Espressif Systems to vs_hw_platform() and vs_hw_variant()
functions in hci_core.c for proper vendor identification.

Use CONFIG_SOC_FAMILY guards in vs_hw_variant() to reduce flash
usage by only compiling variant strings for the active SoC family.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-01-12 12:34:47 -06:00
Maximilian Werner
1602f3cff1 drivers: i2c: mcux: refactor target event handler
The target event handler i2c_mcux_target_transfer_cb() had a too high
cognitive complexity. Create a function for each event type to reduce
the complexity score.

Signed-off-by: Maximilian Werner <maximilian.werner96@gmail.com>
2026-01-12 12:34:11 -06:00