Commit graph

136,983 commits

Author SHA1 Message Date
Jordan Yates
b362eca3b0 modules: nrf_wifi: bus: SPI keep ACTIVE
Add an option to keep the SPI bus in `ACTIVE` while the WiFi module is
powered up. Previous testing has shown transitioning the bus on every
SPI transaction to reduce UDP uplink throughput from 8 Mbps to 6 Mbps.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-12-17 10:58:49 +02:00
Jordan Yates
c13420333c wifi: nrf_wifi: respect SHELL_STACK_SIZE dependencies
`SHELL_STACK_SIZE` should not be redefined as a symbol with no
dependencies, it should be applying a new default to the existing
symbol.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-12-17 10:58:39 +02:00
Jordan Yates
cbd5687fc2 wifi: nrf_wifi: return errors when bringups fail
The combination of two different return variables (`status` and `ret`)
resulted in most failure paths through the bringup code still returning
success.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-12-17 10:58:39 +02:00
Holt Sun
97f497155b drivers: flash: mcux_flexspi: fix cache unused variable warning
Preserve original write length for DCACHE_InvalidateByRange()
Guard declaration of `size` with CONFIG_HAS_MCUX_CACHE to avoid
unused-variable warnings when cache is disabled
Add pointer validity checks before cache invalidation

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2025-12-17 10:58:30 +02:00
Sylvio Alves
443862ddff drivers: uart: esp32: fix async RX byte count from DMA descriptor
In async UART mode with DMA, the RX completion callback was incorrectly
relying on rx_counter which is never updated in DMA mode since data
bypasses the UART FIFO via UHCI+GDMA.

Fix by reading the actual transferred byte count from the DMA
descriptor's length field using gdma_ll_rx_get_success_eof_desc_addr().
Direct LL calls are used because this runs in ISR context where
dma_get_status() is not IRAM-safe.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-12-17 10:57:52 +02:00
Tobias Kässer
858acad5ac doc: fix CONFIG_PM_DEVICE_RUNTIME_ASYNC typo
Fixed typo CONFIOG_PM_DEVICE_RUNTIME_ASYNC to
CONFIG_PM_DEVICE_RUNTIME_ASYNC in device runtime PM documentation.

Signed-off-by: Tobias Kässer <t.kaesser@gmail.com>
2025-12-17 10:57:32 +02:00
Yerrajennugari Raj Kumar
9fe6302151 drivers: espi: npcx: Add config to disable auto-ack and use callback
Added configuration option to disable auto acknowledgment for
virtual wire WARN signals and added a callback to handle them.

This change introduces:

1. Support to disable automatic acknowledgment for VW WARN signals.
2. A callback mechanism to notify application firmware for explicit
handling.

Behavior:

1. If auto-ack is disabled, the callback notifies the application to
handle VW WARN signals.
2. If auto-ack is enabled, the driver acknowledges VW WARN signals
without notifying the application.

Signed-off-by: Yerrajennugari Raj Kumar <yerrajennugari.raj.kumar@intel.com>
2025-12-17 10:57:11 +02:00
Waqar Tahir
3e1f0bb5b8 manifest: tf-m: support for mcxn947
Updated the TF-M repo for support of mcxn947

Signed-off-by: Waqar Tahir <waqar.tahir@nxp.com>
2025-12-17 10:56:59 +02:00
Waqar Tahir
48fa32c76f samples: tfm: Add mcxn947 in TF-M samples yaml
Add mcxn947 non secure target for the tfm_ipc
and tfm_regression samples.

Signed-off-by: Waqar Tahir <waqar.tahir@nxp.com>
2025-12-17 10:56:59 +02:00
Guido Roncarolo
3dec364bd8 boards: disable trng in ns-dts and get it working with zephyr 4.3
25a71f3972 changes the behavior so that :
if "zephyr,entropy" is set in the DT then CONFIG_CSPRNG_AVAILABLE get
       enabled;
This breaks our implementation, disable the trng in ns world for now

