Commit graph zephyr/drivers
Author SHA1 Message Date
Pieter De Gendt
39074bc976 drivers: espi: emul: Use DEVICE_API_EXTENDS for emul_espi_driver_api
The emulated ESPI driver API is an extension of the actual ESPI driver API.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-05-22 18:23:14 +02:00
Pieter De Gendt
1d1e40641f drivers: mspi: emul: Use DEVICE_API_EXTENDS for emul_mspi_driver_api
The emulated MSPI driver API is an extension of the actual MSPI driver API.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-05-22 18:23:14 +02:00
Shan Pen
a62bf26bd7 drivers: sdhc: renesas_ra: copy full CMD6 status
The RA SDHC driver handles SD_SWITCH/CMD6 through

r_sdhi_read_and_block(), then copies the returned status from the

FSP aligned buffer into the Zephyr request buffer.

CMD6 switch status is a 64-byte data block. The driver copied only

8 bytes, which is the SCR size used by ACMD51. This left byte 13

uninitialized or stale, so the SD core could read bus_speed as 0.

With bus_speed misread, the SD core skipped high-speed setup. Since

the current init flow switches to 4-bit width after high-speed setup,

ACMD6 bus-width switching was also skipped despite host and card

both advertising 4-bit support.

Copy ra_cmd.sector_size bytes instead, matching the requested data

block size. For CMD6 this preserves the full 64-byte switch status.

Signed-off-by: Shan Pen <bricle031@gmail.com>
2026-05-22 10:49:03 +02:00
Richard Mc Sweeney
f27c33544b drivers: Add CTB support for PSE84
Added autanalog CTB support for PSE84 device.

This implementation uses the autnonomous controller (MFD)
that is shared with other autanalog drivers.

The CTB stands for Continuous Time Block. It is a set of opamps
residing inside the autonomous (aut) analog subsystem. It is
controlled using the autonomous controller (AC), which is a
programmable state machine. The AC is shared across all autonomous
analog peripherals including the SAR, PRB, PTComp, CTB, and CTDAC.

Each CTB block contains two opamps, which need to be configured
together and accessed using the AC. A CTB MFD is used to bring
together the two opamp configurations. AC MFD then references the
combined CTB MFD configuration, and brings together all other
autanalog peripherals into a single AC setup for the application.

Assisted-by: Claude:claude-opus-4.6
Signed-off-by: Richard Mc Sweeney <Richard.McSweeney@infineon.com>
2026-05-22 10:45:52 +02:00
Ren Chen
e6da91ce96 drivers: i3c: i3cs_it51xxx: add disable read abort mechanism support
This commit adds support for disabling the read abort mechanism.

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2026-05-22 10:43:15 +02:00
Ren Chen
584af80351 drivers: i3c: i3cs_it51xxx: return missing errno on ibi
The missing errno return in ibi path causes the function
to return 0 (success) when raising ibi times out.
This patch addresses this issue.

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2026-05-22 10:43:15 +02:00
Nick Ward
74ff7d3913 drivers: sensor: use shell_print for command output
shell_info is intended for informational side-notes, not for printing
command result data. Use shell_print instead, consistent with other
Zephyr driver shell implementations (rtc_shell, gpio_shell, i2c_shell,
eeprom_shell).

Signed-off-by: Nick Ward <nix.ward@gmail.com>
Assisted-by: Claude:claude-sonnet-4-6
2026-05-21 17:04:13 -04:00
Francois Ramu
91bce9f8e2 drivers: flash: stm32 ospi driver with TimeOut in MemoryMapped mode
When the TimeOut is enabled in MemoryMapped mode, the TO irq callback
has not to give any sem, because the read operation is done with
memcopy(). No sem was taken, nothing to release.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2026-05-21 17:03:40 -04:00
Michał Stasiak
514798d384 drivers: audio: dmic_pdm_nrfx: used defined gain symbols
Avoid using magic numbers for gain values,
use defined symbols instead.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2026-05-21 17:03:31 -04:00
Peter Allenspach
6fbe4ec6bf drivers: i2s: stm32 i2s configure DMA for 4 byte operation when needed
When using a 32-bit based I2S peripheral such as a PCM1809, the default
DMA configuration of 16 bit doesn't work; due to the incorrect length,
the I2S buffers are filled with only zeroes. Rather than hardcode 16 bit
length, check for word size and set the DMA configuration accordingly.

