Commit graph

136,983 commits

Author SHA1 Message Date
Peter Mitsis
73cf293de6 kernel: Add NONZERO_SPINLOCK_SIZE Kconfig option
Embeds both an anonymous union and an anonymous structure within the
k_spinlock structure to ensure that the structure can easily have a
non-zero size.

This new option provides a cleaner way to specify that the
spinlock structure must have a non-zero size. A non-zero size
is necessary when C++ support is enabled, or when a library
or application wants to create an array of spinlocks.

Fixes #59922

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2026-02-09 11:16:03 +01:00
Haoran Jiang
f9edc99363 dts: arm: sifli: sf32lb52x: add eFuse OTP node
Add eFuse OTP memory node for SF32LB52x SoC at address 0x5000c000.
The eFuse provides 128 bytes of one-time programmable storage
organized in 4 banks of 32 bytes each.

Signed-off-by: Haoran Jiang <halfsweet@halfsweet.cn>
2026-02-09 11:13:50 +01:00
Haoran Jiang
bc8ed8f83f drivers: otp: add SiFli SF32LB eFuse driver
Add OTP driver for the SiFli SF32LB series eFuse controller.
This driver provides read-only access to the eFuse OTP memory
with the following features:

- Cache mechanism: all eFuse content is loaded into RAM during
  initialization for improved read performance
- Support for 4 banks x 32 bytes = 128 bytes total OTP storage
- LDO voltage adjustment before reading as required by hardware

Signed-off-by: Haoran Jiang <halfsweet@halfsweet.cn>
2026-02-09 11:13:50 +01:00
Haoran Jiang
592c005281 dts: bindings: otp: add SiFli SF32LB eFuse binding
Add devicetree binding for the SiFli SF32LB series eFuse OTP memory
controller. The eFuse provides 128 bytes (4 banks x 32 bytes) of
one-time programmable storage.

Signed-off-by: Haoran Jiang <halfsweet@halfsweet.cn>
2026-02-09 11:13:50 +01:00
Tim Lin
bc20c41dfa drivers/i2c: it8xxx2: Fix incorrect target address register
The base address was written to an incorrect register, which caused
incorrect data to be read from the I2C target. This has been fixed by
writing to the correct register.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2026-02-09 09:38:44 +01:00
Flavio Ceolin
7a3d2b6167 pm: policy_events: Fix variable scope
next_event should not be global. This can cause
linkage conflicts if another file defines a symbol
with the same name.

Signed-off-by: Flavio Ceolin <flavio@hubblenetwork.com>
2026-02-09 09:38:27 +01:00
Hui Bai
6a11e155d9 west.yml: update hal_nxp for RW612
Update hal_nxp to fix buck leakage issue in PM3/4 of RW612.

Signed-off-by: Hui Bai <hui.bai@nxp.com>
2026-02-09 09:38:10 +01:00
Tien Nguyen
762b01be9e soc: renesas: rz: Fix macros/symbols for offset/address
Fix macros/symbols that broke after changes were merged to get the
absolute address through ranges property

Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
2026-02-09 09:37:51 +01:00
Tien Nguyen
335a331481 dts: renesas: rz: Fix missing partition ranges
Add ranges property to get the absolute addresses properly.

Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
2026-02-09 09:37:51 +01:00
Tien Nguyen
3100cd29b2 boards: renesas: rza3ul_smarc: Fix missing partition ranges
Add ranges property to get the absolute addresses properly.

Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
2026-02-09 09:37:51 +01:00
Tien Nguyen
52d50174b0 boards: renesas: rza2m_evk: Fix missing partition ranges
Add ranges property to get the absolute addresses properly.

Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
2026-02-09 09:37:51 +01:00
Holt Sun
578f9fd972 drivers: pinctrl: mci_io_mux: correct CTIMER macro name
Fix inconsistent macro name from IOMUX_GET_SCTIMER_IN_CLR_ENABLE
to IOMUX_GET_CTIMER_CLR_ENABLE to align with the actual CTimer
functionality and related macro naming convention.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-02-09 09:37:39 +01:00
Raja Shahzaib
74e7ce5eb0 boards: renode: fix cortex_r8_virtual private memory region
Correct GIC addresses to match ARM Cortex-R8 TRM PERIPHBASE specification.
GIC must be at fixed offsets from PERIPHBASE (0xAE000000)
- Distributor: 0xAE001000 (PERIPHBASE + 0x1000)
- CPU Interface: 0xAE000100 (PERIPHBASE + 0x100)

Updated device tree, MPU regions, and Renode configuration to use
correct addresses and add required memory protection.

