Commit graph

136,983 commits

Author SHA1 Message Date
Holt Sun
b045e8fdc0 samples: counter: alarm: add nxp_rtc support.
Enable nxp_rtc device for sample counter alarm.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2025-12-06 07:10:11 -05:00
Charles Hardin
5c70e93afd drivers: pwm: stm32: change the order of deadtime and enable all timers
For stm32h7 the order matters to get the pwm to output the values as
expected. As reported for the the H730 doesn't produce PWM output when
the LL_TIM_OC_SetDeadTime is called after LL_TIM_EnableAllOutputs. So,
switch the order of the calls and this doesn't impact the stm32f413zh
boards.

Signed-off-by: Charles Hardin <ckhardin@gmail.com>
2025-12-06 07:10:01 -05:00
Peter Robinson
8e79423f74 samples: net: openthread: coprocessor: Add nrf52840dongle config
Add a config for the nrf52840dongle to use the CDC_ACM interface
for the ot_uart. Without this building the OpenThread coprocessor
fails to build when using the nrf52840 dongle because the UART
isn't defined so fix it.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
2025-12-06 07:09:50 -05:00
Pieter De Gendt
3b730a20ae doc: releases: 4.4: Add COND_CASE_1 entry
Add a Sys section, with an entry for the COND_CASE_1 macro.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-12-06 07:09:38 -05:00
Pieter De Gendt
2a5dc8cd94 doc: releases: 4.4: Align bullet lists
Use 2 spaces indents for bullet lists.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-12-06 07:09:38 -05:00
Daniel Leung
8053d7793f tests: shell: also build UART shell for coverage
This enables building the UART shell alongside with the UART
backend test. The UART shell source file was not built in CI
before this, so this will provide build coverage.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2025-12-05 15:00:13 -05:00
Camille BAUD
fac6d51550 doc: releases: Fix renamed boards and add new entry
fix ai_wb2,m62 add m61

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-12-05 14:56:03 -05:00
Camille BAUD
71f784a7b5 boards: bflb: Introduce ai_m61_32s_kit
Introduce the top tier version of BL618 from aithinker, with the PSRAM

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-12-05 14:56:03 -05:00
Camille BAUD
8cd91f3b76 dts: bindings: vendor-prefixes: Add XMC
Add prefix for XMC Wuhan Xinxin Semiconductor Manufacturing Co

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-12-05 14:56:03 -05:00
Camille BAUD
8a54f73c5a boards: dt_xt_zb1_devkit: clear up module/board confusion
Clears module and board being confused

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-12-05 14:56:03 -05:00
Camille BAUD
a927634c16 boards: ai_wb2_12f: clear up module/board confusion
Clears module and board being confused

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-12-05 14:56:03 -05:00
Camille BAUD
3cd6671f05 boards: ai_m62_12f: clear up module/board confusion
Clears module and board being confused

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-12-05 14:56:03 -05:00
Guillaume Gautier
b73feddf6e tests: drivers: spi: loopback: change duration scaling
Increase the duration scaling for two boards that were causing some tests
to fail.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-12-05 14:55:32 -05:00
Guillaume Gautier
fbb2848ef2 drivers: spi: stm32: fix spi rtio with fifo-enable
This commit fixes the SPI RTIO transfers when the fifo-enable property is
enabled.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-12-05 14:55:32 -05:00
Guillaume Gautier
133da1c017 drivers: spi: stm32: extend data size support
Extend the number of SPI data sizes supported for series that allow it.
The driver uses the new property st,stm32-data-width to create a table
with all compatible data widths and to check if the SPI instance
support the required width (some instances may have a limited set
of widths compared to others on the same SoC).

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-12-05 14:55:32 -05:00
Guillaume Gautier
f91258d17e drivers: spi: stm32: invert ll_func_spi_dma_busy logic
Inverts ll_func_spi_dma_busy logic so that the function returns true if
the SPI DMA is busy (as suggested by the name) instead of the other way
around.
Also completes the check for H7-compatible with the LL_SPI_IsActiveFlag_EOT
function when transfer size is set.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-12-05 14:55:32 -05:00
Guillaume Gautier
21950ef873 dts: arm: st: add st,stm32-data-width property for all spi instances
Addd st,stm32-data-width property for all STM32 SPI instances.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-12-05 14:55:32 -05:00
Guillaume Gautier
e20076c2c7 dts: bindings: spi: add st,stm32-data-width property
Adds a new property for STM32 SPI bindings to indicate which data widths
are supported by each SPI instance.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-12-05 14:55:32 -05:00
Yassine Safraoui
50ebaed6bf drivers: i2c: xmc47_relax_kit: fix clock frequency macro
The xmc47_relax_kit i2c driver is incorrectly using the
I2C_SPEED_STANDARD macro to set the clock frequency. The correct macro
to use is XMC4_I2C_SPEED_STANDARD which is defined by the XMC4 driver.

