Commit graph

136,983 commits

Author SHA1 Message Date
Peter Korsgaard
4f45225a59 tests: drivers: i2c: i2c_target_api: switch to eeprom_target_write_data()
eeprom_target_program() is about to become deprecated as it does not take
an offset argument, so switch to eeprom_target_write_data() instead.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2026-01-06 19:14:03 +00:00
Peter Korsgaard
7362cd6f45 i2c: target: eeprom_target: add {read,write}_data()
The current functions to access the EEPROM data are not ideal, E.G.:

- eeprom_target_program() is hard coded to write to the beginning of the
  EEPROM data

- eeprom_target_read() reads a single byte, so large overhead to read all
  data

So as an alternative, add an interface similar to what is provided by
zephyr/drivers/eeprom.h, E.G.  functions taking an offset and and length.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2026-01-06 19:14:03 +00:00
Peter Korsgaard
71f25d88a9 i2c: target: eeprom_target: add _get_size()
For some use cases it can be interesting to know how big the EEPROM is, so
add a getter for it.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2026-01-06 19:14:03 +00:00
Peter Korsgaard
0e24da356a i2c: target: eeprom_target: add changed callback
For some use cases it can be interesting to know when the eeprom has been
written to by the I2C host (E.G.  once a stop has been received after a
write transaction), so add a "changed" callback.

Multiple EEPROM instances are supported, so pass the device and user data
as arguments to the callback.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2026-01-06 19:14:03 +00:00
Niu Zhihong
64e22a62e9 soc: rockchip: replace MT_NS with MT_DEFAULT_SECURE_STATE for rk3588
Updated the MMU region entries for the GIC device to use
MT_DEFAULT_SECURE_STATE instead of MT_NS,
aligning the security attribute with the default secure sate macro.

Signed-off-by: Niu Zhihong <zhihong@nzhnb.com>
2026-01-06 19:13:42 +00:00
Niu Zhihong
51f1161329 soc: rockchip: update rk3588 NUM_IRQS
Update NUM_IRQS value according to datasheet

Signed-off-by: Niu Zhihong <zhihong@nzhnb.com>
2026-01-06 19:13:42 +00:00
Mike Szczys
06d5728d07 twister: fix --keep-artifacts
use the allow-list generated by --keep-artifacts whenever
cleanup_artifacts() is called. This resolves an issue where this allow-list
was not being honored when using the --prep-artifacts-for-testing flag.

Signed-off-by: Mike Szczys <mike@golioth.io>
2026-01-06 11:18:11 -05:00
Guðni Már Gilbert
28fe8d5c87 scripts: tests: twister: mock listed serial port
Reduce the test time by ~300 seconds by mocking the listed serial port

Result from running:
pytest --durations=0 ./scripts/tests/twister/test_handlers.py

Before:
60.12s test_devicehandler_handle[valid pty]
60.12s test_devicehandler_handle[communicate timeout]
60.06s test_devicehandler_handle[popen called process error]
60.05s test_devicehandler_handle[valid dev]
60.03s test_devicehandler_handle[nonzero returncode]
0.01s  test_devicehandler_handle[create serial failure]

After:
0.01s test_devicehandler_handle[valid dev]
0.01s test_devicehandler_handle[valid pty]
0.01s test_devicehandler_handle[nonzero returncode]
0.01s test_devicehandler_handle[create serial failure]
0.01s test_devicehandler_handle[communicate timeout]
0.01s test_devicehandler_handle[popen called process error]

Signed-off-by: Guðni Már Gilbert <gudni.m.g@gmail.com>
2026-01-06 16:07:24 +00:00
TOKITA Hiroshi
96b9b0f2df soc: raspberrypi: rpi_pico: Add support RpiPico binary info feature
Binary Info embeds program meta information in flash,
which can be viewed with RaspberryPi Pico's `picotool`.

Metadata is automatically collected from pinctrl.

It can be override by the Kconfig configurations, such as

```
CONFIG_RPI_PICO_BINARY_INFO_OVERRIDE_PROGRAM_NAME="my program name"
```