Signed-off-by: Raja Shahzaib <rshahzaib077@gmail.com>
2026-02-09 09:37:25 +01:00
Pieter De Gendt
2b57985df1 scripts: dts: python-devicetree: Fix failing test with uppercase address
Commit f55358bcbf changed all hex values to
use lowercase characters. Update the test accordingly.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-02-09 09:37:12 +01:00
Braeden Lane
b55a618c64 soc: infineon: psoc4100smax: Setup IMO for 48MHz
Correct a clock initialization ordering issue where IMO, an internal
high speed oscillator, was being setup before ILO. This does not match
the MTB initialization order and would cause the part to fault.

Sets up the default clock configuration on the part to be 48MHz. Adjusts
the default WCO (low speed external crystal source) to be 32768 as the
eval board has this crystal on it. Enables common clock elements
(hf_clk, clock_pump) as needed in the part dts rather than the board.

Signed-off-by: Braeden Lane <Braeden.Lane@infineon.com>
2026-02-07 23:23:03 +00:00
Gaetan Perrot
d24450bd09 drivers: stepper: adi_tmc: tmc50xx: Remove redundant pointer check
The actual_velocity pointer is dereferenced unconditionally before
the NULL check, making the conditional LOG_DBG() guard ineffective.

Since actual_velocity must be valid to reach this point, the
conditional check is redundant and misleading.

Remove it and log the value unconditionally to reflect the actual
control flow.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-02-06 22:24:22 +01:00
Gaetan Perrot
c0e8822a94 drivers: sdhc: renesas_ra: remove dead error check
Remove a dead error check which check ret but ret wasn't even
assigned before the test.

Remove the useless condition to make the intent explicit and clean
up the code.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-02-06 22:19:52 +01:00
Ömer Furkan Demircioğlu
e479e6001e samples: boards: st: power_mgmt: blinky: fix typo in comment
Fix spelling in application inline comment.

Signed-off-by: Ömer Furkan Demircioğlu <oflifurkan@gmail.com>
2026-02-06 22:19:08 +01:00
Tom Burdick
cb901b90bf soc: infineon: psoc4100tp: Setup IMO for 48MHz
Correct a clock initialization ordering issue where IMO, an internal
high speed oscillator, was being setup before ILO. This does not match
the MTB initialization order and would cause the part to fault.

Sets up the default clock configuration on the part to be 48MHz. Adjusts
the default WCO (low speed external crystal source) to be 32768 as the
eval board has this crystal on it. Enables common clock elements
(hf_clk, clock_pump) as needed in the part dts rather than the board.

Signed-off-by: Tom Burdick <thomas.burdick@infineon.com>
2026-02-06 13:48:55 -06:00
Tom Burdick
a971cd7d7a soc: infineon: psoc4100tp: Fix gpio interrupts
The GPIO interrupts were incorrectly set to priority 4 on an m0 with
only 4 priorities, max is 3. Several of the gpio ports were missing
their interrupt property as it is a shared interrupt number but the
driver seems to account for this. Added the missing interrupt property
on these ports.

Signed-off-by: Tom Burdick <thomas.burdick@infineon.com>
2026-02-06 13:48:55 -06:00
Seppo Takalo
6d95ac2a52 drivers: modem: cellular: Fix BG95/BG96 shutdown script
According to the manual, device should wait:
  AT+QPOWD=1
  OK
  POWERED DOWN
before shutting down. This should take about 300 ms.

Correct the timing to match BG96 manual, where power_key pulse
is 500ms (on a shut down, it say 650ms).

The start-up time of UART is described as >=4900ms so start_ms
is now set to 5s. It does not require 10s.

We require more than 100ms to reset from CMUX to AT mode UART,
500ms seems to be enough. Manual does not describe this delay.

Shutdown time is described as 2s, but we don't typically use that
as the shutdown script receives the POWERED DOWN message and is now
faster.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2026-02-06 13:48:14 -06:00
Seppo Takalo
11ef296070 drivers: modem: cellular: Don't redial when net_if_down()
When net_if_down() is called, the PPP_DEAD event is handled
in state machine before the modem_ppp_ppp_api_stop()
requests the driver to suspend.

Prevent non-wanted re-dial script by checking the admin
state (UP/DOWN) of the PPP interface, before dealing with
lost connection.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2026-02-06 13:47:27 -06:00
Elkana Molson
00a394fe4e boards: blackpill_u585ci: fix button and LED GPIO configuration
GPIO polarity and pull configuration were incorrect for the hardware.
Button shorts to ground and requires pull-up with active-low logic.
LED is active-low per schematic. These changes allow the button sample
to work correctly on this board.

Fixes zephyrproject-rtos/zephyr#103342