Signed-off-by: Yassine Safraoui <yassine.safraoui@grenoble-inp.org>
2025-12-05 14:55:22 -05:00
Sai Santhosh Malae
b82944ef83 tests: drivers: spi: siwx91x: Enable spi_loopback test for PSRAM board
Add overlay and config files for siwx917_rb4342a
to enable the spi_loopback test.

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-12-05 14:54:54 -05:00
Sai Santhosh Malae
649e1f6d64 tests: drivers: spi: siwx91x: Adjust transfer scaling factor
Increase CONFIG_SPI_IDEAL_TRANSFER_DURATION_SCALING to
compensate for the additional burst size calculation in
the SPI driver, which slightly increases transfer time.

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-12-05 14:54:54 -05:00
Sai Santhosh Malae
f8b5b77348 drivers: spi: siwx91x: Guard callback registration
Guard callback registration with CONFIG_SPI_ASYNC to avoid
build error for blocking SPI transfers using DMA

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-12-05 14:54:54 -05:00
Sai Santhosh Malae
d4b551b3fb drivers: spi: siwx91x: Swap write and read data inside GSPI controller
Swap the write and read data paths within the GSPI controller to ensure
correct data is seen on the SPI lines during 16-bit transfers.

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-12-05 14:54:54 -05:00
Sai Santhosh Malae
b6cef6fbf6 drivers: spi: siwx91x: Align mosi_overrun to 32 bytes
Updated mosi_overrun alignment from 4 bytes to 32 bytes to
ensure compatibility with the GPDMA driver. This prevents
alignment-related errors during DMA transfers.

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-12-05 14:54:54 -05:00
Sai Santhosh Malae
9ebba6821b drivers: spi: siwx91x: Add support for higher burst rates using GPDMA
Enable higher SPI burst sizes when using GPDMA to improve throughput.
Bursts are only enabled when both TX and RX channels use GPDMA and
the SPI clock frequency is at least 10 MHz, as DMA flow control is
unreliable at lower SPI rates.

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-12-05 14:54:54 -05:00
Sai Santhosh Malae
23c8db4f8c drivers: spi: siwx91x: Add helper to round GSPI freq to valid range
Add gspi_siwx91x_pick_lower_freq() to select the nearest lower
supported GSPI clock frequency based on the requested value.
The GSPI clock can operate only at discrete frequencies such as
80 MHz, 40 MHz, 26.6 MHz, 20 MHz, and so on (80 MHz divided by
integer factors). If the requested frequency does not match one
of these valid steps, it is rounded down to the nearest lower
supported frequency.