When this feature is enabled, pinctrl groups are restricted to
consisting of pins with a single rpi_pico function.
In other words, SPI's MISO and MOSI can be in the same group,
but I2C's SDA cannot be included in this group.
This is rarely an issue in normal use,
and can be resolved by dividing them into separate groups.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2026-01-06 16:07:16 +00:00
TOKITA Hiroshi
e8a35bc567 modules: hal_rpi_pico: Make PICO_NO_BINARY_INFO configurable
Use the definition of PICO_NO_BINARY_INFO if it already exists,
set it as 1 if not so.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2026-01-06 16:07:16 +00:00
TOKITA Hiroshi
1e6fe9ffda modules: hal_rpi_pico: add includes that referenced by binary info
The binary info feature references `boot_stage2` and `pico_binary_info`.
Add these to include dirs.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2026-01-06 16:07:16 +00:00
Robyn Milas
ebfd777b2c drivers: spi: stm32 fix bug on empty tx
When transceive is called on a chip without CONFIG_SPI_STM32_INTERRUPT,
spi_stm32_shift_frames was called even if there was no transfer ongoing.
This lead to an unwanted SPI transfer shifting the whole connection,
causing drivers to malfunction.
Fix it by replacing the do-while loop with a while loop.

Signed-off-by: Robyn Milas <robyn.milas@valotec.com>
2026-01-06 16:06:41 +00:00
Jamie McCrae
914ac2dc05 west.yml: MCUboot synchronization from upstream
Update Zephyr fork of MCUboot to revision:
  9ac72969f281491d677e669d053281fc2d538ed4

Brings following Zephyr relevant fixes:

  - 9ac72969 boot: bootutil: loader: Fix bootstrap copying in
    swap move mode
  - 3f69203f bootutil: ed25519 psa: Merge bootutil_verify_sig and
    bootutil_verify
  - 7f354916 bootutil: Remove bootutil_verify_img
  - 7cec4af1 bootutil: Replace bootutil_verify_img with
    bootutil_verify_sig
  - 4a57d03d boot: zephyr: socs: stm32h7s3xx: Add support for
    ext_flash_app variant
  - a21fd276 bootutil: Small logging improvements
  - 0acc9806 bootutil: boot_read_enc_key now returns boolean
  - 553be8b0 readme: Update for next dev release
  - eecc3f7d Release v2.3.0

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-01-06 16:06:22 +00:00
Daniel Schaefer
efcb2f081d boards: framework: Add framework_laptop16_keyboard
The following examples build and work as expected.

Blink backlight using PWM on white backlight keyboard or numpad:
> west build -p -b framework_laptop16_keyboard samples/basic/blinky_pwm

Blink capslock on keyboard (not numpad or macropad):
> west build -p -b framework_laptop16_keyboard samples/basic/blinky_pwm

> west build -p -b framework_laptop16_keyboard samples/subsys/usb/console
> west build -p -b framework_laptop16_keyboard samples/subsys/usb/cdc_acm
> west build -p -b framework_laptop16_keyboard samples/drivers/adc/adc_dt

Signed-off-by: Daniel Schaefer <dhs@frame.work>
2026-01-06 16:06:14 +00:00
Daniel Schaefer
33d671b205 dts: bindings: vendor-prefixes: Add Framework Computer, Inc.
Add Framework Computer Inc

Signed-off-by: Daniel Schaefer <dhs@frame.work>
2026-01-06 16:06:14 +00:00
Jonas Berg
82b25849e4 samples: servo-motor: Add overlay for Cytron Motion 2350 Pro
Enabled servo port GP0. Added commented-out entries for the other ports,
as is done for the other overlay files.

Signed-off-by: Jonas Berg <jonas.s.t.berg@gmail.com>
2026-01-06 16:05:55 +00:00
Jonas Berg
eeff32644d boards: Add support for Cytron Motion 2350 Pro
Tested with the commands mentioned in index.rst

Product photo from https://www.cytron.io/p-motion-2350-pro