Signed-off-by: Elkana Molson <elkanamol@gmail.com>
2026-02-06 13:46:43 -06:00
Scott Worley
b493ddd627 samples: Update MEC172x QMSPI hardware node name
We changed the hardware node name of the QMSPI controller
to be consistent on MEC172x with MEC174x/5x, etc. We updated
two samples using the old name.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2026-02-06 13:46:14 -06:00
Scott Worley
5ef18214e6 tests: drivers: flash and spi: common: Microchip MEC SPI driver updates
We added the Microchip mec_assy6941 and mec172xevb_assy6906 to the common
flash driver test. We use the SPI_NOR flash driver with the Microchip
XEC QMSPI-LDMA driver. The EVB has a SPI dongle attached with a Winbond
W25Q128JV 16 megabit SPI flash. We changed the name of QMSPI DT hardware
node to match the name at chip level.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2026-02-06 13:46:14 -06:00
Scott Worley
448dda458b drivers: spi: microchip: mec: Common QMSPI-LDMA driver
We converted the QMSPI-LDMA driver to linux style with a local
register header in the driver folder. This is part of the long
term plan to remove the MEC5 HAL and have common drivers for
as many SoC's as possible. QMSPI register definitions are in
the SoC layer to be shared with other drivers (MSPI). The driver
was also updated based on changes in the SPI config structure.
The lastest SPI config structure changes force hardware controlled
chip selects and GPIO controlled chip selects to be mutually exclusive.
NOTE: driver works with the flash driver sample
and passes the common flash driver test.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2026-02-06 13:46:14 -06:00
Scott Worley
3b3ad0c22f soc: microchip: mec: Common SoC helper updates
We updated the SoC Microchip MEC common helper and headers.
Add helper routines to manipulate PCR sleep enable bits, etc.
Add miscellaneous helper routines.
Add QMSPI register definitions to be used by SPI and MSPI drivers.
Create a common header containing includes of all other
common headers to prevent changing each chip's soc.h
Note, we must add build logic to handle naming difference of eSPI
SAF/TAF nodes. Intel changed name of SAF to TAF. MEC15xx and MEC172x
older driver still use SAF in DT node naming.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2026-02-06 13:46:14 -06:00
Sven Ginka
e83c71226a board: sensry: add spi pinctrl
Add spi default pinctrl of all spi ports to the boards
ganymed_bob and ganymed_sk.

Signed-off-by: Sven Ginka <s.ginka@sensry.de>
2026-02-06 13:43:45 -06:00
Sven Ginka
e39ca0be3d dts: sy1xx: add support for spi
adding spi nodes to sensry soc sy1xx.

Signed-off-by: Sven Ginka <s.ginka@sensry.de>
2026-02-06 13:43:45 -06:00
Sven Ginka
249b13c8cd drivers: spi: add support for soc sy1xx
Before that commit spi was not available for the soc sy1xx.
With this commit a basic usage of spi is possible.

Signed-off-by: Sven Ginka <s.ginka@sensry.de>
Co-authored-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-02-06 13:43:45 -06:00
Andrej Butok
ff8d194fdd soc: nxp: kinetis: fix SOC_SERIES inconsistency
- Fixes Kconfig SOC_SERIES naming for Kinetis SoCs,
  as required by HWMv2.
- Fixes: https://github.com/zephyrproject-rtos/zephyr/issues/69317

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2026-02-06 08:58:07 -06:00
Robert Lubos
55a11965df doc: migration-guide-4.4: Document CoAP 2.00 removal
Add an entry about CoAP 2.00 response code definition being removed.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2026-02-06 08:57:38 -06:00
Robert Lubos
5fc367e348 net: coap: Remove invalid 2.00 response code
CoAP response code 2.00 is not defined anywhere in the spec nor
assigned in the IANA registry, therefore it should not be defined
in Zephyr either. Remove the invalid response code and its usage
in tests.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2026-02-06 08:57:38 -06:00
Sudan Landge
7c7b2a9a10 MAINTAINERS: Update for arm64
Moving my role from collab to maintainer of arm64 and
removing @ithinuel from arm64 collab list.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2026-02-06 08:57:08 -06:00
Vytautas Virvičius
ff1b1f7ba8 drivers: gnss: Add optional reset support to u-blox M8
This change adds optional reset via GPIO support to u-blox M8 driver.
This is useful if host is reset separately from the u-blox M8 GNSS
receiver.

Signed-off-by: Vytautas Virvičius <vytautas@virvicius.dev>
2026-02-06 08:56:54 -06:00
Erdem Simsek
1e013350b9 dts: riscv: nordic: add definitions for vevif_rx for nRF7120
Add cpuflpr_vevif_rx for mailbox for nRF7120

