Commit graph

126,787 commits

Author SHA1 Message Date
WenBin Zhang
ab093c29c9 drivers: ethernet: eth_stm32 tx_in_sem limit set to 1
tx_int_sem serves solely as a signal indicator and does not require signal
counting. Within eth_stm32_tx, the semaphore is reset each time a packet
is transmitted. Upon receiving the transmission completion signal, the
function exits. Signal counting is unnecessary. Change to a binary
semaphore.

Signed-off-by: WenBin Zhang <freey7955@gmail.com>
2025-10-20 14:23:56 -04:00
Gerard Marull-Paretas
f8a76ef29c samples: drivers: jesd216: add support for SF32LB
Allow obtaining SFDP parameters using SF32LB driver.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2025-10-20 14:23:43 -04:00
Gerard Marull-Paretas
f64e7bcf5a boards: sf32lb52_devkit_lcd: adjust memory and QSPI NOR parameters
So that flash driver can be used (MPI2 works in QSPI mode).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2025-10-20 14:23:43 -04:00
Gerard Marull-Paretas
f9cca217c3 drivers: flash: sf32lb_mpi_qspi_nor: add initial driver
Initial driver for the SF32LB MPI accessing QSPI NOR flash devices.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2025-10-20 14:23:43 -04:00
Gerard Marull-Paretas
aee81a86f8 soc: sifli: sf32: sf32lb52x: configure flash base address
Take it from the chosen flash node parent (MPI controller) 'nor'
register, which contains the memory mapped address for the NOR flash.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2025-10-20 14:23:43 -04:00
Gerard Marull-Paretas
4f484cd662 scripts: kconfig: kconfigfunctions: add dt_node_reg_addr_by_name_hex
So we can obtain a register address (as hex) given its name.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2025-10-20 14:23:43 -04:00
Gerard Marull-Paretas
ddc5810888 drivers: flash: spi_nor: add SPI_NOR_CMD_BE_32K_4B
Command was missing.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2025-10-20 14:23:43 -04:00
Gerard Marull-Paretas
7e0bbc0421 dts: bindings: mtd: add jedec,qspi-nor
Ideally we should be able to just use jedec,spi-nor (to keep Linux
compatibility), but, QSPI controllers live in a limbo in Zephyr. Adding
this binding won't make things worse than they are.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2025-10-20 14:23:43 -04:00
Gerard Marull-Paretas
a056da260f dts: bindings: memory-controllers: drop sifli,sf32lb-mpi
No longer used.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2025-10-20 14:23:43 -04:00
Gerard Marull-Paretas
1b5689f59c dts: arm: sifli: sf32lb52x: adjust mpi1/2 defaults
Compatible should be set at board level, depending on how MPI IP is used
(e.g. NOR, NAND, PSRAM).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2025-10-20 14:23:43 -04:00
Gerard Marull-Paretas
30e8449356 dts: bindings: mtd: add sifli,sf32lb-mpi-qspi-nor
Add compatible for SiFli SF32LB MPI operating as QSPI NOR controller.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2025-10-20 14:23:43 -04:00
Benjamin Cabé
5bd42b35fd doc: releases: Intermediate update for new 4.3 boards/samples/drivers
New boards, drivers, samples, and shields since 4.2 went out

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-10-20 14:22:41 -04:00
Mathieu Choplain
dca6b87668 drivers: usb: udc: stm32: handle multi-packet-Data OUT Control transfers
During a Host-to-Device Control transfer, an arbitrary amount of data is
sent from Host to the Device using OUT Data packets. If the total amount of
data to transfer, communicated via the wLength field of the SETUP packet,
exceeds the EP0 MaxPacketSize, several Data packets until all data has been
transfered.

Combined with HAL behavior, the STM32 driver did not handle this situation
properly and always ended reception after a single Data packet was received
regardless of whether or not all data had actually been received from Host.

