Commit graph

126,787 commits

Author SHA1 Message Date
Sebastian Głąb
745fd00517 samples: drivers: spi_bitbang: Enable sample on nrf54h20 PPR core
Add overlay required to run the sample on
nrf54h20dk/nrf54h20/cpuppr.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2025-10-01 14:36:33 +03:00
Jamie McCrae
799d3cf6f8 dts: arm: nordic: Remove superfluous compatible strings
Removes compatible strings that were not defined and are not needed

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-10-01 14:36:23 +03:00
Jamie McCrae
3b48275f2b boards: nordic: nrf54l15dk: Fix cpuflpr SRAM address
Fixes the address of this peripheral

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-10-01 14:36:23 +03:00
Jamie McCrae
e6c2a82f26 dts: vendor: nordic: Add missing reg parameters
Adds missing reg parameters to DTS nodes

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-10-01 14:36:23 +03:00
Krzysztof Chruściński
767c21a217 drivers: power_domain: nrf_gpio_pad_group: Fix DT macro
DT_PROP_OR instead of DT_INST_PROP_OR was used and property from
device tree was never used.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-10-01 14:36:11 +03:00
Philipp Finke
5d05c4bcc6 sys: timeutil: Replaced pointer to rvalues
Replaced all pointer to rvalues used for the second parameter in calls of
timespec_compare() within function timespec_to_timeout(). This might be
legal syntax in C, but leads to compile errors when timeutil.h is included
and compiled in a C++ compilation unit.

Signed-off-by: Philipp Finke <philipp.finke@sick.de>
2025-10-01 14:36:00 +03:00
Rubin Gerritsen
05b77ece23 soc: nordic: nrf54h: s2ram: Support disabled MPU
This commit adds support using pm_s2ram for 54H when the
MPU is disabled. This is the case for the out of tree
sample `sdk-nrf/samples/nrf54h/empty_app_core`.

Without this commit the linker will fail to link
`z_arm_mpu_init` and `z_arm_configure_static_mpu_regions`.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2025-10-01 08:29:01 +02:00
Chris Friedt
5dd3bd52c5 drivers: serial: pl011: only declare ambiq pm action when used
The conditions needed to declare `uart_ambiq_pm_action()` in
`uart_pl011_ambiq.h` and the conditions needed to use it in `uart_pl011.c`
differed, which would result in a warning promoted to error during
weekly CI runs.

Ensure that the conditions match to remove the warning / error.

```cpp
if defined(CONFIG_SOC_SERIES_APOLLO3X) || \
  defined(CONFIG_SOC_SERIES_APOLLO5X)
```

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-10-01 08:27:59 +02:00
Ashirwad Paswan
21da2d056d Bluetooth: Controller: Fix missing null pointer check
Added a check for null pointer in ull_sync_iso.c file
to avoid potential crashes.

Fixes: #81997

Signed-off-by: Ashirwad Paswan <ashi06712@gmail.com>
2025-10-01 08:27:33 +02:00
Ayush Singh
eac11753fc drivers: sensor: ti: ti-hdc20xx: Fix sensor define
- Since ti-hdc20xx is a sensor, it should use SENSOR_DEVICE_* macro for
  definition.
- Allows it to work with sensor_shell properly.

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
2025-10-01 08:26:32 +02:00
Jonas Berg
baef45f975 boards: Add Waveshare RP2040-GEEK board
Tested with the commands mentioned on the index.rst page.

The product photo is from
https://www.waveshare.com/img/devkit/RP2040-GEEK/RP2040-GEEK-details-13.jpgy

Signed-off-by: Jonas Berg <jonas.s.t.berg@gmail.com>
2025-10-01 08:26:15 +02:00
Jonas Berg
730a1f6d4c boards: Add Waveshare RP2040-Keyboard-3 development board
Tested with the commands mentioned in the index.rst page.