Signed-off-by: Peter Allenspach <uberrice@pm.me>
2026-05-21 17:02:15 -04:00
Bjarki Arge Andreasen
cf4859484d drivers: clock_control: nrf: patch lfclk_spinwait lost irq wakeup
The function lfclk_spinwait in the clock_control_nrf.c driver uses
k_cpu_atomic_idle() to idle until the CLOCK IRQ caused by the
LFCLKSTARTED event is triggered.

The implementation of the (check -> set -> idle) loop breaks if
unrelated clock events like XOSTARTED and XOTUNED occur concurrently,
since they trigger the the CLOCK IRQ as well. This can wake up the
CPU before LFCLKSTART event, which means NVIC_ClearPendingIRQ() is
not called before we enter idle again.

Solve the race condition between

  (critical section -> check -> set -> maybe clear pending -> idle)

by refactoring it to

  (critical section -> clear pending -> check -> set -> idle)

Which ensures the LFCLKSTARTED event is not lost if it occurs during
the (check -> set -> idle) flow.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2026-05-21 17:00:40 -04:00
Vladimir Zidar
cc1fa0dffe usb: usb_c: update ucpd_stm32 driver to allow building for stm32h5xx soc
Use LL_PWR_* APIs to handle UCPD_DBDIS flags in portable way.
Fix ucpd_params.psc_ucpdclk value.

Signed-off-by: Vladimir Zidar <vladimir.zidar@ars-es.com>
2026-05-21 17:00:13 -04:00
Kate Wang
566862d149 dma: mcux: edma: preserve burst length for peripheral-triggered transfers
When a DMA channel is routed through the channel mux (dma_slot != 0), each
minor loop is paced by the peripheral request signal. In this case, the
caller-chosen burst length must be preserved to ensure correct operation.

Previously, the driver would collapse the minor loop into the whole block
for all memory-to-memory transfers without source chaining, but this logic
should only apply to genuine software-triggered transfers. Peripheral-
triggered transfers (e.g., FlexIO LCDIF) expect one minor loop per shifter
round, and collapsing the loop breaks this requirement.

Add a check for dma_slot == 0 to ensure burst length collapsing only occurs
for software-triggered transfers, not peripheral-triggered ones.

Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
2026-05-21 15:13:51 +02:00
Thomas Fischer
554d07b01f drivers: flash driver: added support for W25Q128JV-IQ/IN flash
Added support for W25Q128JV-IQ/IN flash by adding vendor id specific LUT.
Fixes #107306

Signed-off-by: Thomas Fischer <thomas.fischer@jumo.net>
2026-05-21 15:11:19 +02:00
Sergei Ovchinnikov
76c4765a3b drivers: watchdog: nPM10 Series Watchdog driver
Nordic's nPM10 Series PMIC watchdog driver implementation and devicetree
bindings.

Signed-off-by: Sergei Ovchinnikov <sergei.ovchinnikov@nordicsemi.no>
2026-05-21 06:33:15 -04:00
Sergei Ovchinnikov
3135899ffb drivers: mfd: npm10xx: add timer support
Add timer support to the nPM10 Series MFD driver. This can be used as a
general purpose timer, wakeup timer for hibernation modes and as watchdog.