Signed-off-by: Jonas Berg <jonas.s.t.berg@gmail.com>
2026-01-06 16:05:55 +00:00
Thamaraimanalan M
450096dc77 scripts: check_compliance: fix broken URL in ruff compliance error
Add a trailing space to the Ruff error message string in the compliance
checking script. Previously, the error message concatenated the URL and
the description with a colon (e.g., ".../unsorted-imports:Import").
This caused the terminal to interpret the description as part of the URL,
resulting in a 404 error when clicked.

Signed-off-by: Thamaraimanalan M <devthamaraimanalan.m@gmail.com>
2026-01-06 16:04:24 +00:00
Michele Sardo
1ce6a26f70 debug: stack: include kernel.h for k_thread API usage
The debug/stack.h header uses k_thread types and APIs such as
struct k_thread, k_thread_stack_space_get(), and k_thread_name_get(),
but does not include <zephyr/kernel.h>.

This makes the header rely on transitive includes, which can lead to
build failures depending on include order.

Add an explicit include of <zephyr/kernel.h> to make the header
self-contained.

Signed-off-by: Michele Sardo <msmttchr@gmail.com>
2026-01-06 16:04:15 +00:00
Alberto Escolar Piedras
60285318c9 soc: native: Remove old note from kconfig option
Since e150ffb92c, Zephyr only really
supports native_simulator based targets when building native/posix
arch based targets.
So this comment is not relevant anymore. Let's remove it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-01-06 16:04:03 +00:00
Daniel Fladerer
a4f75ba4bd drivers: serial: uart_mcux_iuart: Adjust FIFO fill behavior for TX
Until now transmission FIFO was not used.
With this chamge the FIFO will be filled up, until it is full.

Signed-off-by: Daniel Fladerer <d.fladerer@gmx.de>
2026-01-06 13:37:54 +00:00
Peter Mitsis
6b00cf20d9 doc: Note that SMP and UP thread ordering differs
Adds a short section explaining how thread ordering between UP and
SMP systems differ.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2026-01-06 13:37:46 +00:00
Peter Mitsis
56821d75a6 doc: Update time slicing image
Updates the time slicing image in the associated documentation to ...

1. Show the resetting of a time slice after scheduling a new thread
2. Indicate that it is specific for UP scheduler

It also adds a note to the documentation describing how the ordering
of the threads would change with the SMP scheduler.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2026-01-06 13:37:46 +00:00
Benedek Kupper
4305403fd2 drivers: dma: stm32: the source and destination sizes must only match in v1
Commit e7f222a fixed the bug where a data size mismatch produces unexpected
behavior with the DMA on V1 devices. However, this limitation is only valid
for the STM32 series with V1 DMA, V2 doesn't have this. The STM32CubeMX
configuration tool correctly implements this limitation in the UI,
it is a good way to cross-check.

Signed-off-by: Benedek Kupper <kupper.benedek@gmail.com>
2026-01-06 13:37:31 +00:00
Ha Duong Quang
e170033a63 tests: drivers: pwm: enable pwm test for s32k5
Enable api and looback test for S32K5 PWM(eMIOS)

Signed-off-by: Ha Duong Quang <ha.duongquang@nxp.com>
2026-01-06 13:37:15 +00:00
Ha Duong Quang
81de86f9e7 dts: arm: nxp: add emios devicetree nodes for s32k5
Add devicetree node of emios instances for s32k566.

Signed-off-by: Ha Duong Quang <ha.duongquang@nxp.com>
2026-01-06 13:37:15 +00:00
Ha Duong Quang
3db533ae91 drivers: pwm: add support pwm(emios) for s32k5
Add support PWM(eMIOS) for S32K5

Signed-off-by: Ha Duong Quang <ha.duongquang@nxp.com>
2026-01-06 13:37:15 +00:00
Ha Duong Quang
31a0ffda03 drivers: misc: add global timebase reference property
Add property to enable eMIOS instances to reference a global timebase
provider, either from itself or another eMIOS instance, enabling
synchronized timing operations across multiple instances.

