Commit graph

136,983 commits

Author SHA1 Message Date
William Markezana
03286aad00 drivers: watchdog: add Bouffalo Lab BL70x watchdog driver
Add a watchdog timer driver for all Bouffalo Lab SoC families.

Tested on Sipeed M0Sense (BL702) with tests/drivers/watchdog/wdt_basic_api.

Signed-off-by: William Markezana <william.markezana@gmail.com>
2026-02-23 08:52:12 +01:00
William Markezana
8f7cef3898 drivers: i2c: bflb: refactor transfer to reduce complexity
Extract five helpers from i2c_bflb_transfer to reduce cognitive
complexity from ~45 to ~15:

- i2c_bflb_check_msgs: validate message lengths and 10-bit addressing
- i2c_bflb_wait_idle: busy-wait for bus idle
- i2c_bflb_wait_completion: wait for transfer end with error checks
- i2c_bflb_do_read: read path with scatter into msg buffers
- i2c_bflb_do_write: write path with 0-length probe workaround

Also check return values of i2c_bflb_read/i2c_bflb_write that were
previously ignored, and fix num_msgs <= 0 to == 0 (uint8_t).

Signed-off-by: William Markezana <william.markezana@gmail.com>
2026-02-23 08:51:02 +01:00
William Markezana
a895bd6ba4 drivers: i2c: bflb: fix timeouts
Fix uninitialized k_timepoint_t in read/write paths that caused
undefined timeout behavior. Add early NAK/error detection in the
transfer loops to fail fast instead of spinning until timeout.
Remove unnecessary __no_optimization attributes.

Tested on Sipeed M0Sense (BL702) with I2C peripherals across
PDS sleep/wake cycles.

Signed-off-by: William Markezana <william.markezana@gmail.com>
2026-02-23 08:51:02 +01:00
William Markezana
0ab817a08e drivers: hwinfo: add Bouffalo Lab BL70x hardware info driver
Add a hardware info driver for the Bouffalo Lab BL70x SoC family
that reads the unique device ID from the on-chip efuse.

Tested on Sipeed M0Sense (BL702).

Signed-off-by: William Markezana <william.markezana@gmail.com>
2026-02-23 08:49:54 +01:00
Pieter De Gendt
b606996c29 drivers: lora: sx126x: Put driver API into iterable sections
Use DEVICE_API to put driver API into the correct linker section.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-02-23 08:49:10 +01:00
Fiona Behrens
e4068f8757 soc: nuvoton m48x: use numaker reset driver for uart
Use the numaker reset driver for the reset in the numicro uart driver.

Signed-off-by: Fiona Behrens <me@kloenk.dev>
2026-02-23 08:48:43 +01:00
Henrik Brix Andersen
06fd1cc311 doc: releases: migration-guide: 4.4: mention new ti,tcan4x5x property
Mention the addition of a new devicetree property "ti,nwkrq-voltage-vio" to
the TI TCAN4x5x CAN controller binding ("ti,tcan4x5x").

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2026-02-22 22:05:14 +01:00
Henrik Brix Andersen
7651a2f4c5 drivers: can: tcan4x5x: add support for configuring nWKRQ pin voltage rail
Add support for configuring the voltage rail used for the nWKRQ
pin. Previously, the driver hard-coded this to VIO, open-drain.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2026-02-22 22:05:14 +01:00
Henrik Brix Andersen
47ff3dd135 boards: shields: tcan4550evm: configure nWKRQ pin for VIO
Configure the nWKRQ pin for open-drain with an internal pull-up resistor,
already enabled on the device-state-gpios GPIO, to the VIO rail.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2026-02-22 22:05:14 +01:00
Henrik Brix Andersen
6c9e5d4678 boards: shields: mikroe_can_fd_6_click: configure nWKRQ pin for VIO
Configure the nWKRQ pin for open-drain with an external pull-up resistor,
present on the board, to the VIO rail.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2026-02-22 22:05:14 +01:00
Henrik Brix Andersen
a75d6a3440 dts: bindings: can: ti: tcan4x5x: add property for the nWKRQ voltage
Add boolean devicetree property for setting the voltage configuration for
the nWKRQ pin GPO buffer.