Signed-off-by: Sergei Ovchinnikov <sergei.ovchinnikov@nordicsemi.no>
2026-05-21 06:33:15 -04:00
Jordan Yates
5719853314 modem: at_user_pipe: drain pipe on claim
Drain any pending bytes on the pipe when `modem_at_user_pipe_claim` is
called, as these will either be unsolicited notifications or messages
from previous users of the pipe. Draining the pipe on claim prevents
this data appearing in unexpected places.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2026-05-21 06:32:30 -04:00
Jordan Yates
2f4c24b2a2 modem: at_user_pipe: timeout on modem_at_user_pipe_claim
Add a timeout parameter to `modem_at_user_pipe_claim` to enable blocking
for a duration on pipe availability.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2026-05-21 06:32:30 -04:00
Jordan Yates
71f5379643 modem: at_user_pipe: attach on claim
Update the AT user pipe API so that the initialisation does not require
the modem chat instance. This enables sharing the user pipe abstraction
between multiple users at runtime.

One consequence of this is that `modem_chat_attach` is deferred until
the user calls `modem_at_user_pipe_claim`.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2026-05-21 06:32:30 -04:00
Sunil Abraham
e9621a8008 drivers: dma: microchip: add g3 driver for PIC32CZ_CA family
Add DMA g3 driver support.

Signed-off-by: Sunil Abraham <Sunil.Abraham@microchip.com>
2026-05-21 06:32:09 -04:00
Fabrice DJIATSA
eb9c50c97e drivers: pwm: stm32: Missing LL_TIM_TRGO_UPDATE for WB0x series
LL_TIM_TRGO_UPDATE isn't yet implemented on STM32WB0x series.

Exclude WB0x series from using LL_TIM_TRGO_UPDATE.

This is addressed by testing HAS_MASTERMODE_SUPPORT that is disabled
for platforms not defining LL_TIM_TRGO_UPDATE.

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2026-05-21 06:31:31 -04:00
Khai Cao
9af3d78af9 drivers: crc: renesas: fix issue of CRC16 reflect is not accepted
The CRC16 reflect issue is not accepted by the Renesas RA driver,
even though it is supported by the HWIP.

Signed-off-by: Khai Cao <khai.cao.xk@renesas.com>
2026-05-21 06:30:42 -04:00
Sylvio Alves
26bcd68a40 drivers: esp32: use zephyr cache api for dma coherency
Replace direct esp_cache_msync() calls in the ESP32 GDMA and
SPI master drivers with the portable sys_cache_data_*() API.

Zephyr's API is a compile-time no-op when CACHE_MANAGEMENT is
disabled, so the same source compiles cleanly on every ESP32
SoC and stays cost-free where there is no writeback cache.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-05-20 19:22:10 -07:00
Sylvio Alves
b8af14f7b6 drivers: cache: add espressif esp32 data cache driver
Map the generic sys_cache_data_* API onto esp_cache_msync()
from hal_espressif. The driver is SoC-agnostic and activates on
any Espressif chip that selects CPU_HAS_DCACHE and enables
CACHE_MANAGEMENT, keeping PSRAM and DMA buffers coherent from
portable Zephyr code.

Instruction-cache and enable/disable entries are no-ops since
the bootloader brings the cache up before Zephyr runs.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-05-20 19:22:10 -07:00
Jun Lin
4251fa8e2e driver: espi: npcx: enable guaranteed VWire sent by default
Sets `ESPI_NPCX_VWIRE_ENABLE_SEND_CHECK` to defaut enabled.
This guarantees that VWires sent by the target are received by the
controller before the driver API returns.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2026-05-20 19:21:02 -07:00
Bernardo Perez Priego
28d45d88a4 drivers: i2c: mec: Increase PIN assertion timeout to 10 ms
The PIN_WAIT_INTERVAL_US timeout of 2000 microseconds is
insufficient for reliable hardware response. Increase it to
10000 microseconds to match the previous driver implementation
(i2c_mchp_xec.c) which used WAIT_INTERVAL * WAIT_COUNT for an
effective 10 ms timeout.