Modify driver to handle this situation properly by keeping track of how
much data has been received and restarting transfers until we have received
everything the Host promised it would send.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-10-20 14:22:28 -04:00
Mathieu Choplain
2a0a6f5cca drivers: usb: udc: stm32: empty transfer queue when SETUP packet arrives
Drop all existing transfers in control endpoints' queue when a new SETUP
packet is received. Also use the appropriate net_buf API in a nearby place.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-10-20 14:22:28 -04:00
Benjamin Cabé
e389df9754 ci: doc-build: increase timeout for html build
For a reason that escapes me for now, the doc build is not particularly
fast on our hosted runners, and we are starting to hit the 20 minutes
timeout. Increase to 60 minutes to be safe for now.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-10-20 14:22:17 -04:00
Benjamin Cabé
f3edf52264 ci: doc-build: build full docs on push, drop cron
Building the full docs every 3 hours is not really the best approach
given we end up building "for nothing" when things are quiet, and on the
other hand introduce a 3-hours-at-most delay for changes to be reflected
on the public docs after a merge/push.
Therefore, drop cron and do the full build on every push to main.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-10-20 14:22:17 -04:00
Yurii Lozynskyi
790dfb6545 doc: boards: update index.rst
Updated boards/index.rst to reflect corrected links.

Signed-off-by: Yurii Lozynskyi <yurii.lozynskyi@infineon.com>
2025-10-20 14:22:05 -04:00
Etienne Carriere
be62ee205a include: zephyr: arch: add missing stddef.h/stdbool.h in cache.h
Add missing inclusion of stddef.h and stdbool.h to respectively define
size_t and bool types used in some cache.h function declarations.

This change prevents build errors like:

.../include/zephyr/arch/cache.h:105:41: error: unknown type name 'size_t'
  105 | int arch_dcache_flush_range(void *addr, size_t size);
      |                                         ^~~~~~

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-10-20 14:21:33 -04:00
Stoyan Bogdanov
31abf236b4 drivers: gpio: cc23x0: Add power management to GPIO
Add PM support to cc23x0 GPIO driver.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-10-20 11:35:41 -04:00
Benjamin Cabé
006e174004 boards: nxp: add mikrobus_i2c to lpcxpresso55s69
This was missing despite other mikrobus labels being there. Verified
against LPCXpresso55S69_Board_Schematic_RevA2_dec4.pdf

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-10-20 11:35:26 -04:00
Paul Oberosler
1889a879a2 scripts: west_commands: fix ZEPHYR_BASE env check
detect_version() used os.environ["ZEPHYR_BASE"],
which raises a KeyError when the variable is
absent, preventing the fallback path from running.
Switch to os.environ.get("ZEPHYR_BASE") and use
Path(__file__).resolve() for the fallback so the
path is absolute/canonical.

Signed-off-by: Paul Oberosler <paul.oberosler@raspberrypi.com>
2025-10-20 11:35:06 -04:00
Afonso Oliveira
4f2531cf80 soc: qemu: virt_riscv: refactor interrupt controller selection
Move interrupt controller selection from SOC_FAMILY_QEMU_VIRT_RISCV
to individual SoC configurations.

This follows Zephyr best practices where hardware capabilities should
be selected at the most specific level possible (SoC porting guide).
This enables conditional selection of mutually exclusive interrupt
controllers within the same SoC.

Changes:
- Remove 'select RISCV_HAS_PLIC' from SOC_FAMILY_QEMU_VIRT_RISCV
- Add 'select RISCV_HAS_PLIC' to each individual SoC:
  * SOC_QEMU_VIRT_RISCV32
  * SOC_QEMU_VIRT_RISCV32E
  * SOC_QEMU_VIRT_RISCV64

No functional change - all existing QEMU RISC-V boards continue to
use PLIC as before.