The driver now logs both the requested and the actual programmed
frequency along with the divider value, helping users verify the
effective SPI clock configuration.

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-12-05 14:54:54 -05:00
Sai Santhosh Malae
cbb2fda8d2 drivers: clock_control: siwx91x: Set INTF_PLL_FREQUENCY to 160 MHz
The GSPI and QSPI peripherals run on the interface PLL clock.
To ensure correct operation, the interface PLL frequency should
be set to 160 MHz. This provides a base clock of 80 MHz to the
QSPI peripheral, which matches its required operating frequency.
The GSPI peripheral can continue to operate at higher frequencies
as it receives the full interface PLL clock.

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-12-05 14:54:54 -05:00
Bjarki Arge Andreasen
5dec22a5ef tests: drivers: spi: loopback: wait for idle before timed test
Wait a bit before performing timed spi_loopback_transceive() in
test_spi_complete_multiple_timed to ensure the console is idle,
otherwise the console completing and suspending in the "background"
near the end of the spi transaction can introduce latency.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-12-05 14:54:40 -05:00
Pieter De Gendt
35c8301278 include: zephyr: Replace nested COND_CODE_1 with COND_CASE_1
Update some header files with nested COND_CODE_1 macros to use a single
COND_CASE_1 macro instead.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-12-05 14:53:57 -05:00
Sai Santhosh Malae
0ceef4fb97 tests: drivers: gpio: Add device runtime PM compatibility
Update the gpio_basic_api test to support device runtime
power management. This ensures the test runs correctly when
runtime PM is enabled on GPIO devices.

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-12-05 14:53:49 -05:00
Sai Santhosh Malae
76b1a07c54 drivers: gpio: siwx91x: Implement device runtime PM for GPIO ports
The existing device runtime PM model requires applications to call
pm_device_runtime_get()/put() on the GPIO controller device directly,
which is not ideal when GPIO ports are exposed as child nodes.

This update enables runtime PM at the GPIO port (child node) level,
allowing applications to manage power through the port devices instead
of the top-level controller.

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-12-05 14:53:49 -05:00
Martin Hoff
25362f7228 tests: drivers: comparator: add silabs boards overlays
This patch introduce multiple silabs boards overlay that are needed to
test different ip version of the peripheral.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-12-05 14:53:35 -05:00
Martin Hoff
62e97eb5a7 dts: arm: silabs: add missing clock on acmp node in xg21 dtsi
Without this clock definition, you will get compilation error
when using acmp device on board that use xg21 SoC.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-12-05 14:53:35 -05:00
Tim Pambor
373d92ae73 drivers: rtc: rtc_shell: add calibration support
Add `get_calibration` and `set_calibration` subcommands to allow users
to read and modify the RTC calibration settings from the shell.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2025-12-05 14:53:27 -05:00
Jamie McCrae
ae2c244486 maintainers: Add nRF boards sub-group and add self as collaborator
Adds a new sub-group to nRF platforms, specifically for board
files, and add myself to this sub-group as a collaborator

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-12-05 11:20:29 -05:00
Jonathan Nilsen
b1c68f53c9 soc: nordic: uicr: Parse pinctrls for local domain peripherals
Generate PERIPHCONF SPU/CTRLSEL entries based on pinctrl properties
on the local domain peripherals as well as the global ones.
This fixes an issue where the required pin configuration was not
generated for the pinctrls on the radio local domain GPIOTE0 on
nrf54h20.

The secure attribute of nodes without an address and without a bus node
are now interpreted as being secure by default, instead of failing with
an error. This prevents the parsing of certain nodes from triggering
failing the build (in particular the 'ieee802154' node in
cpurad_peripherals).

Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
2025-12-05 11:13:03 -05:00
Zafer SEN
3e9f83c196 doc: releases: Document HL78xx modem updates for 4.4
Update migration guide for HL78xx Kconfig option renames and startup
time changes. Add release notes for new AT Shell and AirVantage FOTA
support.

Signed-off-by: Zafer SEN <zafersn93@gmail.com>
2025-12-05 11:12:48 -05:00
Zafer SEN
3e6424de4f sample: hl78xx: Add AirVantage FOTA support
Demonstrate SWIR AirVantage FOTA in the HL78xx sample.