Signed-off-by: Bernardo Perez Priego <bernardo.perez.priego@intel.com>
2026-05-20 20:07:49 -04:00
Dhanoo Surasarang
55b417f2fc drivers: mspi: dw: Start async timeout timer before starting transfer
Fix a race condition in start_next_packet() where the async timeout
timer is armed after writing the SER register (which starts the
transfer). On platforms where the bus transfer completes faster than
the CPU can execute the subsequent instructions, the ISR fires and
calls k_timer_stop() on a timer that hasn't been started yet.

The orphan timer fires after the configured timeout. At that point
the transfer context is stale: packets_done may index past the
original packets array, leading to out-of-bounds access, USAGE FAULT
(unaligned access), or BUS FAULT (dereferencing freed stack pointers).

Fix by moving k_timer_start() before write_ser(). The timer is now
armed before the transfer can possibly complete. If the ISR fires
immediately, k_timer_stop() in handle_end_of_packet() safely cancels
the already-running timer. For sync transfers the timer is not armed,
preserving the existing behavior.

Signed-off-by: Dhanoo Surasarang <dhanoo.surasarang@nordicsemi.no>
2026-05-20 20:06:35 -04:00
Florian Moesch
0c1ac1ce8e drivers: led: add LP586x I2C LED driver
Add support for the Texas Instruments LP586x family of LED drivers.

Signed-off-by: Florian Moesch <florian.moesch@draeger.com>
2026-05-20 20:05:48 -04:00
Peter van der Perk
5a0ee3f0fb dma: mcux_edma: Fix SG for use with SPI
Adds support for no increment needed to support the LPSPI and other
peripherals with a FIFO buffer.
Furthermore we disable interrupts on each major loop on SG, instead
only do an interrupt on the final TCD.
Also a small optimization in dma_mcux_edma_reset_channel, where TCD
got zeroed twice.

Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
2026-05-20 20:04:45 -04:00
Peter van der Perk
b2b3274f05 spi: lpspi: rtio: FIFO tune and DMA support
Improve the LPSPI RTIO FIFO path by increasing the fifo
watermark if possible, this reduces IRQ load. Add DMA
support

Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
2026-05-20 20:04:45 -04:00
Richard Mc Sweeney
7120a9d72e drivers: Add pse84 PTComp
Added PTComp support to PSE84.

This implementation uses the shared autonomous controller (MFD)
with other autanalog drivers.

The PTComp is a programmable threshold comparator inside the
autonomous (aut) analog subsystem. It is controlled using the
autonomous controller (AC), which is a programmable state machine.
The AC is shared across all autonomous analog peripherals including
the SAR, PRB, PTComp, CTB, and CTDAC.

The PTComp block contains two comparators for edge detection and
with a capability for boolean post-processing. These two comparator
instances need to be configured together and accessed using the AC.
A PTComp MFD is used to bring together the two comparator
configurations. AC MFD then references the combined PTComp MFD
configuration, and brings together all other autanalog peripherals
into a single AC setup for the application.

Assisted-by: Claude:claude-opus-4.6
Signed-off-by: Richard Mc Sweeney <Richard.McSweeney@infineon.com>
2026-05-20 20:02:35 -04:00
Robert Budai
c6c84446c4 drivers: dac: add ad5529r driver
Add DAC driver for the Analog Devices AD5529R 16-channel, 16-bit
voltage output DAC. The driver supports multiple output voltage
ranges, SPI communication, and optional reset/LDAC/clear GPIOs.

Signed-off-by: Robert Budai <robert.budai@analog.com>
Co-authored-by: Radu Ciobanu <raduciobanu096@gmail.com>
2026-05-20 20:02:09 -04:00
Muhammad Waleed Badar
3dbbb8773d drivers: display: sdl: move SDL pixel format configuration to devicetree
Replace the SDL display driver's default pixel format Kconfig
selection with a devicetree property and initialize the display
using the DT-provided format.

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2026-05-20 20:01:00 -04:00
Laurentiu Mihalcea
f315bbaf6c firmware: scmi: clk: fix invalid command name
SCMI_CLK_MSG_CLOCK_GET_PERMISSIONS was renamed to CLOCK_GET_PERMISSIONS.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2026-05-20 16:45:13 +02:00
Sylvio Alves
330a8e19f1 drivers: wifi: esp32: use generic wifi_sta_auto_dhcpv4 option
Drop the Espressif-specific ESP32_WIFI_STA_AUTO_DHCPV4 Kconfig and
switch the driver to the generic WIFI_STA_AUTO_DHCPV4 option added
in the Wi-Fi L2 layer. The new option provides the same behavior
across all in-tree Wi-Fi drivers, allowing applications to control
automatic DHCPv4 start uniformly regardless of the underlying SoC.

