Commit graph

24538 commits

Author SHA1 Message Date
Qiang Zhang
0887ccd660 clock: Add KPP clock support for ccm.
Add KPP clock support for ccm.

Signed-off-by: Qiang Zhang <qiang.zhang_6@nxp.com>
2025-08-27 09:47:10 +02:00
Khoa Nguyen
a02be914ca drivers: gpio: Add select PINCTRL for renesas_ra_ioport
Add select PINCTRL for renesas_ra_ioport

Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2025-08-27 05:15:28 +02:00
Sylvio Alves
2802a9a6f3 drivers: flash: esp32: handle zero-length reads as no-op
Add a guard clause in flash_esp32_read() to return 0 when the
requested length is zero. This avoids unnecessary operations
and aligns with expected flash API behavior, where reading
zero bytes is treated as a no-op.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-08-27 05:15:19 +02:00
Terry Geng
d7d5aeb800 drivers: spi: spi_pico_pio: Prevent dma_config check if DMA is not enabled
At this moment, DMA for SPI 3-wire half-duplex operation is not supported
by the pio driver. A check was implemented there to prevent user from
enabling DMA, but wasn't bypassed when CONFIG_SPI_RPI_PICO_PIO_DMA is
not enabled at all, under which the `dma_config` structure isn't defined
at all.

Fixed #94897.

Signed-off-by: Terry Geng <terry@terriex.com>
2025-08-27 05:15:09 +02:00
Michal Simek
7944467170 drivers: ethernet: xilinx: remove unused data variable
Clean up unused variable 'data' in eth_xilinx_axienet.c.

Signed-off-by: Michal Simek <michal.simek@amd.com>
2025-08-26 22:08:23 +02:00
Raffael Rostagno
382ce7cbd3 drivers: mcpwm: esp32: Fix duty rounding
Duty value in the driver is calculated from timer cycles, which
can introduce precision loss when converting from pwm_set() to
pwm_set_cycles(). To avoid truncating values with a fractional
part ≥ 0.5 and further drifting the effective duty, round the
computed duty to the nearest integer.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-08-26 22:08:11 +02:00
Philémon Jaermann
efacee0145 drivers: gnss: Correctly set the 1 bit bitfield is_tracked/corrected
Currently, if a SV is tracked, we try to store:
flags & BIT(3) -> 0b1000 -> least significant bit 0 is stored.
Same is valid for the is_corrected field.

Use double negation to treat any non-zero value as true.

Signed-off-by: Philémon Jaermann <p.jaermann@gmail.com>
2025-08-26 22:07:43 +02:00
Raffael Rostagno
c5770e1b14 drivers: hwinfo: esp32h2: Add support
Add hwinfo support for ESP32-H2.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-08-26 22:07:36 +02:00
Raffael Rostagno
1bd2734991 drivers: wdt: esp32h2: Add support
Add WDT support for ESP32-H2.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-08-26 22:07:36 +02:00
Raffael Rostagno
36c528316d drivers: systimer: esp32h2: Add support
Add systimer support for ESP32-H2.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-08-26 22:07:36 +02:00
Raffael Rostagno
d1ecc51dcd drivers: uart: esp32h2: Add support
Add UART support for ESP32-H2.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-08-26 22:07:36 +02:00
Raffael Rostagno
270307f61d drivers: gpio: esp32h2: Add support
Add gpio support for ESP32-H2.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-08-26 22:07:36 +02:00
Raffael Rostagno
9d257c362f drivers: pinctrl: esp32h2: Add support
Add pinctrl support for ESP32-H2.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-08-26 22:07:36 +02:00
Raffael Rostagno
6293140ff6 drivers: clock_control: esp32h2: Add support
Add clock control support for ESP32-H2.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-08-26 22:07:36 +02:00
Aksel Skauge Mellbye
33da9bfd92 drivers: spi: silabs: Add missing iodev_submit implementation
Series 2 EUSART and SiWx91x GSPI drivers were missing the
`iodev_submit` member from their API structs, leading to
null pointer dereference if CONFIG_SPI_RTIO was used.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-08-26 16:04:32 +02:00
Etienne Carriere
5ff3dbeeee drivers: i2c: stm32: exclude stm32f7 family for PM in RTIO driver
Exclude STM32F7 SoC series from PM support since that SoC doees not
yet manage power management in Zephyr and HAL API functions
LL_I2C_EnableWakeUpFromStop() and LL_I2C_DisableWakeUpFromStop()
are not implemented in the H7 HAL/LL drivers.