The property name was chosen to match the one used in the Linux devicetree
binding.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2026-02-22 22:05:14 +01:00
Henrik Brix Andersen
22cfdb3e63 drivers: can: tcan4x5x: allow for VCCOUT to stabilize on local wake-up
Allow for VCCOUT to stabilize when issuing a local wake-up.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2026-02-22 22:05:14 +01:00
Henrik Brix Andersen
d1f50f29d0 drivers: can: tcan4x5x: do no busy wait for an entire millisecond
Switch to use k_usleep() instead of k_busy_wait() in tcan4x5x_reset()
function, waiting for the reset to complete.

Initially, the tcan4x5x_reset() function was only ever called during driver
initialization, where busy waiting for 1000 microseconds was not an issue,
but since adding device power management support, this function can now
also be called during device resume.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2026-02-22 22:05:14 +01:00
Henrik Brix Andersen
209ca85c54 boards: shields: tcan4550evm: enable internal pull-up on nWKRQ
When the TCAN4550 nWKRQ pin is configured for VIO, the pin is an open drain
output and requires an external pull-up resistor to the VIO rail.

Since the TCAN4550 EVM does not have such a pull-up, enable it on the GPIO
to which the nWKRQ pin is connected.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2026-02-22 22:05:14 +01:00
Sayed Naser Moravej
251fe8177b drivers: ethernet: add support for WIZnet w6100
This PR adds support for W6100 spi ethernet controller.
This driver is tested on the w6100-evb-pico
https://docs.wiznet.io/Product/Chip/Ethernet/W6100

Signed-off-by: Sayed Naser Moravej <seyednasermoravej@gmail.com>
2026-02-22 16:13:25 +00:00
Pieter De Gendt
2121daa8ee drivers: clock_control: Put API into iterable section
Update the driver to use DEVICE_API to put it into the correct iterable
section.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-02-22 16:13:03 +00:00
Benjamin Cabé
a6fb8b8a19 boards: waveshare: add support for ESP32-S3-RLCD-4.2
This introduces support for the ESP32-S3-RLCD-4.2 board from Waveshare.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-02-21 15:35:25 +00:00
Joakim Tjernlund
8d2018b5e3 arm64: init cntp
CNTP could be used by an application, best make sure it is running.

Signed-off-by: Joakim Tjernlund <joakim.tjernlund@infinera.com>
2026-02-21 15:35:09 +00:00
Joakim Tjernlund
b6fd653637 arm64: cnthctl_el2: Set EL1PCTEN/EL1PCEN for cntp in EL1
zeroing CNTHCTL_EL2 traps physical timer/counter access from EL1 to EL2,
but Zephyr has no hypervisor to handle those traps.
Enabling access is the standard EL2→EL1 drop behavior.

Signed-off-by: Joakim Tjernlund <joakim.tjernlund@infinera.com>
2026-02-21 15:35:09 +00:00
Lingao Meng
fe111defaf fs: nvs: fix NVS recovery to handle trailing delete ATEs
Use ate_end_addr >= data_end_addr instead of > to ensure the
last delete ATE is scanned and recovered correctly.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2026-02-21 15:34:58 +00:00
Jay Beavers
f5867550af net: usbd: Set default traffic class TX count
Fixes zephyrproject-rtos/zephyr#103442
Origin: Original

Adds a separate TX traffic class for CDC-ECM and CDC-NCM in USBD Next
to prevent a deadlock during interface provisioning.

Tested with a custom nRF53-app firmware which combines CDC-ECM /
CDC-NCM (both tested) with mDNS with USB hosts MacOS, iPadOS, and
Alpine Linux.

Signed-off-by: Jay Beavers <jay@tolttechnologies.com>
2026-02-21 15:34:44 +00:00
Camille BAUD
e1bf32d7d1 drivers: adc: fix Infineon SAR PR removing bflb adc
Please check your rebases
Fixes deletion of driver unrelated to PR.

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-02-20 21:54:38 -08:00
Etienne Carriere
6159cb3fec manifest: Update TF-M for STM32 non-secure flash locking issue
Update TF-M to prevent TF-M runtime secure firmware to lock the internal
non-secure flash when it erases or re-program a secure area (e.g., ITS
or PS). This prevents flash lock management conflicts when Zephyr
erases or re-program a non-secure flash area it owns.