Signed-off-by: Ha Duong Quang <ha.duongquang@nxp.com>
2026-01-06 13:37:15 +00:00
Stefan Gloor
872f20ab21 doc: develop: add 'which' to Arch Linux dependencies
The setup.sh script of the Zephyr SDK runs "which cmake"
to find out whether CMake and wget are installed:
71df6c27da/scripts/template_setup_posix (L43)

"which" is not installed by default on Arch Linux,
so the check will fail and the script will yield:

Zephyr SDK setup requires 'cmake' to be installed
and available in the PATH.
Please install 'cmake and run this script again.

Although CMake is already installed.
Fix this by adding "which" to the list of dependencies.

Signed-off-by: Stefan Gloor <code@stefan-gloor.ch>
2026-01-06 13:36:56 +00:00
Mathieu Choplain
219cdf756a boards: arm: use zephyr:board-supported-hw
Replace legacy hand-mantained tables with the new directive that generates
a table automatically based on platform device tree.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2026-01-06 13:36:30 +00:00
TOKITA Hiroshi
a0184867c4 boards: raspberrypi: rpi_5: Use normalized name
Rename the file to rpi_5_bcm2712... based on the normalized name.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2026-01-06 13:36:03 +00:00
Pavel Vasilyev
2b4bbb9a2f doc: releases: migration-guide: 4.4: remove extra backtick
This fixes compliance check by removing extra backtick.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2026-01-06 13:35:51 +00:00
Florian Depraz
7963b69fa4 dts: stm32u073: Add LPUART3 configuration
See rm0503-stm32u0 manual:
- Bit 12 LPUART3RST: LPUART3 reset
- Bit 12 LPUART3EN: LPUART3 clock enable
- Bit 1 LPUART3 (SYSCFG_ITLINE30)

Signed-off-by: Florian Depraz <florian.depraz@alumni.epfl.ch>
2026-01-06 10:43:04 +01:00
Xudong Zheng
9d9a8efab2 entropy: rpi_pico: implement entropy driver for RP2350
Use get_rand_64() from Pico SDK for entropy.

Signed-off-by: Xudong Zheng <7pkvm5aw@slicealias.com>
2026-01-06 10:39:38 +01:00
Lyle Zhu
0c3239f0c9 bluetooth: Classic: hfp_hf: make at_get_string() return const char *
Change at_get_string() return type to 'const char *'. Correspondingly,
change string parameters in HFP HF callbacks and related functions
from 'char *' to 'const char *' to reflect that these strings are
read-only data returned from AT command parsing.

- Update bt_hfp_hf_cb callback signatures for clip, operator,
  call_waiting, and textual_representation
- Update at_get_string() return type to 'const char *'
- Update local variables in hfp_hf.c handlers to use 'const char *'
- Update shell callback implementations to match new signatures
- Change NULL check style from '!text' to 'text == NULL' for consistency
- Remove unnecessary initialization of 'number' variable in clcc_handle

This improves const-correctness and prevents accidental modification
of AT command response strings.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2026-01-06 10:35:28 +01:00
Zhaoxiang Jin
edd9242050 tests: power_mgmt_soc: enable test for mcx_n5xx_evk_mcxn547_cpu0
enable power_mgmt_soc test for NXP mcx_n5xx_evk_mcxn547_cpu0 board.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-01-06 10:34:18 +01:00
Zhaoxiang Jin
048b3d8fd0 soc: nxp/mcxn: Add power management support for MCXN547
Add power management support for MCXN/MCXN547.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-01-06 10:34:18 +01:00
Zhaoxiang Jin
0403154324 dts: arm: nxp: mcxn: Add power state nodes for mcxnx4x
1. Add power state nodes for mcxnx4x soc dtsi, including
sleep, deepsleep and powerdown.

2. Add power management related peripheral nodes
for mcxnx4x soc dtsi, including spc, cmc, vbat and wuu.

