Commit graph

126,787 commits

Author SHA1 Message Date
Thomas Altenbach
c4afaaacf6 drivers: flash: stm32_qspi: Fix status register access for dual-flash
When dual-flash mode is enabled, two identical flash memories are
connected to the QUADSPI peripheral, each having its own set of
registers. This means that when reading or writing a flash register,
this has to be made for both flash memories.

For example, when reading a status register (1 byte), the QUADSPI
peripheral must be configured to read two bytes of data, which
correspond respectively to the value of the register in the first and
second flash memory. Same thing when writing.

Before this commit, when dual-flash mode was enabled, only the register
of the first flash memory was considered, which means the second flash
memory could be incorrectly configured and that any write/erase
operation could be considered as completed too early, if the operation
takes more time to complete for the second flash memory.

Signed-off-by: Thomas Altenbach <altenbach.thomas@gmail.com>
2025-07-23 09:32:22 +02:00
Thomas Altenbach
f9f6b24166 drivers: flash: stm32_qspi: Factorize all status register reads
The 'qspi_read_status_register' routine implements the reading of a
flash memory's status register. This routine is used anytime reading a
status register is needed, except in 'qspi_wait_until_ready'. This
commit moves the read routine to be able to use it in
'qspi_wait_until_ready'. The 'qspi_write_status_register' is also moved
to keep it close to the read routine.

Signed-off-by: Thomas Altenbach <altenbach.thomas@gmail.com>
2025-07-23 09:32:22 +02:00
Thomas Altenbach
20beb3eb74 drivers: flash: stm32_qspi: Simplify #ifdef for dual-flash
In multiple places, "#if DT_PROP(DT_NODELABEL(quadspi), dual_flash) &&
defined(QUADSPI_CR_DFM)" was used to guard sections specific to
the dual-flash feature. This is quite long and "#ifdef
STM32_QSPI_DOUBLE_FLASH" is now used instead.

Note the presence of QUADSPI_CR_DFM is no more checked. This is not
considered as an issue since when QUADSPI_CR_DFM is not available, the
QSPI hardware doesn't support dual-flash mode so this mode must not be
enabled in the devicetree. With that change, enabling dual-flash mode
when not available causes a compile-time error.

Signed-off-by: Thomas Altenbach <altenbach.thomas@gmail.com>
2025-07-23 09:32:22 +02:00
Mike Szczys
5f1e9a3523 drivers: uart_mcumgr: log warning when smp drops data
Add warning logs when data is dropped on the serial transport by the smp
system due to buffer overrun.

Signed-off-by: Mike Szczys <mike@golioth.io>
2025-07-23 09:32:06 +02:00
Robert Lubos
520ce6a522 manifest: Pull net-tools HTTP server scripts fixes
Pull latest fixes for HTTP(s) server scripts.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-07-23 09:31:49 +02:00
Robert Lubos
eacd745627 samples: net: http_client: Avoid parallel IPv4/IPv6 sessions
Apparently the simple python HTTPS server the sample is interfacing,
cannot handle parallel TLS sessions (just one at a time), hence
establishing both IPv4/6 connections before sending request doesn't work
well, half of the requests are dropped. Therefore, modify the sample a
little to run only one TLS (or TCP if no TLS is used) connection at a
time.

Additionally, add a log in case HTTP client request fails, as it could
easily be overlooked if something went wrong.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-07-23 09:31:49 +02:00
Robert Lubos
82be9354ee samples: net: http_client: Update TLS configuration
Python HTTPS server counterpart for the sample now seems to enforce
ECDHE key exchange, so enable it in the sample.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-07-23 09:31:49 +02:00
Benjamin Cabé
99138170b3 scripts: requirements: remove lxml dependency
No more users of lxml in the tree so drop the 3rd party dependency (it
might still be pulled in by other projects, ex. gcovr).

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-07-23 09:31:28 +02:00
Benjamin Cabé
65f2833638 scripts: tests: twister_blackbox: drop lxml dependency
No need to rely on lxml for such a simple XML parsing task.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-07-23 09:31:28 +02:00
Benjamin Cabé
db47c899e3 scripts: ci: check_compliance: no need for lxml anymore
Remove an old workaround requiring lxml to be present as junitparser was
not working with xml.etree.ElementTree until version 3.0.0.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-07-23 09:31:28 +02:00
Benjamin Cabé
82c955ab7c scripts: net: Remove dependency to lxml in enumerate_http_status.py
Using the third party lxml library for the very simple parsing task this
script performs in unnecessary, so switch to Python's built-in
HTMLParser.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-07-23 09:31:28 +02:00
Robert Hancock
45eedaa614 drivers: ethernet: phy: vsc8541: allow disabling autonegotiation
Add support for disabling autonegotiation to the cfg_link callback, as
with the phy_mii driver.