A migration note is added so applications that previously disabled
the vendor option know to disable the generic one instead.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-05-20 14:13:17 +02:00
Chun-Chieh Li
6021eef82e drivers: clock_control: numaker: skip void clock module
Some peripherals e.g. some chips' GPIO ports may have their clocks
fixed to enabled and their clock module IDs are not defined. Skip these
modules when they are passed in.

Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
2026-05-20 14:13:12 +02:00
Jordan Yates
0588a5aed5 Revert "entropy: psa: Deprecate psa entropy driver"
The option was deprecated without a migration path or reasoning. The PSA
interface is the only source of entropy for some setups. For example
TF-M, as the crypto hardware is on the secure side. Deprecating the
symbol while it is still enabled by default from devicetree just leads
to compiler warnings and confusion.

This reverts commit 04b003a5b1.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2026-05-20 14:11:21 +02:00
Shan Pen
ee4b636d5c eth: phy: rtl8211f: make RGMII delay configurable
Follow the pattern used by other PHY drivers and expose the
RTL8211F RGMII clock delay mode in devicetree.

Some MAC drivers, such as Renesas RA RMAC, can provide part of
the RGMII delay themselves. Boards then need a way to avoid
enabling the same delay in the PHY.

Keep the fallback at RX and TX delay enabled, matching the old
driver behavior for existing users.

Signed-off-by: Shan Pen <bricle031@gmail.com>
2026-05-20 14:09:01 +02:00
Sylvio Alves
cd51d08a05 drivers: serial: lpuart_esp32: reset register after clock enable
The LP_UART parameter configuration enabled the bus clock and
selected the source clock without asserting the reset register
in between. After a soft reset the LP_UART hardware could keep
stale state from the previous boot, leading to garbled output
until a power cycle cleared the registers.

Insert the missing lp_uart_ll_reset_register() between the bus
clock enable and the source clock selection.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-05-20 14:08:52 +02:00
Sylvio Alves
7be342b190 drivers: mipi_dbi: esp32: enable lcd bus clock and reset
The driver only enabled the LCD core clock, so operation relied
on the LCD bus clock being left enabled by ROM or the
bootloader. If the bus clock is gated by a later peripheral
teardown the LCD registers become inaccessible.

Enable the LCD bus clock and assert the reset register before
initializing the HAL.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-05-20 14:08:52 +02:00
Sylvio Alves
89e33bff59 drivers: i2s: esp32: enable core clock at init
clock_control_on() only enables the bus clock and asserts the
reset. The matching core clock must be enabled separately on
chips with independent reset and clock control, otherwise the
register writes that configure the sampling clock can stall
the bus.

Add an explicit i2s_ll_enable_core_clock() call right after
clock_control_on().

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-05-20 14:08:52 +02:00
Sylvio Alves
881978f13f drivers: adc: esp32: fix dma init clock and reset sequence
The DMA path enabled the SARADC bus clock directly with
adc_ll_enable_bus_clock() and adc_ll_reset_register(), which
skips the function clock on chips where reset and clock control
are independent and also skips the temperature sensor register
preservation. On ESP32-C3 this left the SAR analog block in a
state where writing the digital controller timer enable bit
stalled the bus and hung the driver on the first DMA read.