3. Add 'zephyr,cortex-m-idle-timer' node in mcx_nx4x_evk_cpu0.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-01-06 10:34:18 +01:00
Zhaoxiang Jin
abc6b61914 boards/nxp: mcxn: Enable LPUART pin internal pullup resistor
This commit enables mcx_nx4x_evk LPUART pin internal pullup resistor.
For MCXN547, during LPUAR initialization, the RX pin is pulled down
internally and STAT[RAF] is set to one. In this state, attempting to
enter low power mode will trigger LPACK reset and therefore cannot
truly enter low power mode. The correct setting should be to enable
LPUART pin internal pullup resistor.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-01-06 10:34:18 +01:00
Kyle Bonnici
9f7e4bfafa Tests: Rename DTC_OVERLAY_FILE files to .overlay
This PR renames DTC_OVERLAY_FILE from .dts to .overlay

Signed-off-by: Kyle Bonnici <kylebonnici@hotmail.com>
2026-01-06 10:34:08 +01:00
Kyle Bonnici
5cc1179bcd Boards: Rename non .dts file to .dtsi
Include files should be named .dtsi and not .dts

This PR renames the .dts files that are:
- Not board files
- Included by other dts/dtsi files
- Aligns the #include to use the .dtsi

This PR also deletes `boards/mediatek/mt8186/afe-mt8186.dts` as this is
not included by any file and is clearly not a board file.

Signed-off-by: Kyle Bonnici <kylebonnici@hotmail.com>
2026-01-06 10:34:08 +01:00
Michał Stasiak
9640c41936 Revert "drivers: i2s: nrf_tdm: fix application of buffer size workaround"
This reverts commit e37b89f0b4.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2026-01-06 10:32:52 +01:00
Merin George
515948a9a2 Kconfig: fix the define to disable SysTick when LP timer is enabled
Fix the Kconfig dependency for CYW20829 so that enabling the
low-power system timer automatically disables the Cortext-M SysTick

Signed-off-by: Merin George <merin.george@infineon.com>
2026-01-06 10:32:40 +01:00
Merin George
88a40ab6df drivers: flash: cyw920829 configuration moved from driver to boards
- Flash configuration was previously done in the driver selected by
   Kconfig. Instead move flash configuration to the board removing
   the need for ifdefs in the driver. This will allow boards to
   configure specifics related to the on board (not part of the SoC)
   flash.

Signed-off-by: Merin George <merin.george@infineon.com>
2026-01-06 10:32:40 +01:00
Victor Brzeski
20d130f2c2 drivers: i2s: nrf_tdm: resolve race between drop/start commands
The current "drop" command stops i2s asynchronously as the peripheral
produces/consumes up to MAXCNT. When complete, the IRQ STOPPED event
will free memory and disable the peripheral. However, when triggering
a "start" command before this completes, the internal state variables
are cleared and we leak application memory.

Signed-off-by: Victor Brzeski <vbrzeski@gmail.com>
2026-01-06 10:30:46 +01:00
Victor Brzeski
bdf9ec48d2 drivers: i2s: delete dead code in IRQ handler
The nRF TDM Driver has a bitfield containing the TDM events it has
already processed. This variable is unused, delete it.

Signed-off-by: Victor Brzeski <vbrzeski@gmail.com>
2026-01-06 10:30:46 +01:00
Pieter De Gendt
e81bacd361 scripts: west_commands: Extend ruff config in pyproject.toml
Now that the west_commands directory has a pyproject.toml configuration
file, it should consider local packages for first party imports.

Make sure the top-level ruff config is extended, and fix some import
sorting.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-01-06 10:30:32 +01:00
Victor Brzeski
5a5f0a6e8b drivers: clock_control: nrf2: improve audiopll clock calculations
Improve the Audio PLL clock frequency calculations to provide a more
accurate clock frequency.

Signed-off-by: Victor Brzeski <vbrzeski@gmail.com>
2026-01-06 10:30:15 +01:00
Emil Gydesen
1de27b1f2c tests: Bluetooth: BAP: Test bt_bap_ep_get_conn in BSIM
Add steps in the BAP tests to verify the correctness of
bt_bap_ep_get_conn.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2026-01-06 10:29:40 +01:00
Emil Gydesen
bf37ec10cb doc: releases: Add entry for bt_bap_ep_get_conn
Add entry for the new function bt_bap_ep_get_conn.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2026-01-06 10:29:40 +01:00