Signed-off-by: Afonso Oliveira <afonsoo@synopsys.com>
2025-10-20 11:34:54 -04:00
Benjamin Cabé
312688d7ea Revert "posix: xsi: streams: deprecate CONFIG_XOPEN_STREAMS"
This reverts commit b762a43738
which was merged without enough time in review.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-10-20 11:28:54 -04:00
Benjamin Cabé
df5e488d59 Revert "doc: release: 4.3: deprecate CONFIG_XOPEN_STREAMS"
This reverts commit 169fd6a4a9
which was merged without enough time in review.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-10-20 11:28:54 -04:00
Nicolas Pitre
d9141b2b9b tests: net: mqtt_sn: Fix format specifier for uint16_t
The msg.len field is of type uint16_t, so the correct format
specifier is %u, not %zu.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2025-10-20 11:28:44 -04:00
Jordan Yates
cc5757cbf0 modem: cmux: debug message on DLCI open/close
Add simple debug messages when a DLCI command opening or closing a
channel is sent.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-10-20 11:28:33 -04:00
Siratul Islam
cee0d2ddd5 boards: xtensa: Add support for WeAct Studio ESP32-S3-MINI
Add board support for WeAct Studio ESP32-S3-MINI, a compact
development board based on ESP32-S3-MINI-1-N4R2.

Features:
- ESP32-S3 dual-core Xtensa LX7 @ 240MHz
- 512KB SRAM, 4MB flash, 2MB PSRAM
- USB Type-C connector for flashing and debugging
- Wi-Fi 802.11b/g/n and Bluetooth 5 LE
- On-board RGB WS2812 LED (GPIO48)
- Boot button (GPIO0)
- 36 programmable GPIOs

Supported peripherals:
- UART, I2C, SPI, I2S
- TWAI (CAN) controller
- RMT, LED PWM (up to 8 channels), MCPWM
- General DMA (5 TX / 5 RX channels)
- Watchdog timers
- SAR ADCs, temperature sensor, touch sensing IOs
- Power management with ULP-RISC-V and ULP-FSM
- Security: secure boot, flash encryption, OTP, crypto accelerators

Signed-off-by: Siratul Islam <sirat4757@gmail.com>
2025-10-20 11:28:21 -04:00
Cristian Bulacu
7503b317a6 modules: openthread: platform: Add support to query for PTR & SRV records
This commit enhances DNS upstream resolver functionality by adding
support to query for PTR and SRV records.

Signed-off-by: Cristian Bulacu <cristian.bulacu@nxp.com>
2025-10-20 11:28:08 -04:00
Mark Wang
5c62e60d6c bluetooth: avdtp: fix the pointer check
should check codec_info_element not *codec_info_element.

Signed-off-by: Mark Wang <yichang.wang@nxp.com>
2025-10-20 11:27:55 -04:00
Pieter De Gendt
aca4027726 scripts: ci: check_compliance: Run Python linter not only on changed files
The linter is super fast, no need to limit to only changed files.

For example if the linter configuration changes, all Python files need to
be validated.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-10-20 11:27:46 -04:00
Benjamin Cabé
cd6b1f5c61 doc: _extensions: add :zephyr:board-catalog: role
This adds a role that can be used to reference the board catalog page,
optionally with filter parameters to pre-filter the list of boards.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-10-20 11:27:35 -04:00
Johann Fischer
4df50a057f boards: remove supported feature 'usb'
Suppoted feature 'usb' is not required or used in any of the USB
samples or tests. The only valid feature for USB is `usbd`, or
`usb_device` for the legacy samples and tests.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2025-10-20 11:27:05 -04:00
Jamie McCrae
fbdc8b2d7b west.yml: MCUboot synchronization from upstream
Update Zephyr fork of MCUboot to revision:
  b192716c969ad358bb3a1db60c898212f3275c55

