Commit graph

126,787 commits

Author SHA1 Message Date
Bjarki Arge Andreasen
6821b5b319 pm: device: extend pm_device_driver_init() description
Rewrite the docstring for pm_device_driver_init() to align with
documentation, especially covering the case where CONFIG_PM_DEVICE=n

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-07-29 22:56:02 -04:00
Luis Ubieda
e798c8ed7f boards: vmu_rt1170: Add axis alignment to ICM42686
Matches with on-board ICM42688, complying with right-hand rule.

Signed-off-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-07-29 22:55:26 -04:00
Luis Ubieda
4527cab3c7 boards: vmu_rt1170: fix Axis alignment to comply with right-hand-rule
Missing an inverted sign on Axis Align on X.

Signed-off-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-07-29 22:55:26 -04:00
Benjamin Cabé
12c4d7661a doc: _scripts: use tuple instead of list for html_redirects
Changed the REDIRECTS variable from a list to a tuple in the
redirects.py scripts since it's an immutable sequence.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-07-29 22:55:04 -04:00
Benjamin Cabé
a74f222b73 doc: _scripts: use tuple instead of list for gen_boards_catalog
Changed a bunch of immutable sequences from being lists to tuples.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-07-29 22:55:04 -04:00
Martin Hoff
9b335c82e2 tests: build_all: eeprom: change config for compatibility
Since the old configuration set a sensor initialization priority to 60,
we faced a conflict between sensor and regulator initialization priorities.
I think the best approach is to always use a lower priority if the
component has dependencies. If this is a specific case, maybe a .conf file
is needed for the board. The new .conf file will then be more generic.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-07-29 22:54:31 -04:00
Peter Mitsis
3123839801 tests: Increase sched_userspace timeout
Increase the sched_userspace timeout from the default of 60 seconds
to 300 seconds to account for variations in execution time caused
by host system load.

(Variation observed on the qemu_cortex_a53/qemu_cortex_a53 platform.)

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-07-29 22:53:52 -04:00
Nicolas Pitre
e6ff6b0843 arm64: isr_wrapper.S: make GICv2 usable on SMP systems
GICC_IAR (GICv2) includes the source processor for SGIs in bits 12-10.
Mask them away otherwise IPIs sent from any CPU other than CPU0 will be
considered out of bounds.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2025-07-29 22:53:08 -04:00
Afonso Oliveira
b4eb116478 arch: riscv: decouple mtval usefulness for FP traps from QEMU target
Introduce CONFIG_RISCV_NO_MTVAL_ON_FP_TRAP to handle implementations
where the mtval CSR does not provide useful information during
floating-point illegal instruction exceptions.

The RISC-V specification states that mtval is "either set to zero or
written with exception-specific information" on traps. Some
implementations, including QEMU, do not populate mtval with the
faulting instruction value during FP-related illegal instruction
exceptions, making it unusable for FP exception handling.

Previously, this behavior was hardcoded for QEMU targets only, but
other CPU implementations may also lack useful mtval content for FP
traps. Decoupling this from CONFIG_QEMU_TARGET and allows other
platforms to properly declare this limitation.

The new Kconfig option defaults to enabled for QEMU targets to
maintain backward compatibility.

Signed-off-by: Afonso Oliveira <afonsoo@synopsys.com>
2025-07-29 22:52:37 -04:00
Benjamin Cabé
bed4ad299c drivers: haptics: add DRV2605_SEQ_WAIT_MS macro
Add a macro to simplify the creation of wait/delay values for the
waveform sequencer.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-07-29 22:51:46 -04:00
Benjamin Cabé
db3512dc50 include: drivers: haptics: add Doxygen docs for drv2605
Aim for full coverage for the drv2605 device-specific haptics API.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-07-29 22:51:46 -04:00
Luis Ubieda
9791165877 icm45686: fix unhandled shift being zero
Even though it's not listed in the options of
icm45686_get_shift(), for completeness sake,
do not leave an unhandled range.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-07-29 22:51:08 -04:00
Jordan Yates
def2ec8590 bluetooth: hci: spi: configurable CS delay
Make the common SPI CS delay property configurable from devicetree. This
can be required for using a nRF54L as a Bluetooth controller, since it
has an additional delay after waking up from the CS assertion until it
is ready to accept and transmit data (see OPS t_START_HFINT).

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-07-29 22:50:23 -04:00
Andrzej Głąbek
7efa5c87dd drivers: flash_mspi_nor: Make transfer timeout configurable
Although the value currently hard-coded in the driver (10 ms) is quite
high, it may turn out to be insufficient when there is a need to use
some very low SCK frequency, like 250 kHz.
Make the timeout value configurable per-instance, via devicetree.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-07-29 12:14:51 -04:00
Daniel Coffey
68c6b6ca0c drivers: ethernet: ksz8081: support 25MHz RMII
Configure KSZ8081 phy drivers to set strapping mode override
for RMII mode without setting reference clock to 50MHz when
"RMII 25MHz" operation is selected in device tree node.