Signed-off-by: Guido Roncarolo <guido.roncarolo@nxp.com>
2025-12-17 10:56:59 +02:00
Guido Roncarolo
6cf47cae57 modules: tf-m: add MCNX947 in cmake and kconfig
Added MCNX947 support in trusted-firmware-m
module Cmake and Kconfig. Cmake is cleaned,
removed unused variables.

Signed-off-by: Guido Roncarolo <guido.roncarolo@nxp.com>
2025-12-17 10:56:59 +02:00
Guido Roncarolo
120768833c boards: nxp: mcxn947: add ns board support
Add initial TF-M support for mcxn947 target
- added ns_decofnig and yml files
- added non secure dts for the MCXN974 SOC
- added checks with CPU0 enabelement in SOC
- added ns memory slot and configs

Signed-off-by: Guido Roncarolo <guido.roncarolo@nxp.com>
Signed-off-by: Waqar Tahir <waqar.tahir@nxp.com>
2025-12-17 10:56:59 +02:00
Guido Roncarolo
3f3e833745 soc: mcxn947: disable SystemInit when TFM is ON
Avoid initialization as this is already been taken care from TF-M
secure part

Signed-off-by: Guido Roncarolo <guido.roncarolo@nxp.com>
2025-12-17 10:56:59 +02:00
Sebastian Głąb
798652841a boards: nordic: nrf54h20dk: Add workaround for RISC-V debugging
Add workaround that enables `west debug` and `west attach`
on nrf54h20dk/nrf54h20/cpuppr and cpuflpr.

Remove "-if SW" as this generates warning
WARNING: runners.jlink: "f SW" does not match any known pattern

And breaks JLinkGDBServer command by setting option `-select` to
`usb=f SW`.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2025-12-17 10:56:35 +02:00
Robert Perkel
7f3567cf74 drivers: sensor: mtch9010 Fixed heartbeat bugs
Fixed the following bugs with the heartbeat monitor
- State did not update on CHAN_ALL
- Adjusted semaphore behavior
- Fixed interrupt setup
- Fixed time calculation bug
- Split heartbeat update into seperate function call

Signed-off-by: Robert Perkel <robert.perkel@microchip.com>
2025-12-17 10:56:19 +02:00
Liang Jiaxiang
aca5f0c021 drivers: sensor: bmi08x: fix temperature reading and scaling
The previous implementation had three issues regarding temperature
reading:
1. The unit scaling was incorrect. The datasheet specifies 0.125 C/LSB,
   but the code multiplied by 125 instead of 125000 for micro-degrees,
   resulting in values off by a factor of 1000.
2. The MSB and LSB registers were read in two separate transactions,
   which is not atomic.
3. The bitwise reconstruction of the 11-bit value was inefficient.

This commit fixes the scaling factor to 125000, implements a burst read
for both temperature registers to ensure atomicity, and optimizes the
bit manipulation logic.

Signed-off-by: Liang Jiaxiang <moonbite233@gmail.com>
2025-12-17 10:54:24 +02:00
Camille BAUD
e24574bb16 MAINTAINERS: bflb: Add M0S Dock to bflb area
Adds the board to area

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-12-17 10:54:15 +02:00
Camille BAUD
a67eee4bb6 boards: sipeed: Introduce Maix M0S Dock
Introduces BL616-based M0S Dock

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-12-17 10:54:15 +02:00
Fabin V Martin
082a9b349a tests: drivers: i2c: add i2c dma transfer eeprom test
add test project for i2c transfer with callback using dma

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2025-12-17 10:54:05 +02:00
Fabin V Martin
f177edfe7c boards: microchip: sam_e54_xpro: update i2c nodes for dma support
add dma properties in i2c node.

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2025-12-17 10:54:05 +02:00
Fabin V Martin
b16b2b2bcb drivers: i2c: microchip: add dma support
dma support added for i2c transfer

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2025-12-17 10:54:05 +02:00
Fabin V Martin
28bc19beab dts: bindings: i2c: add dma properties in i2c yaml
add properties for dma support in binding yaml for i2c

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2025-12-17 10:54:05 +02:00
Lyle Zhu
761fcc8d01 tests: Bluetooth: Classic: GAP_S: Fix case tc_gap_s_2 failure issue
In the case, when the connection is established on the local side, the
test script will require peer device to send ACL disconnection
request. But due to the timing issue, the connected event may be not
notified on the peer device side when the peer device received the ACL
disconnection requirement. The exception will happen. It causes the
case to fail.