Signed-off-by: Robert Hancock <robert.hancock@calian.com>
2025-07-23 09:31:17 +02:00
Robert Hancock
aab1f68d08 drivers: ethernet: phy: vsc8541: Add timeout on SW reset
The driver previously could enter an infinite loop if the PHY software
reset failed to complete, which could happen due to hardware reset
issues or MDIO bus problems. Add a timeout of 1000 iterations so we
report an error in this scenario rather than causing a lockup.

Signed-off-by: Robert Hancock <robert.hancock@calian.com>
2025-07-23 09:31:17 +02:00
Robert Hancock
aa85d76777 doc: migration guide: ethernet: Mention vsc8541 reset changes
Mention a change to the reset-gpios handling in the vsc8541 PHY driver.

Signed-off-by: Robert Hancock <robert.hancock@calian.com>
2025-07-23 09:31:17 +02:00
Robert Hancock
211e9ea6bd drivers: ethernet: vsc8541: Fixed inverted reset GPIO
For GPIOs driving active-low signals, such as the VSC8541's reset pin,
they are supposed to be declared as active low in the device tree, and
set to 1 to assert and 0 to clear. Change the driver as such so that it
does not leave the PHY stuck in reset when so configured.

Also changed all in-tree board DTS files for this PHY to properly
declare the reset GPIO as active low.

Signed-off-by: Robert Hancock <robert.hancock@calian.com>
2025-07-23 09:31:17 +02:00
Robert Hancock
07f45204cb drivers: ethernet: phy: vsc8541: Use 16-bit values for MDIO access
The internal register read/write functions used uint32_t for the values
even though the registers are only 16 bits wide, resulting in a bunch of
casting. Change the internal functions to use uint16_t and wrap them for
the external read/write API which uses uint32_t.

Signed-off-by: Robert Hancock <robert.hancock@calian.com>
2025-07-23 09:31:17 +02:00
Robert Hancock
ee5a71911a drivers: ethernet: phy: vsc8541: add MDIO enable/disable
The driver was not enabling the MDIO bus before trying to access
registers. Added enabling and disabling the bus around PHY register
accesses.

Signed-off-by: Robert Hancock <robert.hancock@calian.com>
2025-07-23 09:31:17 +02:00
Robert Hancock
c20d197c97 drivers: ethernet: phy: vsc8541: fixed build warnings
Fixed some build warnings in the driver from previous changes by
removing an unused variable and hooking up the cfg_link function. Also
removes some implicit boolean conversions.

Signed-off-by: Robert Hancock <robert.hancock@calian.com>
2025-07-23 09:31:17 +02:00
Fin Maaß
62745596b4 drivers: ethernet: phy: microchip_vsc8541: use mutex
use mutex to protect page register

phy_mc_vsc8541_get_link got removed from
phy_mc_vsc8541_link_cb_set so, that
phy_mc_vsc8541_link_monitor (own thread)
is the only one to change data->state

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-07-23 09:31:17 +02:00
Fin Maaß
74d62a0903 drivers: ethernet: phy: microchip_vsc8541: improve driver
- implement configure link
- support half duplex
- use defines from mii.h
- fix check ret vals

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-07-23 09:31:17 +02:00
Ayush Singh
fcc8f8c01b dts: arm: ti: Add MAIN domain UARTS
M4F can use uarts from main domain of AM62. However, interrupts are not
supported.