Signed-off-by: Daniel Coffey <danielcoffey@carallon.com>
2025-07-29 11:25:14 -04:00
Chaitanya Tata
7fe693029f drivers: nrf_wifi: Fix the issue of delayed keepalive
Supplicant sends keepalive on timer expiry but due to driver + nRF70
delays it is delayed to the AP, meanwhile some APs disconnect due to
lack of keepalive.

Set the processing delay to 700ms (based on tests) to fix.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-07-29 11:24:44 -04:00
Chaitanya Tata
d51127ddc3 manifest: hostap: Pull feature to add driver processing delay to capa
Pull the feature to add driver processing delay to the driver
capabilities. Useful to customize for sending keepalive.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-07-29 11:24:44 -04:00
Robert Robinson
8e69b52205 scripts: twister: handlers: Append dev-id for runner nrfutil_next
appends the --dev-id argument when using nrfutil_next runner.

Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
2025-07-29 11:24:21 -04:00
Chaitanya Tata
5ff2028203 modules: nrf_wifi: Fix bustest QSPI crash
Commit 5e25283821a("drivers: wifi: Create dedicated mem pool for Wi-Fi
driver") introduced OSAL dependecy in the Zephyr QSPI driver for HL
read, but in bustest we don't enable nrf_wifi OS module, so, it crashes
here. And we should not be using OSAL APIs in Zephyr code anyway.

And in this case we don't even need to use the heap, so, move the rx
buffer to stack.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-07-29 11:23:51 -04:00
Gaetan Perrot
8434b01bcc drivers: ethernet: add check for null fragment before TX loop
In eth_cyclonev_send(), add a guard to detect if the net_pkt has no data
buffer (i.e., pkt->buffer is NULL) before starting the TX descriptor loop.

This prevents a potential null pointer dereference on frag->data in the
first iteration of the do-while loop.

The previous in-loop check for frag was redundant and misleading: it still
allowed access to frag->data even when frag could be NULL, making the code
both unnecessary and potentially unsafe.

The new check ensures frag is valid before entering the loop, covering the
rare case where net_pkt has no associated buffer.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2025-07-29 09:31:29 -04:00
Georgij Černyšiov
447e11885e drivers: eth: oa_tc6: fix status check garbage value
If reading the status register fails, the register
`sts` will contain meaningless data.

In such cases, the function should return an error
and not attempt to clear any pending interrupts
with invalid data.

Signed-off-by: Georgij Černyšiov <geo.cgv@gmail.com>
2025-07-29 09:31:18 -04:00
Jakub Michalski
37f9aed22b net: ethernet: e1000: add queue support
Before this commit size of rx and tx queues was set to 1, which is out of
spec. This commit adds queue logic, ability to set their size and exposes
configuration options w.r.t rx queue interrupts

Signed-off-by: Jakub Michalski <jmichalski@antmicro.com>
2025-07-29 09:31:07 -04:00
Tim Lin
3e82d7c736 drivers/espi: ite: Add support for ESPI_PERIPHERAL_HOST_IO_PVT
Add support the host I/O over eSPI peripheral channel for private
channel.
The default port number of ESPI_PERIPHERAL_HOST_IO_PVT_PORT_NUM
for ITE SoC is 0x68.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-07-29 09:30:02 -04:00
Bjarki Arge Andreasen
2854115443 soc: nrf54h: remove deprecated gpd (global power domain) driver
Remove the deprecated GPD (Global Power Domain) driver.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-07-29 09:03:37 -04:00
Bjarki Arge Andreasen
2b0d1ae4d0 soc: nordic: nrf54h: transition from gpd to zephyr pinctrl and pds
Transition nrf54h away from the soc specific gpd
(global power domain) driver which mixed power domains, pinctrl
and gpio pin retention into a non scalable solution, forcing soc
specific logic to bleed into nrf drivers.

The new solution uses zephyrs PM_DEVICE based power domains to
properly model the hardware layout of device and pin power domains,
and moves pin retention logic out of drivers into pinctrl and
gpio, which are the components which manage pins (pads).

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-07-29 09:03:37 -04:00
Bjarki Arge Andreasen
3a8651ac82 drivers: power_domain: introduce nrf_gpio_pad_group
Introduce the NRF GPIO Pad Group device driver and binding. The
pad group device represents the GPIO pads (pins), contrary to a
GPIO controller, which is one of the many devices which can be
muxed to pads in the pad group.

The pad group belong to a power domain, which is not neccesarily the
same power domain as devices being muxed to the pads, like GPIO or
UART. If no ACTIVE device is using any of the pads in the pad
group, the pad groups power domain may be SUSPENDED. Before the pad
groups power domain is SUSPENDED, pad config retention must be
enabled to prevent the pads from loosing their state. That's what
this device driver manages. Once retained, the pad configs and
outputs are locked, even when their power domain is SUSPENDED.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-07-29 09:03:37 -04:00
Bjarki Arge Andreasen
0ec81c5fdf drivers: power_domain: introduce nrfs gdpwr
Introduce the NRFS GDPWR (Global Domain Power Request) device
driver and devicetree binding.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-07-29 09:03:37 -04:00
Benjamin Cabé
bb92d71a6b boards: add axp2101-fuel-gauge to all boards with an AXP2101 PMIC
Multi-function PMIC AXP2101 now has a fuel gauge driver. Add the
corresponding node to all boards with such a PMIC (also checked their
datasheets and confirmed these actually have a battery correctly
connected to the PMIC).

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-07-29 08:54:05 -04:00
Benjamin Cabé
55592cfc62 tests: drivers: counter: fix esp32s3 overlays
The use of timer3 seems to be some legacy leftover from when the
overlay was specific to esp32s3_devkitm originally (commit cf3b2643).
Using timer0 instead.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-07-29 08:54:05 -04:00
Tomasz Moń
8d1f7b3bef drivers: udc_dwc2: Fix incomplete iso handling race
Incomplete iso IN/OUT is just informative and its occurrence does not
prevent the endpoint from actually transmitting/receiving data. Such
"late" isochronous transfers, which are perfectly fine according to USB
specification, were observed on Windows host with nRF54H20 running
explicit feedback sample operating at High-Speed.

The incorrect handling manifested itself with "ISO RX buffer too small"
error message. The faulty scenario was:
  * incompISOIN handler does not find any matching endpoint
  * incompISOOUT handler disables endpoint, discards buffer and sets
    rearm flag
  * next DWC2 interrupt handler iteration after reading GINTSTS
  * XferCompl interrupt on iso IN endpoint
  * XferCompl interrupt on iso OUT endpoint
      - transfer was actually happening to the buffer discarded in
	incompISOOUT handler
      - XferCompl handler modified the next buffer
  * GOUTNakEff interrupt, iso OUT endpoint EPDIS bit is set
  * EPDisbld interrupt, rearm flag set
      - the buffer modified by XferCompl is used and fails because it is
	not large enough

Modify the sequence so it accounts for host actions and the above faulty
scenario no longer causes any problems.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-07-29 08:52:20 -04:00
Tomasz Moń
6eb2fa8edd drivers: udc_dwc2: Rearm isochronous OUT endpoints during incompisoout
Rearm isochronous endpoints when handling incomplete iso out interrupt
to make it possible to rearm the endpoint in time (before SOF),
especially when operating at High-Speed.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-07-29 08:52:20 -04:00
Chris Friedt
8e1cd47dfc MAINTAINERS: add Seeed Studio platform
Add Seeed Studio as a platform initially unmaintained with rules to match
boards and sheilds.

This should make it easier if someone (ideally from Seeed Studio) would
like to step up to maintain that platform.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-07-29 08:51:41 -04:00
Henrik Brix Andersen
3eedebe031 drivers: console: posix_arch_console: remove build warning
Remove build warning when building the posix_arch_console driver with
CONFIG_PRINTK=n and CONFIG_STDOUT_CONSOLE=n.

Fixes: #93790

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-07-29 08:51:32 -04:00
Pieter De Gendt
96eee3bc5e modules: lvgl: Add a name to the work queue thread
Make it easier to debug/diagnose issues by explicitly naming the LVGL
thread.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-07-29 11:27:38 +01:00
Yago Fontoura do Rosario
d3cc63ac71 Bluetooth: PACS: Fix duplicated entries in client list
The client list is filled from the bonding table at registration
but this should only be done once like the callback registration

Signed-off-by: Yago Fontoura do Rosario <yafo@demant.com>
2025-07-29 11:21:58 +01:00
The Nguyen
d9f82069b9 boards: renesas: support pyocd runner for Renesas RA boards
Add pyocd runner support for Renesas RA boards

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-07-29 11:21:48 +01:00
Lyle Zhu
af42036ca6 Bluetooth: Classic: SDP: Improve UUID 128 support
In current implementation, the UUID 128 is not well supported. The
found issue includes,
Issue 1: No clear byte order of the UUID 128 in local SDP record.
Issue 2: No clear byte order of the UUID 128 of the SDP discover
parameter.

For issue 1,
Add the description to note that if the SDP attribute type is
`BT_SDP_UINT128`, `BT_SDP_INT128`, and `BT_SDP_UUID128`, the byte
order should be little-endian.

And swap the 128bit from little-endian to big-endian when responding
the peer SDP discovery request.

For issue 2,
Add the description to note that if the SDP discovery type is
`Service Search` and `Service Search Attribute`, and UUID is UUID 128,
the passed UUID data of the discovery request parameter should be
represented as the little-endian byte-order sequence.

And swap the 128bit from little-endian to big-endian when packing the
SDP discovery packet.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-07-29 11:21:37 +01:00
Neil Chen
a128f55b5d boards: frdm_mcxa156: add temperature sensor support
1. enable temperature sensor support
2. verified samples/sensor/die_temp_polling

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-07-29 11:21:29 +01:00
Neil Chen
db1abaaf67 boards: frdm_mcxa153: add temperature sensor support
1. enable temperature sensor support
2. verified samples/sensor/die_temp_polling

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-07-29 11:21:29 +01:00
Neil Chen
48bbe114a9 boards: frdm_mcxn236: add temperature sensor support
1. enable temperature sensor support
2. verified samples/sensor/die_temp_polling

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-07-29 11:21:29 +01:00
Adrian Warecki
0fe396cb11 ace: mmu: Add shared heap section
Add a new shared_heap section. Update the xtensa_soc_mmu_ranges structure
to include a new memory range for the shared heap.

Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
2025-07-29 11:21:21 +01:00
Tomasz Moń
223d23a34d usb: device_next: uac2: Double buffering on feedback endpoint
Enable double buffering on isochronous feedback endpoint to avoid
sending ZLP instead of feedback information.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-07-29 11:20:56 +01:00
Tomasz Moń
f9ac3181ff usb: device_next: uac2: Do not leak buffer on failed enqueue
Release receive buffer on failed endpoint enqueue.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-07-29 11:20:56 +01:00
Tomasz Moń
2f343bf572 usb: device_next: uac2: Double buffering on data OUT endpoints
Enable double buffering on data OUT endpoints to allow USB stack to
enqueue next transfer as soon as possible. This is especially useful
when operating at High-Speed where there is significantly less time
between subsequent SOF packets.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-07-29 11:20:56 +01:00
Tomasz Moń
673f32428c usb: device_next: uac2: Remove unnecessary plus signs
Change the macros to have only one plus operator per term. This is
purely stylistic change, no functional changes.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-07-29 11:20:56 +01:00
Jiafei Pan
6e24007906 board: imx95_evk: m7: refine NETC dts
Removed overlay and enabled these nodes in board dts directly as it is
not be valid unless CONFIG_NETWORKING is enabled.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-07-29 11:20:48 +01:00
Jiafei Pan
8f3ed40672 dts: arm: imx943_m33: update netc device nodes
Update NETC device nodes according to NETC driver update:
1. Added "nxp,imx-netc" compatible for netc driver.
2. Added all memory region in MMIO reg propertiy to let driver to handle
   MMIO mapping for all memory region.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-07-29 11:20:48 +01:00
Jiafei Pan
a1f0f65025 dts: arm: rt118x: update netc device nodes
Update NETC device nodes according to NETC driver update:
1. Added "nxp,imx-netc" compatible.
2. Added all memory region in MMIO reg propertiy to let driver to handle
   MMIO mapping for all memory region.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-07-29 11:20:48 +01:00
Jiafei Pan
4bfe3c1073 dts: arm: imx95_m7: update netc device nodes
Update NETC device nodes according to NETC driver update:
1. Added NETC block control device node to handle block control
   initialization in netc block driver.
2. Added "nxp,imx-netc" compatible for netc driver.
3. Added all memory region in MMIO reg propertiy to let driver to handle
   MMIO mapping for all memory region.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-07-29 11:20:48 +01:00
Jiafei Pan
410e552582 dts: bindling: imx-netc: remove unused reg property
As reg property is not used by the driver and there is no proper address
could be assigned to it, so remove it.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-07-29 11:20:48 +01:00