Wait for the connected event of the peer device before sending the ACL
disconnection request.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-12-17 10:53:55 +02:00
Lyle Zhu
e660314ffe tests: Bluetooth: Classic: SDP_S: Reduce time consumption
The case `sdp_discover_with_range` will consume much time to
exhaustively enumerate all supported attribute id ranges. It will
consume much time.

Optimize the set of the supported attribute ID ranges to reduce
the time consumption.
Such as, the discovered attribute ID list is [1, 2, 3, 4, 7, 9, 256].
In the original implementation, the range count is 35511. While in
the optimized range count is 105.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-12-17 10:53:34 +02:00
Lyle Zhu
68ff83079e tests: Bluetooth: Classic: Fix sm_key_persist_004 failure issue
For the case sm_key_persist_004, the disconnected event may be
printed before the log `Pairings successfully cleared` since there
is no order between log `Pairings successfully cleared` and the
disconnected event. It causes the script discards the disconnected
event in this case and rise the assert issue.

For the case sm_key_persist_004, check the disconnected event in
the captured log. If it is not found, wait the disconnected event
until timeout.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-12-17 10:53:24 +02:00
Luis Ubieda
217f8e660b sensor: afbr_s50: Do not cut data-stream due to payload status
The payload status is evaluated when decoding, which may indicate sharp
distance transitions (from very long to close) and requiring a few more
cycles to stabilize. We don't want to stop the data-stream because of
these, otherwise the data-stream continuity is compromised.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-12-17 10:53:14 +02:00
Lyle Zhu
a9269f2012 Bluetooth: Classic: OBEX: Fix unchecked return value issue
Check the return value of the function `atomic_cas()`. If the new
value cannot be set for the OBEX server, return the error code
`BT_OBEX_RSP_CODE_INTER_ERROR`. If the new value cannot be set for
the OBEX client, return the error code `-EINVAL`.

Fix #100012
Fix #100018
Fix #100019
Fix #100021
Fix #100022
Fix #100023

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-12-17 10:53:04 +02:00
Lyle Zhu
6fdc675eae tests: Bluetooth: Classic: Fix sm_init_035 failure issue
For the case sm_init_035, the similar issue also be found. The
message `Enter 16 digits wide PIN code for` may be printed after
the shell prompt. The assert issue also be found in this case.

For the case sm_init_035, check the message `Enter 16 digits wide
PIN code for` in the captured log. If it is not found, wait the
message until timeout.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-12-17 10:52:53 +02:00
Bjarki Arge Andreasen
8292cc4eb8 drivers: clock_control nrf_lfclk: patch clock option order
The clock options used within the driver are supposed to be ordered
from lowest to highest power consumption, so the lowest/default
option is the most power efficient. The order was reversed to make
the init code of the lfclk a bit simpler, and this was accounted for
in the clock option lookup function. However, the common nrf clock
control request/release feature would request the lowest index, not
the lowest clock option, so the lfclk would default to its highest
power consumption mode.

The clock option init and lookup has been refactored to be sorted
from lowest to highest power consumption, and comments have been
adjusted accordingly.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-12-17 10:52:43 +02:00
Daniel Leung
9d181c561e serial: uart_bitbang: fix incorrect callback device
When doing the callback, it should pass it the UART device
pointer. So fix that.

Fixes #98229

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2025-12-17 10:52:33 +02:00
McAtee Maxwell
4d64e59f2c tests: pwm: update Infineon cyw920829m2evk_02 overlays
- Update overlay files for the pwm_api and pwm_gpio_loopback tests

Signed-off-by: McAtee Maxwell <maxwell.mcatee@infineon.com>
2025-12-17 10:52:22 +02:00
McAtee Maxwell
11472639f7 samples: pwm: update Infineon cyw920829m2evk_02 overlays
- Update overlay files for the blinky_pwm and fade_led samples