In addition, it add a fix stale pFlash state which could cause a panic
when executing a swap using external memory.

Co-authored-by: BUDKE Gerson Fernando <gerson.budke@leica-geosystems.com>
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2026-02-20 12:16:16 -08:00
Henrik Brix Andersen
3d92e9d325 tests: drivers: eeprom: api: replace zassert_equal() with zassert_ok()
Replace zassert_equal(0, rc, ...) with zassert_ok(rc, ...) to simplify
code.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2026-02-20 12:14:52 -08:00
Graham Roff
3d2da5872c lib: heap: Fix runtime stats for un-init heaps
Calling sys_heap_runtime_stats_get on a valid but uninitialized heap
results in a NULL pointer access. Add an additional check in this
function that the heap is valid and has also been initialized.

Signed-off-by: Graham Roff <grahamr@qti.qualcomm.com>
2026-02-20 12:14:37 -08:00
Dominik Ermel
097fba7517 fs: Add redirections for nvs.h and zms.h
Add header files that redirect to new paths for nvs.h and zms.h.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2026-02-20 12:13:53 -08:00
Dominik Ermel
f00d08ae1d kvss: Fix header guards in nvs.h and zms.h
Need to reflect current path of includes in header guards.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2026-02-20 12:13:53 -08:00
Bjarki Arge Andreasen
54432dc208 dts: bindings: comparator: nrf-lpcomp: move examples from description
Move examples from description to examples.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2026-02-20 12:13:33 -08:00
Bjarki Arge Andreasen
973fa2475b dts: bindings: comparator: nrf-comp: move examples from description
Move examples from description to examples.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2026-02-20 12:13:33 -08:00
Miguel Gazquez
8a4bf07f44 samples: uart: async_api: Move k_sleep at the end of the loop
The sample has a main loop that sleep 5s every iteration. The sleep is
currently at the beginning of the loop, so we have to wait 5s before
getting the first transfer.
This make debugging with this sample troublesome.

Move the sleep of 5s at the end of the loop

Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
2026-02-20 12:12:38 -08:00
Adam BERLINGER
1389957823 soc: st: stm32n6: Remove HSLV configuration
HSLV now handled by stm32_iocell driver and board device tree.

Signed-off-by: Adam BERLINGER <adam.berlinger@st.com>
2026-02-20 10:32:44 -08:00
Adam BERLINGER
da95dcdbd2 driver: flash_stm32_xspi: Remove HSLV configuration
HSLV now handled by stm32_iocell driver and board device tree.
LL_PWR_EnableXSPIM2 called already in SoC initialization:
soc/st/stm32/stm32h7rsx/soc.c

Signed-off-by: Adam BERLINGER <adam.berlinger@st.com>
2026-02-20 10:32:44 -08:00
Adam BERLINGER
20f9e1af98 boards: st: stm32n6: Enable HSLV and IO compensation
Enable HSLV and IO compensation cell for STM32N6 boards.

Signed-off-by: Adam BERLINGER <adam.berlinger@st.com>
2026-02-20 10:32:44 -08:00
Adam BERLINGER
e236a99618 boards: st: stm32h7rs: Enable HSLV and IO compensation
Enable HSLV and IO compensation cell for STM32H7RS boards.

Signed-off-by: Adam BERLINGER <adam.berlinger@st.com>
2026-02-20 10:32:44 -08:00
Adam BERLINGER
ac9b2e2264 soc: stm32: Introduce stm32_iocell driver.
Goal is to configure HSLV options and I/O compensation cell
based on device tree settings.

Signed-off-by: Adam BERLINGER <adam.berlinger@st.com>
2026-02-20 10:32:44 -08:00
Adam BERLINGER
7b29ea9c82 boards: st: nucleo_n657x0_q: read the MAC address from the OTP fuses
Copy same settings as for stm32n6570_dk.

Signed-off-by: Adam BERLINGER <adam.berlinger@st.com>
2026-02-20 10:32:44 -08:00
Josuah Demangeon
f554416e19 soc: bflb: bl70x: relocate uart driver by file
Tests like log_backend_uart include an emulated UART driver which
gets selected for ITCM code relocation, as part of drivers__serial.
Filter by FILE instead of LIBRARY to avoid this.