This change ports into the STM32 RTIO driver the change made in the
non-RTIO driver through commit 1804eb7bc3 ("drivers: i2c: stm32:
exclude stm32f7 family for PM").

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-08-26 11:34:55 +02:00
Etienne Carriere
e29ebbe13c drivers: i2c: stm32: drop few redundant guards in RTIO driver
Drop few CONFIG_PM_DEVICE_RUNTIME guards, the pm_device_runtime
functions they are masking are no-op automatically when the
corresponding config option is not selected.

This change is related to the change made in the STM32 non-RTIO driver
trough commit 4f3523d9af ("i2c: stm32: drop few redundant guards").

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-08-26 11:34:55 +02:00
Etienne Carriere
181e544550 drivers: i2c: stm32: sync stm32_v2 RTIO on PM runtime state
Always call pm_device_runtime_get() when registering a target
even if the device is not wakeup capable to prevent I2C target not being
function if the device goes into a SoC Stop mode.

This change ports into the STM32 v2 RTIO driver the change made in the
non-RTIO driver through commit 67f80e35b8 ("i2c: stm32: always call
runtime_get when registering targets").

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-08-26 11:34:55 +02:00
Ajay Parida
092347cdb1 driver: nrf_wifi: TWT setup duration
Build time configuration option to set TWT setup duration.
If AP does not respond to TWT setup request for this period,
STA will timeout and report setup failure.

Signed-off-by: Ajay Parida <ajay.parida@nordicsemi.no>
2025-08-26 11:34:45 +02:00
Arunmani Alagarsamy
06158853c3 drivers: wifi: siwx91x: Add support for regulatory domain GET
Added support for retrieving the regulatory domain information from
the siwx91x driver. Since the SDK does not provide a GET API for
region details, the driver now stores the country code and reuse
the configuration `sli_si91x_set_region_ap_request_t` to get the
channel information. This stored data is returned when a GET
operation is requested.

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-08-26 09:38:05 +02:00
Arunmani Alagarsamy
eac7784574 soc: silabs: siwg917: Relocate country code mapping function
Moved the `siwx91x_map_country_code_to_region()` function
from the Wi-Fi driver source file to nwp.c.

This change prepares the codebase for upcoming enhancements
related to the regulatory domain GET operation.

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-08-26 09:38:05 +02:00
Arunmani Alagarsamy
72a3f7e4c9 drivers: wifi: siwx91x: Add support for setting regulatory domain
Add support for configuring the regulatory domain (region code) to
ensure the device operates in compliance with local RF regulations.

The region must be set before the Wi-Fi interface becomes active
i.e., before scan or connection in STA mode, or before starting in
AP mode.

Since the SDK does not support setting the country code directly,
the driver maps country codes to region codes

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-08-26 09:38:05 +02:00
Daniel DeGrasse
dcb472926c include: zephyr: move disks directory to disk
Move disks directory to disk to match with the naming of the driver
class. This only affects the recently introduced header for STM32 disk
drivers so it should be very low impact.

Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
2025-08-26 04:07:27 +02:00
Erwan Gouriou
b49fa46d9d drivers: flash: stm32 o/xspi: Implement get_size()
This api was missing from these driver. Add it.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2025-08-25 17:50:11 +02:00
Erwan Gouriou
c74aaabaf6 drivers: flash: stm32 xspi: Flash has explicit erase
Select FLASH_HAS_EXPLICIT_ERASE for STM32 XSPI driver.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2025-08-25 17:50:11 +02:00
Fin Maaß
57c4a5572a drivers: ethernet: remove select MDIO
remove `select MDIO` from the
ethernet drivers, that don't directly use mdio
and only use the ethernet phy api, now that the
phys select MDIO

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-08-25 15:32:38 +02:00
Fin Maaß
e053f1aad5 drivers: ethernet: phy: select GPIO
devices on a bus are recomended to
select its needed drivers, apply this to the eth phys
that need gpios, so that they just work by
enableing the device in the dts.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-08-25 15:32:38 +02:00
Fin Maaß
f5bbdaf8e7 drivers: ethernet: phy: select MDIO
devices on a bus are recomended to
select its protocol, apply this to the eth phys
on the mdio bus, so that they just work by
enableing the device in the dts.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-08-25 15:32:38 +02:00
Sven Ginka
ddc4f5f0be drivers: ethernet: sy1xx: fix random mac
before that commit, random mac was used even when defining
zephyr,random-mac-address to false.

Signed-off-by: Sven Ginka <s.ginka@sensry.de>
2025-08-25 13:32:03 +02:00
Sven Ginka
a79e986e03 drivers: ethernet: sy1xx: fix warning
casting the address to uint32_t removes the compiler warning.

Signed-off-by: Sven Ginka <s.ginka@sensry.de>
2025-08-25 13:32:03 +02:00
Sven Ginka
63299bb68b drivers: ethernet: sy1xx: fix static prototype
removed invalid arguments.

Signed-off-by: Sven Ginka <s.ginka@sensry.de>
2025-08-25 13:32:03 +02:00
Utsav Munendra
030b9f3597 drivers: mspi: mspi_dw: Fix compilation with CONFIG_MSPI_XIP disabled
Move `api_timing_config()` impl outside of the block gated behind
CONFIG_MSPI_XIP.

Signed-off-by: Utsav Munendra <utsavm@meta.com>
2025-08-25 09:12:45 +02:00
Mahesh Mahadevan
9cb38ecf58 drivers: mcux_os_timer: Fix build failure
z_nxp_os_timer_ignore_timer_wakeup() was only added
when Standby mode was enabled. Move this function
out of the conditional section.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-08-24 00:07:55 -04:00
Luis Ubieda
5945a3fcd1 ethernet: nxp: Scrub tx_header
As it's not being used anywhere in the driver. Moreover, the extra
unref would trigger a double-free assert (#94311); which is what
motivated this cleanup.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-08-23 05:11:35 +02:00
Pete Johanson
9e7313d982 drivers: memc: MAX32 memc linker support improvements
In order to allow the linker to place certain objects into external RAM,
e.g. heaps, adjust the memc initialization level to PRE_KERNEL_1, allowing
clock control and memc to come up before priority objects like heaps are
initialized.

Signed-off-by: Pete Johanson <pete.johanson@analog.com>
2025-08-23 05:11:25 +02:00
Sylvio Alves
7305e109fb bluetooth: esp32: make LE discardability length-safe
Determine event discardability after parsing the HCI header and require
at least one byte before reading the LE subevent. This removes a possible
OOB read on malformed/short LE Meta events. Also mark LE Extended
Advertising Report as discardable, matching legacy Advertising Report to
reduce RX pool pressure during heavy scanning.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-08-23 05:11:05 +02:00
Sylvio Alves
089df60140 bluetooth: esp32: fix VHCI semaphore misuse in HCI send path
The TX flow control semaphore was initialized with a count of 1 and
released again after every bt_esp32_send() call. This broke the VHCI
flow control contract and could allow sending more packets than the
controller advertised.

This prevents host/controller overruns and ensures proper synchronization
with the ESP32 VHCI interface.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-08-23 05:11:05 +02:00
Kamil Krzyżanowski
db15de5274 drivers: serial: stm32: fix race condition when both APIs enabled
Fix a bug where if CONFIG_UART_ASYNC_API was enabled in the config, the
interrupt flags would get cleared after the interrupt driven API callback
finished executing, causing data loss if data happened to arrive after the
callback but before the flags were cleared.

Signed-off-by: Kamil Krzyżanowski <kamnxt@kamnxt.com>
2025-08-22 16:51:17 +02:00
Mario Paja
d9aacfa037 drivers: i2s: add sai support for stm32n6xx
This commit adds specific DMA configuration for STM32N6xx.
STM32N6xx uses GPDMA for SAI as STM32U5xx/U3xx/H5xx/H7RS etc.
In constrast to these series, STM32N6xx DMA requires a secure
and privileged channel.

Signed-off-by: Mario Paja <mariopaja@hotmail.com>
2025-08-22 12:56:57 +02:00
Jakub Zymelka
20cb820648 drivers: adc: nrfx_saadc: Fix for negative samples correction
Increment pointer only when channel was selected.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2025-08-22 12:37:06 +02:00
Anthony Williams
7293068571 drivers: flash: nrf_qspi_nor: Implement fix for NRF5340 Errata 159
Add a workaround for `NRF53_ERRATA_159_ENABLE_WORKAROUND`
instead of simply printing an error and failing the transaction.

Signed-off-by: Anthony Williams <anthony289478@gmail.com>
2025-08-22 12:36:27 +02:00
Tanguy Raufflet
9532ee7803 drivers: clock_stm32_ll_mp2: add spi clock
Add SPI clocks rate reading to the STM32MP2 clock driver.

Signed-off-by: Tanguy Raufflet <tanguy.raufflet@savoirfairelinux.com>
2025-08-22 12:35:56 +02:00
Krzysztof Chruściński
5e838284ab drivers: serial: nrfx_uarte: Add support for device deinit
Add device deinit function. Support is optional as it is not widely
used and it enables pinctrl sleep state so it impacts memory footprint.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-08-22 12:35:42 +02:00
Krzysztof Chruściński
4b374ec7f5 drivers: pinctrl: Allow keeping pinctrl sleep state
When PM or PM_DEVICE is enabled pinctrl sleep state is using for
device suspension. However, there are cases where power management is
not used but we still want to be able to put pins to sleep state, e.g.
device deinit.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-08-22 12:35:42 +02:00
Jake Greaves
7ae90a6ae4 drivers: clock_control: STM32U5XX wake up clocks
Disable wake-up source clocks for STM32U5XX if not enabled by DTS.

Signed-off-by: Jake Greaves <jake.greaves@analog.com>
2025-08-22 12:35:25 +02:00
Mario Paja
c70aaee863 drivers: i2s: stm32_sai fix drain and stop of tx stream
Fix two issues with the SAI TX Stream.

1. Drain command does not release the last memory buffer
2. TX Stream status does not change to READY after STOPPING

Signed-off-by: Mario Paja <mariopaja@hotmail.com>
2025-08-22 09:45:51 +02:00
CHEN Xing
ed5b9cffd2 drivers: counter: sam_tc: Big fix for alarm 1
Issue: the alarm 1 do not generate interrupt
There are three compare registers in a SAM TC channel:
RA --> alarm 0
RB --> alarm 1
RC --> top_value
By default the RB/TOIB was configured as an input and no longer
generates interrupt.
Set the direction of TIOB to output for alarm 1 interrupt.

Fixes zephyrproject-rtos/zephyr#85018

Signed-off-by: CHEN Xing <xing.chen@microchip.com>
2025-08-22 09:45:41 +02:00
Yves Wang
201f70bfa9 drivers: watchdog: Make clock divider optional
Some SoCs did not provide ewm clock divider

Signed-off-by: Yves Wang <zhengjia.wang@nxp.com>
2025-08-22 09:45:18 +02:00
Neil Chen
183542baff driver: gpio: update gpio_mcux.c driver
GPIO interrupts do not work on MCXA, MCXA has ICR register but feature
FSL_FEATURE_GPIO_HAS_INTERRUPT_CHANNEL_SELECT value is 0, can't only use
this feature to support ICR. So adjust feature judgment.

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-08-22 06:53:12 +02:00
Declan Snyder
40edefb4cf drivers: mcux_os_timer: Optimize counter timeout set
We can both optimize and clean up the code by using short circuit logic
and static variables instead of stack variables.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-08-22 06:52:42 +02:00