Brings following Zephyr relevant fixes:

  - b192716c Revert "loader: Allow to specify slot number in
    version"
  - 5b7bccf9 boot: bootutil: swap_offset: Fix not including
    unprotected TLVs
  - ee9efe01 bootutil: Replace boot_write_enc_key with
    boot_write_enc_keys
  - 80a39c64 bootutil: Replace literal slot indexes with
    identifiers

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-10-20 11:26:56 -04:00
Firas Sammoura
52084a9321 riscv: pmp: Use XLEN-derived PMPCFG_STRIDE for array sizing
Replace `sizeof(unsigned long)` with `PMPCFG_STRIDE` (defined as
`__riscv_xlen / 8`) for dimensioning PMP configuration register arrays
(`pmpcfg_regs`).

The size of PMP configuration registers should be derived directly from
the target architecture's XLEN. Using `sizeof(unsigned long)` can cause
size mismatches, particularly with static analysis tools like SonarQube.
These tools might assume a host-specific size for `unsigned long`,
leading to spurious out-of-bounds access warnings when analyzing code
for different RISCV base architectures (e.g., RV32 vs. RV64).

This change ensures the array sizing is correctly and consistently tied
to the target's register width (XLEN).

Signed-off-by: Firas Sammoura <fsammoura@google.com>
2025-10-20 11:26:43 -04:00
Robert Lubos
22918935c1 tests: net: sockets tls: Add test cases for invalid TLS credentials
Add test cases verifying that invalid credentials are rejected by the
socket when configured on TLS/DTLS socket with TLS_SEC_TAG_LIST socket
option.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-10-20 11:26:26 -04:00
Robert Lubos
139ebb3128 net: sockets: tls: Validate credentials when registering on a socket
So far the TLS/DTLS credentials would only be validated upon first use,
i. e. when TLS/DTLS handshake was initiated. This could lead to some
confusion, especially when trying to understand the reason of the
handshake failure, as it wasn't clear whether the handshake failed due
to peer sending bad certificate or due to local configuration issues.

This commit attempts to improve this, by pre-validating the credentials
as soon as they are configured on a socket with TLS_SEC_TAG_LIST socket
option. That way, in case bad credentials are configured on a socket, or
more commonly, mbed TLS is misconfigured to handle certain credential
type, it will be caught early during socket configuration, instead of
during the handshake.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-10-20 11:26:26 -04:00
Valerio Setti
fe1ff7f973 doc: migration-guide: add note for changes in UpdateHub
Add a note about the removal of legacy Mbed TLS crypto support from
UpdateHub.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-10-20 11:26:13 -04:00
Valerio Setti
0854d239bf samples: subsys: updatehub: remove PSA overlay and test case
Updatehub now only use PSA Crypto API for crypto support and it
automatically enables Mbed TLS when TF-M is not available in the build,
so there is no need for neither a specific test case for PSA nor
the overlay file.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-10-20 11:26:13 -04:00
Valerio Setti
db7bafbcdb mgmt: updatehub: simplify code
Following the removal of legacy crypto support the code could be further
simplified so this commit accomplish to this part.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-10-20 11:26:13 -04:00
Valerio Setti
b2dd3b4ba9 mgmt: updatehub: remove legacy Mbed TLS crypto support
The long-term Zephyr's goal is rely only on PSA Crypto API for crypto
support in Zephyr and at the same time Mbed TLS will remove this support
from the next release.

Therefore this commit removes usage of legacy crypto hash support from
updatehub.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-10-20 11:26:13 -04:00
Morten Kristensen
f33dff5102 scripts: ci: use vermin 1.7.0
Update workflow to use the new version of Vermin to enrich the Python
minimum version checks in the CI pipelines.

Signed-off-by: Morten Kristensen <me@mortens.dev>
2025-10-20 11:25:55 -04:00
Stanislav Bobokalo
9a5634a1b7 dts: ra8: fix syntax error in r7fa8XXXX.dtsi files
The "status" property was defined after the pllX subnodes
in pll node, which violates the Devicetree Specification
v0.4, section 6.3:

"Nodes may contain property definitions and/or child node
definitions. If both are present, properties shall come
before child nodes."

This caused the Device Tree Compiler error: "Properties
must precede subnodes. Unable to parse input tree"

This commit moves the "status" property to precede all pll subnodes,
fixing the syntax error and ensuring compliance with the Devicetree
Specification.

Signed-off-by: Stanislav Bobokalo <stas.gurland@gmail.com>
2025-10-20 11:25:48 -04:00
Declan Snyder
dac0464b3a include: spi.h: Fix anonymous initialization order
Apparently some compiler may expect the fields initialized in a certain
order when there are anonymous fields in a struct.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-10-20 11:25:23 -04:00
Jesper Puge Nielsen
7387473d9e logging: rtt: Add binary dictionary logging
A previous commit (84163d3) changed the RTT backend from outputting a
binary stream to a hex encoded stream when dictionary logging is
enabled.

This commit adds a Kconfig option to keep the binary format, which is
required for live_log_parser.py, and also for log_parser.py when the
--hex argument is not used.

Signed-off-by: Jesper Puge Nielsen <jpni@demant.com>
2025-10-20 11:24:31 -04:00
Khoa Nguyen
9eb682a4ac boards: renesas: Add support USB on ek_ra8p1 and mck_ra8t2
Add support USB on Renesas ek_ra8p1 and mck_ra8t2 boards

Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2025-10-20 11:24:17 -04:00
Khoa Nguyen
4add0d3222 dts: arm: renesas: ra: Add support USB on Renesas RA8x2 devices
Add support USB on Renesas RA8x2 devices

Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2025-10-20 11:24:17 -04:00
Anas Nashif
ec0e798cd5 doc: releases: update with new release cadence
Update docs to reflect new release cadence proposal of 2 releases a
year.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-10-20 11:23:51 -04:00
Tim Lin
53cfd6e1b2 tests: flash: ite: Add M1K test overlay for it515xx_evb
Add a new overlay for testing the M1K flash controller:

it515xx_m1k.overlay (only supported on it515xx_evb)

Update testcase.yaml to include this overlay with DTC_OVERLAY_FILE
and platform_allow accordingly.

example:
west twister -p it515xx_evb -s drivers.flash.common.it515xx_m1k

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-10-20 11:23:25 -04:00
Tim Lin
aa795269c6 tests: flash: ite: Move flash0 node to test-specific indirect overlay
Refactor the flash common test setup by moving the flash0 node from
it8xxx2_evb, it82xxx2_evb, and it515xx_evb board DTS files into
dedicated test-specific overlays under
tests/drivers/flash/common/boards:

it8xxx2_indirect.overlay for indirect flash testing

Update testcase.yaml to reference this overlay using DTC_OVERLAY_FILE
and restrict platform availability with platform_allow for the three
supported board: it8xxx2_evb, it82xxx2_evb, and it515xx_evb

example:
west twister -p it8xxx2_evb -s drivers.flash.common.it8xxx2_indirect

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-10-20 11:23:25 -04:00
Tim Lin
0ea524e0ae drivers: flash: ite: Add ex_op support for flash target and address mode
Extend the IT51XXX M1K flash controller driver to implement the flash
extended operation (ex_op) API. This allows runtime selection of both
the flash device and the addressing mode:

Flash target selection:
- FLASH_IT51XXX_INTERNAL: on-chip SPI eFlash
- FLASH_IT51XXX_EXTERNAL_FSPI_CS0: external SPI flash on FSCE0#
- FLASH_IT51XXX_EXTERNAL_FSPI_CS1: external SPI flash on FSCE1#

Addressing mode selection:
- FLASH_IT51XXX_ADDR_3B: 3-byte (24-bit) addressing mode, supports
  flash devices up to 16MB capacity
- FLASH_IT51XXX_ADDR_4B: 4-byte (32-bit) addressing mode, required
  for devices larger than 16MB

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-10-20 11:23:25 -04:00