Replace the manual sequence with adc_apb_periph_claim() and add
sar_periph_ctrl_adc_reset() at the start of every DMA read.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-05-20 14:08:52 +02:00
Sylvio Alves
0277fbcfa8 drivers: i2c: esp32: use the renamed hw fsm reset macro
The driver guarded the manual FSM recovery path with
SOC_I2C_SUPPORT_HW_FSM_RST, which no longer exists. The actual
HAL macro is I2C_LL_SUPPORT_HW_FSM_RST, so the guard always
evaluated false and the hardware FSM reset shortcut was never
taken on chips that support it.

Switch the guard to the new name.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-05-20 14:08:52 +02:00
Sylvio Alves
a2cedb9fc2 drivers: dma: esp32: derive shared irq config from devicetree
The GDMA_LL_AHB_TX_RX_SHARE_INTERRUPT macro used to gate the
shared rx/tx interrupt handler is no longer defined in the HAL,
so the guard always evaluates false and breaks the IRQ wiring
on ESP32-C2 and ESP32-C3.

Replace it with a check derived from devicetree that compares
the declared interrupt count against the channel pair count.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-05-20 14:08:52 +02:00
Sylvio Alves
f0cf229864 drivers: counter: esp32_tmr: fix absolute alarm late detection
The previous late-detection logic for absolute alarms built the
target as (now & ~0xFFFFFFFFULL) | ticks and pushed it into the
next 32-bit window when the value was behind the counter. This
treated a target of ticks=0 after the counter had advanced as a
far-future alarm rather than a late one, so -ETIME was returned
only in the small window where now itself was below
guard_period.

Use a modular comparison instead: compute the forward distance
to the target modulo top + 1 and flag the alarm as late when
that distance exceeds top - guard_period. The hardware alarm
register is still programmed with the actual future target.

Also reset the counter to zero on counter_stop so the
capability probe in late_detection_capable does not leave the
counter past the guard window for the next test.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-05-20 14:08:28 +02:00
Tim Pambor
a9afaa246e drivers: ptp_clock: Add native_sim PTP clock driver
Add a new PTP clock driver for the native_sim board, allowing
it to simulate a PTP clock for testing and development purposes.

This replaces the previous implementation of the PTP clock
functionality that was integrated into the eth_native_tap ethernet
driver.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-05-20 14:08:19 +02:00
Laurentiu Mihalcea
1ec33542e7 firmware: scmi: make protocol command IDs private
SCMI stack users don't need access to the SCMI command IDs. Thus, they
can be made private to the protocol module making use of them.

Since the command IDs are private now, their corresponding macro names can
be aligned with those found in the SCMI spec.

Furthermore, remove definitions for the commands that are common to all
protocols:

	* PROTOCOL_VERSION (0x0)
	* PROTOCOL_ATTRIBUTES (0x1)
	* PROTOCOL_MESSAGE_ATTRIBUTES (0x2)
	* NEGOTIATE_PROTOCOL_VERSION (0x10)

since Zephyr already implements these in common.c.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2026-05-20 14:08:05 +02:00
Laurentiu Mihalcea
1163e2ee6a firmware: scmi: base: remove common command ID definitions
These commands are already implemented in common.c so there's no need for
each protocol to define or implement these commands.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2026-05-20 14:08:05 +02:00
Guillaume Legoupil
a63034734e drivers: ieee802154: mcxw_get_eui64() get IEEE802154 address using NVMEM
The IEEE 802.15.4 address is moved from flash hw_params_partition
to internal IFR0.
Abstraction layer is done by using CONFIG_NVMEM.

Signed-off-by: Guillaume Legoupil <guillaume.legoupil@nxp.com>
2026-05-20 14:07:54 +02:00
Carlo Caione
dbb2ddddca lora: native: sx126x: add blocking lora_recv_duty_cycle
Add a synchronous counterpart to lora_recv_duty_cycle_async that
blocks until a packet is received or the timeout expires, then
stops the duty cycle and returns the data. This mirrors the
lora_recv / lora_recv_async pairing.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2026-05-20 14:07:35 +02:00