Signed-off-by: Jonas Berg <jonas.s.t.berg@gmail.com>
2025-10-01 08:26:04 +02:00
Jonas Berg
fbdd3bb645 boards: Add Adafruit Trinkey QT2040 board
Tested with the commands mentioned in the index.rst page.

Signed-off-by: Jonas Berg <jonas.s.t.berg@gmail.com>
2025-10-01 08:25:40 +02:00
Pisit Sawangvonganan
f05f886a70 drivers: adc: remove '&' when assigning adc_xxx_init
Remove address-of operator ('&') when assigning `adc_xxx_init`
function pointer in `DEVICE_DT_INST_DEFINE` and `DEVICE_DT_DEFINE` macro.

This change aims to maintain consistency among the drivers in
`drivers/adc`, ensuring that all function pointer assignments
follow the same pattern.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2025-10-01 08:22:28 +02:00
TaiJu Wu
61bc4451f6 kernel: essential work queue should not stop
consider follow case
```
ZTEST(workqueue_api, test_k_work_queue_stop_sys_thread)
{
	size_t i;
	struct k_work work;
	struct k_work_q work_q = {0};
	struct k_work works[NUM_TEST_ITEMS];
	struct k_work_queue_config cfg = {
		.name = "test_work_q",
		.no_yield = true,
		.essential = true,
	};

	k_work_queue_start(&work_q, work_q_stack,
			   K_THREAD_STACK_SIZEOF(work_q_stack),
			   K_PRIO_PREEMPT(4), &cfg);

	zassert_true(k_work_queue_drain(&work_q, true) >= 0,
	    "Failed to drain & plug work queue");
	zassert_not_ok(k_work_queue_stop(&work_q, K_FOREVER),
	    "Failed to stop work queue");
}
```

If we allow stop essential work queue, system will panic.

Signed-off-by: TaiJu Wu <tjwu1217@gmail.com>
2025-10-01 08:21:56 +02:00
Emil Gydesen
7d8315574f Bluetooth: Host: Add note about recycled for BT_LE_ADV_OPT_CONN
When a connectable advertising set is stopped, the
preallocated connection object is free by calling
bt_conn_unref which triggers a call to the recycled
callback.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-10-01 08:20:54 +02:00
Charles Hardin
f06840221e net: dns: swallow packets that have no useful records in them
There are some poorly compliant mdns responders on the network
that will respond with zero counts on the answers and the additional
records (in addition to the qdcount). So, this removes the checks
in the unpack method since this is a "valid" DNS packet but the
logic is already partially handled in the dns_read code already.