Signed-off-by: McAtee Maxwell <maxwell.mcatee@infineon.com>
2025-12-17 10:52:22 +02:00
McAtee Maxwell
a40956ffdf dts: Add peri-div clock definitions for cyw20829 soc series
- Add dts blocks for the peri-div clock instances on cyw20829

Signed-off-by: McAtee Maxwell <maxwell.mcatee@infineon.com>
2025-12-17 10:52:22 +02:00
McAtee Maxwell
3f916f3b96 tests: pwm: add Infineon kit_pse84_eval
- Add overlay files for the pwm_api and pwm_gpio_loopback tests
- Update platform_allow for pwm_gpio_loopback

Signed-off-by: McAtee Maxwell <maxwell.mcatee@infineon.com>
2025-12-17 10:52:22 +02:00
McAtee Maxwell
9f42dd0413 samples: pwm: add Infineon kit_pse84_eval
- Add overlay files for the blinky_pwm and fade_led samples

Signed-off-by: McAtee Maxwell <maxwell.mcatee@infineon.com>
2025-12-17 10:52:22 +02: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
Biwen Li
ba10774f91 soc: nxp: imx943: m33: fix build issue
Fix build issue from the below commit:
c520b3da1a
soc: nxp: imx943: m33: add and reuse api to initialize clocks

error: soc_clock_enable defined but not used.
Signed-off-by: Biwen Li <biwen.li@nxp.com>
2025-12-17 10:52:11 +02:00
Bartlomiej Buczek
e02a1b742a Revert "drivers: adc: nrfx: Temporary fix for SAADC power consumption"
New hal_nordic was merged some time ago, fix no longer needed.

This reverts commit fe0b6b3b55.

Signed-off-by: Bartlomiej Buczek <bartlomiej.buczek@nordicsemi.no>
2025-12-16 10:19:51 -06:00
Jaro Van Landschoot
853d33e8e3 soc: atmel: sam: common: add warm reboot to soc_power.c
If a warm reboot is issued (e.g., via mcumgr reset), the sam
controller just hangs because of loop in reboot.c. This can
be devastating if no watchdog is present to reboot the controller.

Signed-off-by: Jaro Van Landschoot <jaro.vanlandschoot@basalte.be>
2025-12-16 10:19:07 -06:00
Cristian Bulacu
c898f775d2 openthread: platform: mdns_socket: Avoid assert in high-traffic networks
This commit implements a rule that will silently discard incoming mDNS
messages if number of OT free message buffers after message conversion
will be under a user-predefined threshold.
mDNS is making use of OT message buffers, if an mDNS TX message can't be
allocated, it will trigger an assert.

Signed-off-by: Cristian Bulacu <cristian.bulacu@nxp.com>
2025-12-16 10:18:25 -06:00
Cristian Bulacu
f865e9d832 openthread: Kconfig: Add OTBR config for mDNS processing
This commit adds a new configuration flag which is used to compute a
threshold that determines if an incoming mDNS packet will be processed.

Signed-off-by: Cristian Bulacu <cristian.bulacu@nxp.com>
2025-12-16 10:18:25 -06:00
Martin Gysel
c42c8a4da4 drivers: flash: stm32 ospi: do not invalidate bet at end of loop
This modification prevents the bet pointer from being nulled at the end
of the loop, which would otherwise render the search for a suitable
erase type ineffective. It also optimize the loop as it omits
unnecessary operations.

Without this change, the erase size defaults to one sector. If the chip
defines fewer than JESD216_NUM_ERASE_TYPES (=4) erase types, this
behavior still works, as the resulting command will correspond to a
sector erase operation. However, if the chip defines all erase types,
the resulting command will be the one specified in the erase type. But
since bet is nulled, the erase size will incorrectly default to the
sector size.

Signed-off-by: Martin Gysel <me@bearsh.org>
2025-12-16 10:17:41 -06:00
Martin Gysel
157b0ddc15 drivers: stm32 spi: mark variable as maybe unused
depending on build configuration, spi_context_cs_configure_all() is a
no-opt, so mark the data variable as maybe unused.