The common main peripheral dts is kept in dts/venodor/ti to allow
sharing between arm targets (m4, r5) and arm64 targets (a53).

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
2025-07-23 09:30:44 +02:00
Dawid Niedzwiecki
6d5cdbb13e drivers: flash: add andes qspi xip flash driver
Add a flash driver that is used to perform flash operations on a flash
chip that is connected to an Andes QSPI controller and is used for XIP
mode.

The driver is as small as possible, because necessary code has to be
placed in RAM. It is not possible to fetch code from flash while
performing erase/write operations.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2025-07-23 09:30:33 +02:00
Lucien Zhao
ddc43f0d35 tests: fat_fs_api: fix stack overflow issue
Increase ZTEST_STACK_SIZE to 2048

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-07-22 19:38:29 -04:00
Lucien Zhao
a1f49a0fe8 boards: nxp: mimxrt700: enable usdhc0 instance
enable usdhc0 clock
config usdhc0 pin
enable mmc-disk:SD2

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-07-22 19:38:29 -04:00
Lucien Zhao
bc627062a4 dts: arm: nxp: add usdhc instances for rt700 cm33_cpu0
add usdhc instances for rt700 cm33_cpu0

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-07-22 19:38:29 -04:00
Oleh Kravchenko
585cda1360 soc: stm32l1x: Add support for sleep/stop/standby modes
Add stm32l1_disco and nucleo_l152re overlays for testing
sleep/stop/standby modes:
- samples/boards/st/power_mgmt/blinky;
- samples/boards/st/power_mgmt/wkup_pins;

I've measured consumption for each low-power mode:
- low-power sleep ~1.72mA;
- stop mode ~324uA;
- standby mode ~2.2 uA;

It's possible to use RTC as idle timer to exit from stop mode.

Signed-off-by: Oleh Kravchenko <oleg@kaa.org.ua>
2025-07-22 19:38:19 -04:00
The Nguyen
9a9f060430 samples: display: update rtk7eka6m3b00001bu shield related samples
The rtk7eka6m3b00001bu need addtional ek_ra8d1_rtk7eka6m3b00001bu shield
to build with ek_ra8d1/r7fa8d1bhecbd platform. This commit to update
extra args to select it when build with twister

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-07-22 19:38:02 -04:00
The Nguyen
1eb0fb20f3 boards: renesas: update ek_ra8d1 boards doc
Update usage guide when using the parallel graphics expandsion

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-07-22 19:38:02 -04:00
The Nguyen
b0a8f19060 shields: Add EK-RA8D1 to RTK7EKA6M3B00001BU Display Adapter
Add EK-RA8D1 to RTK7EKA6M3B00001BU Display Adapter.
This is a converter from EK-RA8D1 J57 port to RTK7EKA6M3B00001BU
Display CN1 pin signal.

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-07-22 19:38:02 -04:00
The Nguyen
f191de3906 boards: renesas: ek_ra8d1: Add Parallel Graphics Expansion Connector
Add Parallel Graphics Connector node to EK-RA8D1 dts

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-07-22 19:38:02 -04:00
Hake Huang
f5c2ef8836 tests wdt: add WDT_OPT_PAUSE_IN_SLEEP test
add WDT_OPT_PAUSE_IN_SLEEP testing for long period
this need enable PM

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2025-07-22 19:37:31 -04:00
Sabrina Simkhovich
b591d141a2 drivers: sensor: mb7040: add support for MB7040 ultrasonic sensor
This commit adds a new driver for the MaxBotix MB7040 ultrasonic
rangefinder. The driver uses I2C communication to read range data
from the sensor and exposes it via the Zephyr sensor API.

Tested on an esp32-s3 board using I2C bus. Verified readings at multiple
distances to confirm accuracy.