Signed-off-by: Zafer SEN <zafersn93@gmail.com>
2025-12-05 11:12:48 -05:00
Zafer SEN
241fdaa980 drivers: modem: hl78xx: Add AirVantage FOTA support
Sierra Wireless AirVantage FOTA updates in the HL78xx modem driver.

Signed-off-by: Zafer SEN <zafersn93@gmail.com>
2025-12-05 11:12:48 -05:00
Zafer SEN
d2a083c142 drivers: modem: hl78xx: Add AT Shell support
Adds AT shell support, enabling developers to send AT commands directly.

Signed-off-by: Zafer SEN <zafersn93@gmail.com>
2025-12-05 11:12:48 -05:00
Zafer SEN
0124ac6287 drivers: modem: hl78xx: reduce startup_ms and increase init chat timeout
The previous delay could cause missed URCs because the pipe and chat
layer were not yet attached when the modem started sending its first
messages (+KSUP). The modem boot takes ~1.8s, while the driver only
needs ~120ms to set up the interfaces, so reducing the delay ensures
the receiver is ready before the modem outputs any URCs.

Increase hl78xx_init_chat_script command limit from 10 to 100 to allow
longer initialization sequences.

Signed-off-by: Zafer SEN <zafersn93@gmail.com>
2025-12-05 11:12:48 -05:00
Zafer SEN
5caa49c08f drivers: modem: hl78xx: rename timing configs to clarify units
Rename HL78XX device timing configuration options to include units (ms):
- CONFIG_MODEM_HL78XX_DEV_POWER_PULSE_DURATION ->
  CONFIG_MODEM_HL78XX_DEV_POWER_PULSE_DURATION_MS
- CONFIG_MODEM_HL78XX_DEV_RESET_PULSE_DURATION ->
  CONFIG_MODEM_HL78XX_DEV_RESET_PULSE_DURATION_MS
- CONFIG_MODEM_HL78XX_DEV_STARTUP_TIME ->
  CONFIG_MODEM_HL78XX_DEV_STARTUP_TIME_MS
- CONFIG_MODEM_HL78XX_DEV_SHUTDOWN_TIME ->
  CONFIG_MODEM_HL78XX_DEV_SHUTDOWN_TIME_MS

Update MODEM_HL78XX_DEFINE_INSTANCE macro to use *_MS options.

This improves configuration clarity and robustness of modem init.

Signed-off-by: Zafer SEN <zafersn93@gmail.com>
2025-12-05 11:12:48 -05:00
Zafer SEN
4805aafd4e drivers: modem: hl78xx: Improve restart handling and boot tracking
This update refactors the HL78xx initialization and runtime state
machine to provide robust handling of unexpected modem restarts
and improve PDP and boot status management.

Key changes:
- Add KSUP unsolicited response to the global chat match table
  so modem boot status is monitored independently from the
  initialization script.
- Introduce a boot-status structure tracking previous boot state
  to detect unexpected restarts.
- Dispatch a new MODEM_HL78XX_EVENT_MDM_RESTART event when the
  modem reports a READY status after having been previously
  booted.
- Add restart-handling transitions across relevant states
  (await-power-on, RAT-config, await-registered, carrier-on) to
  ensure the driver cleanly re-enters the initialization
  sequence.
- Rework init and post-restart script entry points to run
  asynchronously via hl78xx_run_init_script_async() and
  hl78xx_run_post_restart_script_async().
- Move bus-open and chat-attach operations out of the
  init-script state and into the await-power-on state for
  clearer separation of responsibilities.
- Expose a getter for the AT-ready match structure.

These changes improve resilience during modem restarts, clarify
the state machine flow, and prepare the driver for multi-PDP-
context configurations.

Signed-off-by: Zafer SEN <zafersn93@gmail.com>
2025-12-05 11:12:48 -05:00
Zafer SEN
5c082329c2 drivers: modem: hl78xx: Fix GSM RAT registration and PDP handling
Fix several issues in GSM mode for the HL78xx modem driver to
ensure correct registration reporting, RAT handling, and PDP
context activation.