Signed-off-by: Martin Gysel <me@bearsh.org>
2025-12-16 10:17:13 -06:00
Martin Gysel
c141b55635 drivers: stm32 spi: do not unlock context unconditionally in pm action
- call spi_stm32_pm_policy_state_lock_xxx functions wenn context is
locked
- do not call spi_stm32_pm_policy_state_lock_put() in internal helper
spi_stm32_complete() (which gets called from various places) but at the
end of a transfer where it belong

Signed-off-by: Martin Gysel <me@bearsh.org>
2025-12-16 10:17:13 -06:00
Hake Huang
64eba11ee7 scripts: west: runners: add option for debug batch mode
when in batch mode, we do not need manually 'go'.
with this, we can use `west debug` in twister run test
enable for jlink and linkserver which is tested

example:

west debug --runner jlink -- --batch

Signed-off-by: Hake Huang <hake.huang@nxp.com>
2025-12-16 10:16:22 -06:00
Nicolas Moreno
e41faae09a samples: sensor: accel_polling: remove duplicated header
On main.c from sample sensor/accel_polling the header
<zephyr/drivers/sensor.h> is duplicated, as well in
sample sensor/stream_fifo. This is solved on this PR

Signed-off-by: Nicolas Moreno <niko722795@gmail.com>
2025-12-16 10:15:12 -06:00
Roberto Flores
80801d81bb dts: atmel: sam0: fix dac generic clock source
Changes generic clock source for DAC in SAMD5X MCU's.
Generic clock source 0 speed is above the maximum speed
permitted by the DAC.
The generic clock was changed to the same one the ADC uses (0x2).
Compared output of working microchip auto-generated code to the zephyr
implementation to find discrepencaies in register values.

Signed-off-by: Roberto Flores <Roberto.flores@daikincomfort.com>
2025-12-16 10:14:49 -06:00
Jonathan Nilsen
ef587e12f6 modules: hal_nordic: move IronSide SE supporting code to hal_nordic
Move most of the code that is used to interface with IronSide SE on the
nRF54H20/nRF9280 from the soc/nordic directory to the hal_nordic
repository. The interface code is now provided by the new IronSide
support package. Build system code and glue code that makes use of
Zephyr APIs is now located in the modules/hal_nordic directory.

Update the directory path for IronSide SE interface code in
MAINTAINERS.yml to match the move from soc/nordic/ironside to
modules/hal_nordic/ironside.

Also included are some refactoring changes and cleanup to match the new
supporting code.

C code and Kconfigs have been renamed to *ironside_se* / *IRONSIDE_SE*
to match the supporting code changes. Users of these APIs in zephyr
have been updated to match.

Individual configurations for different "IronSide services" have been
removed as the API serialization for all of these is now provided in
a single C file / header file (ironside/se/api.h).

The ironside_boot_report_get() API has been removed. The boot report
structure can be accessed through the IRONSIDE_SE_BOOT_REPORT macro.

Most configs relating to UICR / PERIPHCONF have been moved under the
"IronSide SE" menu to make it clear that these are part of the
IronSide SE interface.

The macros that in uicr.h that were used to add entries to the
PERIPHCONF section have been removed. The supporting code now provides
PERIPHCONF_XYZ() macros that can be used to initialize structures that
go into this section, and the zephyr part now only contains a macro
UICR_PERIPHCONF_ENTRY() that is used to place an arbitrary structure
into the section. The gen_periphconf_entries.py script used to generate
PERIPHCONF entries based on devicetree has been updated to use the new
macro system.

IronSide SE integration code/configs is now guarded by HAS_IRONSIDE_SE.

Note that the UICR build system integration that relies on Sysbuild
remains under the soc/nordic directory for now, but will be moved to
the modules/hal_nordic directory once it is clear how the integration
will look there.

Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
2025-12-16 10:13:56 -06:00
Jonathan Nilsen
2c934f1dd8 manifest: update hal_nordic revision
Update hal_nordic revision to add IronSide support package.

Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
2025-12-16 10:13:56 -06:00
Mark Wang
ac395b2d85 bluetooth: avdtp: Check buf tailroom and len before using it
check buf->len before pulling data from buf, check buf tailroom before
adding data to buf.

Signed-off-by: Mark Wang <yichang.wang@nxp.com>
2025-12-16 10:12:12 -06:00