Fixes #104275

Signed-off-by: Josuah Demangeon <me@josuah.net>
2026-02-20 10:32:29 -08:00
Adrian Warecki
d885cfebaa soc: intel_adsp/ace: Fix MMU mapping for shared heap
Update shared heap entry in the SoC MMU map to match the new
mirrored-memory model.

Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
2026-02-20 10:32:01 -08:00
Mathieu Choplain
b779a2b03f drivers: gpio: stm32: use device as ISR argument instead of data
The GPIO ISR needs both a pointer to the device object and its data block
(because the callback linked list is stored in the data block). Sicne the
device object has a built-in pointer to the data block, using that as the
ISR's argument allows obtaining all we need "for free" whereas the current
approach wastes 4 bytes of RAM per GPIO port instance.

Note that once compiled, the reworked ISR is effectively identical to the
old one (only the offset of one `ldr Rt, [Rn, #off]` changes).

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-02-20 10:31:46 -08:00
Mathieu Choplain
6bdec2471d scripts: fpdiff: don't crash when a duplicate symbol is found
The same symbol may be found multiple times when a function is declared in
a header, which causes anytree.search.find() to throw a CountError.

Catch the exception and ignore duplicate symbols instead of crashing.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-02-20 10:31:27 -08:00
Fabin V Martin
52c0a3b003 west.yml: Add mapping files for SERCOM UART g1
Includes mapping files for DFP macros to standardize macro
names across multiple SoCs for the SERCOM UART G1 driver.

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2026-02-20 10:31:08 -08:00
Fabin V Martin
4f95b4d152 drivers: uart: microchip: sercom g1: refactor code
Changes added to make g1 driver to be used across multiple
SoC's and also avoids use of multiple SOC symbols in the
source file for selecting between the similar but differently
named macros and reg definitions across multiple DFP's.

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2026-02-20 10:31:08 -08:00
Fabin V Martin
a911cc9d6c soc: microchip: Include sercom mapping file
Includes files for mapping DFP macros to follow a common
macro name across multiple SoC for sercom uart g1 driver

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2026-02-20 10:31:08 -08:00
Pavel Löbl
a10f04c2f8 boards: add support for ch32v307v_evt_r1
WCH CH32V307V-EVT-R1 is evaluation board made by WCH. It's based on
RISC-V CH32V307VCT6 SOC.

Signed-off-by: Pavel Löbl <pavel@loebl.cz>
2026-02-20 10:29:18 -08:00
Dev Joshi
925224a98e drivers: fuelgauge: add support for SOH property
This commit adds support for State-of-Health (SOH) property in the
fuel_gauge subsystem.

Signed-off-by: Dev Joshi <devbhave@qti.qualcomm.com>
2026-02-20 10:28:42 -08:00
Ayush Singh
0130346c10 boards: beagle: beagley_ai: Add main GPIO pinmux
- Add pinmux for GPIO in main domain.
- Using same name scheme as linux.

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
2026-02-20 10:27:43 -08:00
Ayush Singh
1dfa5c6f77 boards: beagle: beagley_ai: Combine pinctrl
- Since the same pinmuxing is used for both main and mcu domain r5s,
  have a common pinctrl.

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
2026-02-20 10:27:43 -08:00
Ayush Singh
2d7b4183ba dts: arm: ti: j722s_main: Use GPIO Proxy
Use GPIO Proxy nodes to allow using all the GPIOs. Similar to am62 [0].

[0]: https://github.com/zephyrproject-rtos/zephyr/pull/93360

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
2026-02-20 10:27:20 -08:00
Benjamin Cabé
dd60446f8e dts: bindings: i2c: move DTS snippets from description to examples
Use the new `examples` property to provide example usage in a more
structured way.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-02-20 10:27:03 -08:00
Christoph Schnetzler
ed259c913f tests: drivers: mipi_dbi: add mipi_dbi write api tests
Add mipi_dbi driver api tests for command_write, write_display and reset.

Signed-off-by: Christoph Schnetzler <schnetzler.christoph@gmail.com>
2026-02-20 10:25:45 -08:00