Changes include:
- Skip band configuration when RAT=GSM to prevent +CME ERROR
  responses.
- Explicit PDP activation (AT+CGACT=1,1) for GSM data sessions.
- Parse +CGACT URCs and track PDP activation state internally.
- Introduce gprs status struct and update initialization
  scripts to handle GSM reliably.
- Add helper functions and chat scripts to manage GSM
  registration and PDP flow.
- Correct GSM registration-status handling: enable CREG=3 and
  disable unused CEREG.
- Dynamically switch between CREG (GSM) and CEREG (LTE/NB-IoT)
  based on active RAT.

These changes improve driver stability and ensure reliable data
and registration behavior on GSM networks.

Signed-off-by: Zafer SEN <zafersn93@gmail.com>
2025-12-05 11:12:48 -05:00
Zafer SEN
bc08d3cdb7 drivers: modem: hl78xx: reorder Kconfig entries, and comment fixes
This patch applies multiple small cleanups across the HL78xx modem
driver, improving readability, consistency, and diagnostics without
changing logic.

Key changes:
- Added missing blank lines in Kconfig sections for readability.
- Improved several log messages for clarity and guidance to users.
- Added a debug log when RAT/Band configuration requires a modem restart.
- Replaced an incorrect SET_RAT_GMS_CMD macro name with SET_RAT_GSM_CMD.
- Added TODO marker for unhandled script failure case.
- Corrected log format string in event handler to include event ID.
- Added an informational log on modem initialization.
- Added clarifying comments in header structures and APN lookup path.
- Normalized #endif comment style throughout the driver.
- Fixed use of CME_ERROR_STRING in chat match definitions.
- Applied formatting hints (clang-format off/on) around multi-line
  MODEM_CHAT_MATCHES blocks.
- Improved enum documentation in public API header.

These changes improve maintainability and developer usability without
modifying driver behavior.

Signed-off-by: Zafer SEN <zafersn93@gmail.com>
2025-12-05 11:12:48 -05:00
Lyle Zhu
0f1fcbb139 tests: Bluetooth: Classic: GAP_C: Reduce time consumption
In current implementation, the useless for loop is called in function
`_wait_for_shell_response()` if the target message has been found. It
causes the case will consume too much time.

Exit the useless for loop to reduce the time consumption when the
target message is found.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-12-05 11:12:28 -05:00
Lyle Zhu
eaa7cfff24 tests: Bluetooth: Classic: GAP_S: Reduce time consumption
In current implementation, the useless for loop is called in function
`_wait_for_shell_response()` if the target message has been found. It
causes the case will consume too much time.

Exit the useless for loop to reduce the time consumption when the
target message is found.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-12-05 11:12:18 -05:00
Ioannis Damigos
cc4bc45556 drivers/timer/cortex_m_systick: Avoid division by zero
Preprocessor evaluates CYC_PER_TICK as zero in condition
`(COUNTER_MAX / CYC_PER_TICK) == 1` when
CONFIG_TIMER_READS_ITS_FREQUENCY_AT_RUNTIME is defined.

This commit skips the check when
CONFIG_TIMER_READS_ITS_FREQUENCY_AT_RUNTIME is defined.

Fixes: #100040

Signed-off-by: Ioannis Damigos <ioannis.damigos.uj@renesas.com>
2025-12-05 11:10:58 -05:00
Fin Maaß
94b3a7c13f docs: migration-guide: 4,4: mention ethernet phy change
Mention split of the ethernet phy.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-12-05 11:10:46 -05:00
Fin Maaß
8f8071a546 drivers: ethernet: phy: split generic phy
moves the fixed link functionality of the
generic ethernet phy into its own driver.
This makes both drivers more readable and
efficient.

Also makes it easier to use the normal generic
phy as a base for a vendor specific driver, as
the fixed link functionality is not needed on
them.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-12-05 11:10:46 -05:00