Signed-off-by: Sabrina Simkhovich <sabrinasimkhovich@gmail.com>
2025-07-22 19:37:18 -04:00
Ayush Singh
9ea9c43c26 boards: beagle: pocketbeagle_2: Add main_uart0 pinmux
- Add pinmux for main_uart0 (P1.30 and P1.32).
- This is the UART in techlab cape and is great for m4 development.

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
2025-07-22 19:36:57 -04:00
Kapil Bhatt
0d4472ae44 drivers: nrf_wifi: Remove station mode from monitor mode
Monitor mode doesn't require station mode. Disabling station mode
require necessary changes to work monitor mode.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2025-07-22 19:36:37 -04:00
John Batch
99860e7339 soc: infineon: cyw20829: Adding MPU memory permission to userspace app
Adds additional MPU memory permissions to userspace applications by
default.  This change addresses an MPU fault encountered when running
tests/kernel/common and tests/drivers/adc/adc_api.

This approach opens additional memory locations up to user space access.
This assumes that end users of applications will tune the MPU regions for
the needs of that application.

Signed-off-by: John Batch <john.batch@infineon.com>
2025-07-22 19:35:52 -04:00
Bjarki Arge Andreasen
a39285b720 shell: exchange k_poll for k_event
The shell subsystem currently uses k_poll for signalling. However,
k_poll is only used for simple event signals, results are not used.

Replacing the k_poll with k_event greatly simplifies the code, and
saves 4 struct k_poll_signal and 4 struct k_poll_event (one of which
was entirely unused) while costing a single struct k_event, for
every shell instance. It also allows us to not select POLL,
as we are using the simpler EVENTS instead.

A quick test build of the shell test suite on an nrf54l15 produces
the following build info:

using EVENTS:

           FLASH:       71592 B      1428 KB      4.90%
             RAM:        9872 B       188 KB      5.13%
        IDT_LIST:          0 GB        32 KB      0.00%

using POLL

           FLASH:       75524 B      1428 KB      5.16%
             RAM:       11224 B       188 KB      5.83%
        IDT_LIST:          0 GB        32 KB      0.00%

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-07-22 19:34:02 -04:00
Eric Mechin
62c8e85611 Devicetree bindings: st,stm32wb-ble-rf.yaml: fix BD Address error
HCI RESET done in common_init() function in
the zephyr\subsys\bluetooth\host\hci_core.c file erase settings done
before in the zephyr\drivers\bluetooth\hci\ipm_stm32wb.c
in the bt_ipm_setup() function.
HCI RESET can be avoided by set a default "no-reset"
in the zephyr\dts\bindings\bluetooth\st,stm32wb-ble-rf.yaml

Signed-off-by: Eric Mechin <eric.mechin@st.com>
2025-07-22 19:33:26 -04:00
Xiaolu Sun
b623663ffc drivers: i2c_sedi: Apply DTS clock_frequency to I2C during initialization
Previously, the clock_frequency property defined in the Device Tree was
not applied to the I2C controller, causing the controller to ignore the
specified bitrate configuration if no other config for speed. When using
default hardware settings, the lack of an explicit timing or frequency
config may result in the controller ignoring bitrate settings. This change
ensures that the clock_frequency value from DTS is now correctly mapped
and set during controller initialization, allowing the bitrate to take
effect as intended. This improves hardware configurability and ensures
the I2C bus operates at the desired speed specified in the Device Tree.

Signed-off-by: Xiaolu Sun <xiaolu.sun@intel.com>
2025-07-22 19:32:08 -04:00
Krzysztof Chruściński
26fe43dd36 tests: kernel: timer: timer_behavior: Fix max_stddev calculation
max_stddev calculation was previously patched to be more at least
1 system clock cycle to cover for platforms that use higher frequency
system clock (32kHz). On that platform (nRF52) system clock frequency
was the same as tick frequency but on nRF54x that is no longer true.
Initially, the intention was to use 1 system tick and not cycle.
Fixing it now.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-07-22 19:31:31 -04:00
Anas Nashif
d0dfbce650 gitlint: adapt configuration to deal with migration warnings
Get rid of this warning:

WARNING: I4 - ignore-by-author-name: gitlint will be switching from
using Python regex 'match' (match beginning) to 'search' (match
anywhere) semantics.  Please review your ignore-by-author-name.regex
option accordingly. To remove this warning, set
general.regex-style-search=True. More details:
https://jorisroovers.github.io/gitlint/configuration/#regex-style-search

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-07-22 19:31:06 -04:00
Robert Lubos
d3ba674a51 net: lwm2m: Handle RESET replies for separate response
Separate CON responses do no have a reply callback registered (as no
response is expected), however are still registered for retransmission
on the pending list. Therefore, we not only need to check for empty
ACKs for such case but for RESET packets as well. However, this cannot
be done before "reply" processing, as some of the reply handlers
(notifications namely) check for RESET replies.

Therefore, add a final check for the RESET response after the existing
"reply" logic. In such case, just remove the pending response packet
from the retransmission queue, and release resources.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-07-22 19:30:40 -04:00
Robert Lubos
cf28b5aa65 net: lwm2m: Clear acknowledged flag before sending separate response
When using a separate response mechanism in LwM2M client, the
acknowledged flag is used to notify the engine that the request has been
acknowledged already with an empty ack and a separate CON response
should be sent. The same flag however is used by the retransmission
mechanism, to check if the CON request sent by the client has been
acknowledged by the peer.

As separate responses use the flag both ways, it has to be cleared
before sending the separate CON reply. Otherwise, the retransmission
logic assumes the reply has already been acknowledged and skips the
retransmission.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-07-22 19:30:40 -04:00
Georgij Černyšiov
9e29c7e868 boards: adi: use NOR/PSRAM bank defines
Use existing NORSRAM defines for bank reg.

Signed-off-by: Georgij Černyšiov <geo.cgv@gmail.com>
2025-07-22 19:30:31 -04:00
Georgij Černyšiov
7f4d41acbd boards: st: use NOR/PSRAM bank defines
Use existing NORSRAM defines for bank reg.

Signed-off-by: Georgij Černyšiov <geo.cgv@gmail.com>
2025-07-22 19:30:31 -04:00
Georgij Černyšiov
fd6337a55b boards: st: fix NOR/PSRAM bank 'st,control' indentation
Correct 'st,control' values indentation.

Signed-off-by: Georgij Černyšiov <geo.cgv@gmail.com>
2025-07-22 19:30:31 -04:00
Hake Huang
8add9219a7 drivers: timer : cortex_m_systick MAX_TICKS protection
when CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC set to 960M
and CONFIG_SYS_CLOCK_TICKS_PER_SEC set to 100
the MAX_TICKS will be zero or even negative value, which is not
expected.
so need add a protection here downgrading the accuracy to
its as high as possible

also add build message to show that tickless has no effect

fixes: #36766

there used to be a workaround, not a fix,
either change the CONFIG_SYS_CLOCK_TICKS_PER_SEC=200
or
CONFIG_PM to set the CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC
to 32678

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2025-07-22 08:19:55 -04:00
Ruiqian Tang
53374c6257 boards: seeed: support XIAO nRF54L15
This is a new board of the XIAO series based on nRF54L15.

Signed-off-by: Ruiqian Tang <ruiqian.tang@seeed.cc>
2025-07-22 14:18:43 +02:00
The Nguyen
bdcd70b51f boards: renesas: add support for rssk_ra2l1 boards
First commit to initial support for RSSK-RA2L1

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-07-22 08:17:44 -04:00
Axel Utech
4664f600d6 dts: arm: st: u0: fix lpuart1/2 interrupts
Interrupt vectors for lpuart1 and lpuart2 are swapped according to the
reference manual RM0503 table 54.
Fixes the usage of the interrupt-driven uart API.

Signed-off-by: Axel Utech <utech@sofiha.de>
2025-07-22 08:16:56 -04:00
Benjamin Cabé
9dabb21ced samples: sensor: paj7620: refactor handling of trigger mode
The current sample was always trying to enable trigger mode in the
driver no matter what, causing issues for instances where the sensor
simply has no interrupt pin configured in Devicetree.

Cleaned things up so that enabling trigger mode is done via the
driver's Kconfig option, and cleaned up the Twister testcases
accordingly (plus, made sure they are actually built by setting
min_ram to a value compatibel with the nucleo_f334r8).

README has also been updated to clearly document how to enable
either mode.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-07-22 08:16:06 -04:00