Signed-off-by: Erdem Simsek <erdem.simsek@nordicsemi.no>
2026-02-06 08:56:32 -06:00
Damian Krolik
b3078970bb dts: vendor: nordic: fix nrf54lm20a/*[/ns] sram size
reg attribute is supposed to hold start address and size
instead of start address and end address. This caused
a crash in malloc_prepare().

Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
2026-02-06 08:56:12 -06:00
David Jewsbury
346abf8a37 dts: nordic: edit auxpll nodes to remove out-div macros
The out-div binding was removed as dts setting now aligns
literal value, not register value. This commit updates
the out-div node entry to be the literal values as the
translation is now handled in the driver.

Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
2026-02-06 08:55:47 -06:00
David Jewsbury
0f90354a27 drivers: nrf_auxpll: Fix frequency calculation
The out_div dts setting differs to the register setting
causing the frequency calcuation to be incorrect.
This was originally intended to be fixed in NRFX but
this requires further investigation on how to approach
translation of literal values to enums in NRFX. This PR
adds a helper function for the conversion for now and
changes the devicetree bindings to align with the literal
value.

Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
2026-02-06 08:55:47 -06:00
Chaitanya Tata
863fe89ea1 soc: nordic: nrf71: Add support to enable Wi-Fi debug
To debug Wi-Fi cores, we need to enable access to Wi-Fi debug registers.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2026-02-06 08:55:23 -06:00
Jérôme Pouiller
5353e4db6c test: timer: Fix symbol conflict
Timer test fail to build with the error below:

    .../tick_timer_train.c:12: error: "TIMERS" redefined [-Werror]
       12 | #define TIMERS 4
          |
    In file included from .../zephyr/soc/.../siwg917/soc.h:8,
                     from .../modules/cmsis_6/cmsis_core_m.h:24,
                     from .../modules/cmsis_6/cmsis_core.h:10,
                     from .../zephyr/include/.../asm_inline_gcc.h:24,
                     from .../zephyr/include/.../asm_inline.h:18,
                     from .../zephyr/include/.../arch.h:30,
                     from .../zephyr/include/.../cpu.h:19,
                     from .../zephyr/include/.../kernel_includes.h:36,
                     from .../zephyr/include/.../kernel.h:17,
                     from .../zephyr/tests/.../tick_timer_train.c:7:
    .../modules/hal/silabs/wiseconnect/components/.../si91x_device.h:15930:
                     note: this is the location of the previous definition

Indeed, the CMSIS interface of Silabs siwx91x also defines "TIMERS" symbol.
"TIMERS" is a common names in the CMSIS interfaces. So, it makes sense to
avoid to redefine it in the applications.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00
Jérôme Pouiller
4f1a35ec35 modules: silabs: Do not disable deprecation warnings
Since Zephyr no longer uses deprecated APIs, we no longer need to
disable deprecation warnings.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00
Jérôme Pouiller
5a3b4f91c7 drivers: wifi: siwx91x: Use sl_wifi_callback_function_v2 API
Let's get rid of deprecated sl_wifi_set_callback. The new
sl_wifi_set_callback_v2 changes the callback prototypes, but they kept the
semantic.

We also take this opportunity to slightly clean up the prototupes of the
callbacks.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00
Jérôme Pouiller
70bec9b18c drivers: wifi: siwx91x: Fix deprecated sl_wifi_performance_profile API
sl_wifi_performance_profile_t is deprecated. The migration to
sl_wifi_performance_profile_v2_t is pretty easy, so there is not reason to
delay it (in fact, the two versions only differ in binary compatibility,
the API is still compatible).

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00
Jérôme Pouiller
f4d863763c drivers: wifi: siwx91x: Fix deprecated sl_wifi_get_wireless_info() API
sl_wifi_get_wireless_info() has been renamed sl_wifi_get_interface_info().

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00
Jérôme Pouiller
d0ccc26781 drivers: wifi: siwx91x: Fix sl_si91x_* names
Replace deprecated sl_si91x_* by sl_wifi_system_*.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00
Jérôme Pouiller
35516b4bdc drivers: wifi: siwx91x: Fix sli_*_ap_configuration() name
sli_save_ap_configuration() and sli_get_saved_ap_configuration() have been
renamed respectively in sli_wifi_save_ap_configuration() and
sli_wifi_get_saved_ap_configuration().

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00
Jérôme Pouiller
b091b04ada drivers: wifi: siwx91x: Fix sli_get_opermode() name
sli_get_opermode() has been renamed in sli_wifi_get_opermode().

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00
Jérôme Pouiller
c4b74b68b8 drivers: wifi: siwx91x: Fix sli_si91x_set_region_ap_request_t name
sli_si91x_set_region_ap_request_t has been renamed in
sli_wifi_set_region_ap_request_t.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00
Jérôme Pouiller
bceed839f9 drivers: wifi: siwx91x: Fix SLI_DEFAULT_MONITOR_INTERVAL name
SLI_DEFAULT_MONITOR_INTERVAL is no longer provided by wiseconnect.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00