An example packet can be seen in this decode

  0000   33 33 00 00 00 fb 9a f8 c3 0c 07 0b 86 dd 60 07   33............`.
  0010   c4 e4 00 14 11 ff fe 80 00 00 00 00 00 00 98 f8   ................
  0020   c3 ff fe 0c 07 0b ff 02 00 00 00 00 00 00 00 00   ................
  0030   00 00 00 00 00 fb 14 e9 14 e9 00 14 f1 64 00 00   .............d..
  0040   84 00 00 00 00 00 00 00 00 00                     ..........

  User Datagram Protocol, Src Port: 5353, Dst Port: 5353
    Source Port: 5353
    Destination Port: 5353
    Length: 20
    Checksum: 0xf164 [unverified]
    [Checksum Status: Unverified]
    [Stream index: 2]
    [Stream Packet Number: 1]
    [Timestamps]
    UDP payload (12 bytes)
  Multicast Domain Name System (response)
    Transaction ID: 0x0000
    Flags: 0x8400 Standard query response, No error
        1... .... .... .... = Response: Message is a response
        .000 0... .... .... = Opcode: Standard query (0)
        .... .1.. .... .... = Authoritative: Server is an authority
                              for domain
        .... ..0. .... .... = Truncated: Message is not truncated
        .... ...0 .... .... = Recursion desired: Don't do query recursively
        .... .... 0... .... = Recursion available: Server can't do
                              recursive queries
        .... .... .0.. .... = Z: reserved (0)
        .... .... ..0. .... = Answer authenticated: Answer/authority
                              portion was not authenticated by the server
        .... .... ...0 .... = Non-authenticated data: Unacceptable
        .... .... .... 0000 = Reply code: No error (0)
    Questions: 0
    Answer RRs: 0
    Authority RRs: 0
    Additional RRs: 0

Signed-off-by: Charles Hardin <ckhardin@gmail.com>
2025-10-01 08:20:34 +02:00
Lauren Murphy
d64e6260fa tests: adjust CONFIG_MAX_THREAD_BYTES for some
For these particular tests, many platforms require higher
CONFIG_MAX_THREAD_BYTES than the default 2, so guard
against failures by setting it high.

Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
2025-10-01 08:20:05 +02:00
Lauren Murphy
f29878089b tests: smp_suspend: run only on qemu, native and hardware
Control where the test runs.

Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
2025-10-01 08:20:05 +02:00
Lucien Zhao
97b31e426b boards: nxp: mimxrt1180_evk: update jlinkscript for cm33/cm7
- sync jlinkscript files from rt1180 mcux sdk

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-10-01 08:17:25 +02:00
Tomas Galbicka
3cf2cc06dd soc: RT700 DSP Hifi4 enable cache handling
This commit adds cache handling for Hifi4 core on RT700.
Enable CACHE_MANAGEMENT and HAS_DCACHE.

Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
2025-10-01 08:16:51 +02:00
Felix Wang
ca359b19b7 dts: nxp: Fix spi_bus_bridge warning
Rename node name to spi.

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2025-10-01 08:16:33 +02:00
Chekhov Ma
b259e397db board: frdm_imx93: enable pcal6408 gpio expander
Enable  pcal6408 gpio expander on FRDM-IMX93 board. This expander has
its reset pin controlled by another expander, and both expanders is
driven by the same pca_series driver. To guarentee correct init order,
pcal6408 is set to deferred init in a board init function.

Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
2025-10-01 08:16:10 +02:00
TOKITA Hiroshi
9bdad1f871 drivers: xen: memory: add acquire_resource wrapper
Add XENMEM_acquire_resource wrapper to map device model related buffers.
This is required for communication with the ioreq server.

- memory
  - xendom_acquire_resource:
    HYPERVISOR_memory_op(XENMEM_acquire_resource)

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-10-01 08:15:36 +02:00
TOKITA Hiroshi
14ac666156 drivers: xen: change gnttab_[get|put]_pages for multi-page support
Replace `gnttab_get_page()`/`gnttab_put_pabes(addr)` with
`gnttab_get_pages(npages)`/`gnttab_put_pages(addr, npages)`
for supporting multi-page operation.

Note: This is a breaking change, update callers accordingly.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-10-01 08:14:47 +02:00
Derek Snell
40e5f73a7e boards: nxp: mimxrt1160_evk: improve zephyr,flash location for M4
- Fixes issue where zephyr,flash in ocram node overlaps with physical
  SRAM sram1 used for zephyr,sram.
- Moves default zephyr,flash from external flash to M4 ITCM to improve
  performance.
- Updates overlays that moved zephyr,flash to ocram now use default

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-10-01 08:12:43 +02:00
Derek Snell
ddc58c0795 boards: nxp: mimxrt1170_evk: improve zephyr,flash location for M4
- Fixes issue where zephyr,flash in ocram node overlaps with physical
  SRAM sram1 used for zephyr,sram.
- Updates overlays that moved zephyr,flash to ocram now use default

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-10-01 08:12:43 +02:00
Derek Snell
6270d29287 boards: nxp: mimxrt1170_evk & rt1160: enable M4 CONFIG_NET_L2_ETHERNET
The Ethernet networking stack can run on the M4 core, see
https://community.nxp.com/t5/Zephyr-Project-Knowledge-Base/Zephyr-networking-stack-on-i-MX-RT1170-Cortex-M4-secondary-core/ta-p/2159461

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-10-01 08:12:43 +02:00
Wai-Hong Tam
ca68c77198 tests: drivers: build_all: led_strip: Add build test for ws2812-uart driver
This commit adds a build test for the new `worldsemi,ws2812-uart`
driver. A devicetree node for the driver is added to the app.overlay,
instantiated on a `vnd,serial` test UART.

Signed-off-by: Wai-Hong Tam <waihong@google.com>
2025-09-30 22:06:21 +02:00
Wai-Hong Tam
eb30d03ec0 dts: bindings: test: Add pin inversion to vnd,serial binding
Add the `uart-controller-pin-inversion.yaml` include to the `vnd,serial`
test binding. This enables testing for other drivers that require pin
inversion to function correctly. For example, the
`worldsemi,ws2812-uart` LED strip driver relies on `tx-invert`.

Signed-off-by: Wai-Hong Tam <waihong@google.com>
2025-09-30 22:06:21 +02:00
Wai-Hong Tam
7e195a9481 drivers: led_strip: Add UART-based driver for WS2812
This commit introduces a new driver for WS2812 and compatible LED
strips that uses a UART peripheral.

The driver generates the precise, high-speed signal required by the
WS2812 protocol by encoding each data bit into a multi-bit "symbol"
and using a frame-aware packing strategy for transmission:
 - Signal Inversion: The UART's TX line must be inverted (tx-invert)
   to create the protocol's required idle-low signal. A UART start
   bit then generates the initial high pulse of a WS2812 bit.
 - Frame-Aware Packing: The driver reuses the UART's hardware-
   generated start and stop bits as the first and last bits of the
   on-wire symbol. The inner bits of the symbol are packed into the
   UART data payload.

This packing scheme imposes a configuration constraint: the total
number of bits in a UART frame (1 start + N data + 1 stop) must be
an integer multiple of the symbol's length (bits-per-symbol).

Signed-off-by: Wai-Hong Tam <waihong@google.com>
2025-09-30 22:06:21 +02:00
Wai-Hong Tam
ba20a37228 dts: bindings: led: Add worldsemi,ws2812-uart binding
Add a new devicetree binding, worldsemi,ws2812-uart, for controlling
WS2812-compatible LED strips using a UART peripheral.

Signed-off-by: Wai-Hong Tam <waihong@google.com>
2025-09-30 22:06:21 +02:00
Lin Yu-Cheng
1c902e5ac1 adc: rts5912: implement power management
Reduce RTS5912 ADC power consumption

Signed-off-by: Lin Yu-Cheng <lin_yu_cheng@realtek.com>
2025-09-30 22:05:32 +02:00
Miika Karanki
1856a03fc7 drivers: gpio: shell: fix asan reported oob error
ASAN reports error with native_sim after "gpio info <TAB>":
   runtime error: index 1 out of bounds for type 'gpio_ctrl [1]'

So, although the dev pointer was not used, don't even read it
from out-of-bounds of gpio_list.

Signed-off-by: Miika Karanki <miika.karanki@vaisala.com>
2025-09-30 21:59:05 +02:00
Peter Mitsis
972b54c676 kernel: doc: Update thread deadline APIs
Minor updates to both the k_thread_deadline_set() and
k_thread_absolute_deadline_set() API documentation.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-09-30 21:58:51 +02:00
Michal Simek
7dea0c46bf boards: amd: kv260_r5: Fix i2c ref clock node
DT binding is requesting to use '-' in node name instead of '_'.

Signed-off-by: Michal Simek <michal.simek@amd.com>
2025-09-30 21:58:46 +02:00
Michal Simek
56ce2e3e92 amd: versalnet_rpu: Fix QEMU_CPU_TYPE for RPUs
Show correct cpu type when QEMU runs. Variable is used for display purpose
only.

Signed-off-by: Michal Simek <michal.simek@amd.com>
2025-09-30 21:58:37 +02:00
Luis Ubieda
e868e01c1f sensor: fix: Add missing iodev const on zvrfy handler
Was forgotten on #96245. Fixes: #96668.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-09-30 19:37:41 +02:00
Andrzej Głąbek
6360c7f67c drivers: usb: udc: Fix VBUS ready timeout dependency in Kconfig.dwc2
This is a follow up to commit 4fe2c5bd5f.

The UDC_DWC2_USBHS_VBUS_READY_TIMEOUT Kconfig option should be available
also for nRF92 Series SoCs (as it was previously when it depended on
NRFS_HAS_VBUS_DETECTOR_SERVICE), otherwise some builds will fail for
such targets.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-09-30 19:37:31 +02:00
Raffael Rostagno
f395f0e3cf samples: bluetooth: Add testcase for ESP32-H2
Add testcase for esp32h_devkitm, for CI build test.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-09-30 19:37:19 +02:00
Raffael Rostagno
3244055e9f boards: esp32h2_devkitm: Add BT node
Add BT node to DTS for BT support.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-09-30 19:37:19 +02:00
Raffael Rostagno
f4cdf08e28 drivers: bt: esp32h2: Add support
Add BT-HCI support to ESP32-H2.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-09-30 19:37:19 +02:00
Raffael Rostagno
18dbda57d8 soc: esp32h2: Add BT support
Add bluetooth support to ESP32-H2.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-09-30 19:37:19 +02:00
Raffael Rostagno
629012121d west.yml: hal_espressif: Update for ESP32-H2 BT support
Update for ESP32-H2 BT/BLE support.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-09-30 19:37:19 +02:00
Luis Ubieda
110e315fdc rm3100: decoder: fix missing const while edata buffer casting
To suppress compliance warnings.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-09-30 19:37:10 +02:00
Luis Ubieda
ff7a350d9c rm3100: decoder: fix trigger detection on data-ready
Otherwise we'd always return false in spite of the flag being set in
the encoded data, which may lead to the user not reading the underlying
data in an event-paced readout scheme.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-09-30 19:37:10 +02:00
Mathieu Choplain
092a0820c4 drivers: usb: udc: stm32: enhance PHY type & operating speed determination
Rework how the STM32 UDC driver determines the PHY used by a given instance
and the speed at which the instance is able to and allowed to operate.

The PHY determination now uses the 'phys' property instead of looking at
whether nodes with a specific compatible were enabled. Similarly, the speed
determination takes into account the 'maximum-speed' property, along with
the selected PHY's and the instance's capabilities.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-09-30 19:36:55 +02:00
Mathieu Choplain
e31ddec781 drivers: usb: udc: stm32: rework PWR and PHY initialization
Rework how the driver performs PWR configuration and initializes HS PHYs.

Originally, the initialization logic was split in half without any real
logic. There were also attempts to share some logic but this resulted in
code that was difficult to understand.

Initialize PWR and PHY in well separated steps, and use explicit series
and PHY type checks in each part to ensure the logic is easy to understand.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-09-30 19:36:55 +02:00
Mathieu Choplain
7ec83e5c95 drivers: usb: udc: stm32: use HAL PCD macros for speed
Rework the STM32 USB UDC driver to use HAL PCD macros for speed selection,
as should have always been done since that is the library used by the shim
driver. Also dummy definitions to ensure cross-series compatibility
without many #if blocks in the driver.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-09-30 19:36:55 +02:00
Martin Gysel
a7df9e9860 drivers: udc_stm32: select Kconfig option UDC_DRIVER_HAS_HIGH_SPEED_SUPPORT
The driver supports high-speed capable controllers. Select
the appropriate Kconfig options to ensure that the stack does
not optimize away high-speed support.

Signed-off-by: Martin Gysel <me@bearsh.org>
2025-09-30 19:36:55 +02:00