Commit graph

24538 commits

Author SHA1 Message Date
Dominik Chat
93d15996e9 drivers: bluetooth: hci: Add retries for IPC interface
Add HCI IPC retry handling in case of full IPC
queue. This mechanism improves reliability.

The ipc_service_send can return -ENOMEM in case
of full queue. If this happens the retries are
executed in order to wait for queue to empty
and not drop messages.
If the retry mechanism reaches maximum then
the error code is passed back to the host.

The change should improve the handling of
passing messages to full ipc and reduce
dropping of packets.

Signed-off-by: Dominik Chat <dominik.chat@nordicsemi.no>
2025-03-07 19:49:15 +01:00
Mahesh Mahadevan
268af3817d drivers: nxp_usb: usb_dc_mcux error condition updated
This driver is no longer maintained. So remove the
error condition to have a build error for undefined
platforms.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-03-07 19:48:38 +01:00
Ram Mahesh
72c0bea73c drivers: ethernet: stm32: Execute get_phy() only if mdio is supported
Add condition to execute get_phy() api if only mdio is supported.

Signed-off-by: Ram Mahesh <rammaheshram1234@gmail.com>
2025-03-07 19:48:28 +01:00
Ram Mahesh
0691f761f8 drivers: ethernet: stm32: add get_phy() support
implementation of get_phy() added.

Signed-off-by: Ram Mahesh <rammaheshram1234@gmail.com>
2025-03-07 19:48:28 +01:00
Emilio Benavente
5e35836922 boards: nxp: mcxw7x: Add FXLS8964 Sensor Support
Added FXLS8964 Accel Sensor Support for the
mcxw71 and mcxw72 devices.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2025-03-07 19:48:18 +01:00
Margherita Milani
c7b65cb4e0 apds9253: Add measurement rate set attribute
Allow to set attribute of the measurement rate of the apds9253. This
must be done setting the sampling frequency (in Hz).

Signed-off-by: Margherita Milani <margherita.milani@amarulasolutions.com>
2025-03-07 19:47:51 +01:00
Michael Trimarchi
4e296ab7c9 apds9253: Add gain set attribute
Allow to set attribute of the gain of the apds9253. The gain
is applied to all the channels.

Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Margherita <margherita.milani@amarulasolutions.com>
2025-03-07 19:47:51 +01:00
TOKITA Hiroshi
905b18f3d7 drivers: clock_control: Calling tick_start directly to start wdt
`watchdog_start_tick` is a just wrapper for `tick_start`.
To simplify, changing it to call directly.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-03-07 19:47:41 +01:00
Francois Laplante
f8d4f80f83 drivers: spi: silabs: eusart: Add pm support
Add device policy and runtime power management support in
silabs spi eusart driver.

Signed-off-by: Francois Laplante <frlaplan@silabs.com>
2025-03-07 19:47:21 +01:00
Francois Laplante
8dad73bf47 drivers: spi: silabs: eusart: Asynchronous support
Add support for asynchronous transfer in silabs eusart spi driver.

Signed-off-by: Francois Laplante <frlaplan@silabs.com>
2025-03-07 19:47:21 +01:00
Julien Panis
fa8d5177c1 drivers: crypto: Add support for cc23x0 AES
Add support for AES module to cc23x0 SoC. The driver supports the
following modes:
- ECB encryption only (since decryption is not supported by the HW)
- CTR
- CCM

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
Signed-off-by: Julien Panis <jpanis@baylibre.com>
2025-03-07 19:47:11 +01:00
Mathieu Choplain
5ef21f3af2 drivers: timer: cortex_m_systick: support SysTick reset in low-power mode
Modify the Cortex-M SysTick driver to work when the SoC resets SysTick
in low-power mode. This adds an invisible Kconfig symbol that must be
selected by SoCs with such behavior.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2025-03-07 19:46:34 +01:00
Mathieu Choplain
006d6e5cb7 drivers: timer: cortex_m_systick: add hook-based LPM timer support
Add support for a hook-based low-power mode timer to the Cortex-M SysTick
driver, in addition to the existing Counter API-based timer. This is useful
on platforms such as the STM32WB0 where the wake-up timer is too limited
for a Counter API driver to be implemented on top of it.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2025-03-07 19:46:34 +01:00
Mathieu Choplain
677e6275fa drivers: timer: cortex_m_systick: make idle timer a Kconfig choice
The Cortex-M SysTick supported collaboration with a so-called "IDLE timer"
to work even in low-power modes, when the SoC may disable its clock.

Rename "IDLE timer" to "low-power mode timer" to better reflect what this
timer is used for, and transform the single option into a Kconfig choice
to allow other behaviors to be implemented and chosen.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2025-03-07 19:46:34 +01:00
Swift Tian
681bc1aa82 modules: hal_ambiq: fix cmake warning when no BLE
Added CONFIG_AMBIQ_COMPONENT_USE_BT and CONFIG_SOC_AMBIQ_BT_SUPPORTED
to fix empty zephyr_library() warning when BLE is not needed for compile.
Added CMake message if BT related Ambiq specific Kconfig is overriden for
not supported SoC.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2025-03-07 19:45:40 +01:00
Phuc Pham
857fa96cf4 drivers: mbox: Initial support for RZ/G3S
Add MBOX driver support for Renesas RZ/G3S

Signed-off-by: Phuc Pham <phuc.pham.xr@bp.renesas.com>
Signed-off-by: Binh Nguyen <binh.nguyen.xw@renesas.com>
2025-03-07 19:45:30 +01:00
Hoang Nguyen
1d7faca97e drivers: i2c: Initial support for RZ/G3S
Add I2C driver support for Renesas RZ/G3S

Signed-off-by: Hoang Nguyen <hoang.nguyen.jx@bp.renesas.com>
Signed-off-by: Binh Nguyen <binh.nguyen.xw@renesas.com>
2025-03-07 19:45:11 +01:00
Florian Weber
91af849cfb drivers: sensor: ak09918c use RTIO
make usage of the RTIO in the ak09918c driver

Signed-off-by: Florian Weber <Florian.Weber@live.de>
2025-03-07 19:43:22 +01:00
Florian Weber
4e9bd00dfb drivers: i2c: rtio
extend i2c library to create rtio sqes for reading and writing bytes

Signed-off-by: Florian Weber <Florian.Weber@live.de>
2025-03-07 19:43:22 +01:00
Lothar Felten
1c50c3a12b drivers: regulator: add support for AXP2101 power management IC
Add initial support for the AXP2101 power management IC from X-powers.
Remark: only DC/DC1 and ALDO have been tested on real hardware.

Co-authored-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Co-authored-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>

Signed-off-by: Lothar Felten <lothar.felten@gmail.com>
2025-03-07 19:43:05 +01:00
Andrzej Głąbek
2e8c79f2ef drivers: pinctrl_nrf: Add support for EXMIF pins
This is a follow-up to commit 45d827a51a.

Although routing for those pins is configured via UICR, pinctrl still
needs to be involved so that it is possible to set desired drive mode
for them etc.
Add also the missing RWDS pin.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-03-07 19:42:46 +01:00
Andrzej Głąbek
29f3061f32 drivers: flash: Add generic NOR flash driver for MSPI devices
Add a flash driver intended to handle various flash devices
connected over MSPI bus as long as they support JEDEC SFDP.
This is an initial commit providing only basic operations
in Octal I/O mode with some hard-coded values for Macronix
MX25Ux series chips.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-03-07 19:42:46 +01:00
Andrzej Głąbek
b31eeb6c6e drivers: mspi: Add driver for DesignWare SSI based controllers
Add a generic driver for MSPI controllers based on the DesignWare
SSI core. With small vendor-specific adaptations covering integration
details, it should be possible to use the driver for various devices.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-03-07 19:42:46 +01:00
TOKITA Hiroshi
e56260544f drivers: serial: pl011: Add fifo disable configuration
Add a setting to the devicetree for disabling the PL011 FIFO.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-03-07 19:42:26 +01:00
Ravi Dondaputi
aa0cb68c6f drivers: wifi: Create dedicated mem pool for Wi-Fi driver
Create dedicated memory pools for Wi-Fi management and
data operations (defaults: 20KB for management and 130KB for data).
Setting Data pool to 110KB for non-Nordic SOCs to resolve
RAM overflows seen in twister runs.

Remove the `HEAP_MEM_POOL_ADD_SIZE_NRF70` hint since we are
creating separate heaps for driver and not allocating from
system heap.

Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
2025-03-07 19:42:10 +01:00
Fabio Baltieri
91cf42c657 drivers: flash: spi_nor: fix few printf format warnings again
Looks like 9d5ebb3cbc introduced a new warning when building with
runtime sfdp on 32 bit platforms. Fix it for good by just casting the
operation to int and go back to use %u.

Tested with:

west build -p -b gd32f450z_eval samples/drivers/flash_shell \
	-DCONFIG_SPI_NOR_SFDP_RUNTIME=y
west build -p -b mpfs_icicle/polarfire/u54 samples/drivers/flash_shell

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-03-06 09:05:18 +00:00
Ofir Shemesh
7fc9c26fb0 drivers: spi_nxp_lpspi: Fix slave select and add pcsActiveHighOrLow
1. Set correct slave chip select instead of hardcoding to pcs 0.
2. Add pcsActiveHighOrLow configuration for handling active-high/low CS.

Signed-off-by: Ofir Shemesh <ofirshemesh777@gmail.com>
2025-03-06 08:35:36 +00:00
Sylvio Alves
183b74c558 driver: wifi: esp32: fix send event when not connected
Make sure send event returns error when device is not connected
into STA or have AP mode in place.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-03-06 08:35:29 +00:00
Sylvio Alves
f22de9733b soc: esp32: riscv: fix interrupt allocator
Current interrupt allocator is not taking into account
reserved areas. In case of esp32c6, Wi-Fi isn't properly
configured, causing instability or even non-functional feature.
This adds the reserved area ranges for all risc-v based SoC and
unify the slot finding based on interrupt source.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-03-06 08:35:29 +00:00
Fabian Barraez
746ea32edc drivers: sensor: bosch: bme680: fix: possible overflowed value return value
- Check if value exceeds limits of the variable

Signed-off-by: Fabian Barraez <fabianbarraez@gmail.com>
2025-03-05 09:58:35 +00:00
Jordan Yates
a0d22be980 sensor: adxl345: add missing Kconfig dependency
Add a missed dependency to all sub-symbols of `ADXL345`.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-03-04 21:56:05 +01:00
Maochen Wang
e242c08aef drivers: wifi: nxp: fix the wrong security type print of WPA2
For embedded supplicant case, when connects to WPA2 AP, driver will set
the key_mgmt to 'WLAN_KEY_MGMT_PSK | WLAN_KEY_MGMT_PSK_SHA256', as mfp
is default WIFI_MFP_OPTIONAL. Therefore, when using 'wifi status' to
get the security type, when the key_mgmt is 'WLAN_KEY_MGMT_PSK |
WLAN_KEY_MGMT_PSK_SHA256', the security type should be
'WIFI_SECURITY_TYPE_PSK'.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2025-03-04 17:26:29 +01:00
rahul gurram
ae857a1585 driver: wifi: siwx917: Fix the return case gracefully
Freeing the buf when sl_wifi_send_raw_data_frame() api returns
the error instead of success

Signed-off-by: rahul gurram <rahul.gurram@silabs.com>
2025-03-04 12:19:01 +00:00
Martin Hoff
5efaf9d8c1 drivers: dma: silabs: fix warning when compiling without assert
Fix warning compilation when CONFIG_ASSERT is set to no.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-02-28 18:30:19 +01:00
Fabio Baltieri
9d5ebb3cbc drivers: flash: spi_nor: fix few printf format warnings
Fix few printf format warnings when building for
mpfs_icicle/polarfire/e51. PRIdPTR for the pointer difference, %zu for
size_t.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-02-28 18:29:26 +01:00
Khoa Nguyen
c768144002 drivers: Correct value of event macro for all Renesas SoC
Since the RA2L1 uses the macro "ICU_EVENT" instead of
"ELC_EVENT" (which is currently used) to input into
the IELSR register, the ek_ra2l1 board cannot assign
any interrupts for any driver.

This commit aim to correct the Event macro to input correct
value for IELSR register on all the Renesas SoC by using
"BSP_PRV_IELS_ENUM" macro.

Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2025-02-28 18:29:17 +01:00
Jan Kowalewski
a9c59d6c85 drivers: timer: sam0: fix MCLK pointer and mask in init function
Init function uses undefined cfg variable causing compilation error.

Signed-off-by: Jan Kowalewski <jkowalewski@cthings.co>
2025-02-28 14:54:59 +01:00
Jeppe Odgaard
3a8dddcdad drivers: adc: stm32: use __maybe_unused
Replace conditional `ARG_UNUSED` with `__maybe_unused`. This is recommended
by coding style:
https://kernel.org/doc/html/latest/process/coding-style.html#conditional-compilation

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2025-02-28 14:53:17 +01:00
Måns Ansgariusson
467e15ddd3 drivers: rtc: rx8130ce: day alarm fix
The day alarm was not being set correctly. The day alarm should be set
using the WADA bit in the control register. This patch fixes the issue
by setting the WADA bit in the control register when setting the day alarm.

Signed-off-by: Måns Ansgariusson <Mansgariusson@gmail.com>
2025-02-28 14:51:43 +01:00
Emil Gydesen
210adaf399 drivers: Bluetooth: ipc: Add additional logging info
Add logging of the values that cause LOG_ERR statements.
This makes it easier to debug any issues that occur.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-02-28 08:01:46 +01:00
Declan Snyder
1ca895dc0e spi_nxp_lpspi: Reintroduce fast path no configure
Reintroduce the fast path that skips reconfiguring if we use the same
configuration, this fixes regression that causes a lot of latency at the
start of repeated transfers. Unfortuantely need to find alternative
workaround for S32K3 in order to do this instead of module reset, so
disable skipping for that platform.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-02-27 23:18:46 +00:00
Declan Snyder
09e31d6b42 spi_nxp_lpspi: Fix faulting register access
On some platforms, the module is not getting clocked until call to
LPSPI_MasterInit, this will be fixed soon with upcoming update to native
driver and will clock the module in driver init instead of start of
transfer, but for now, move this code within the condition check that
already exists for this purpose.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-02-27 23:18:46 +00:00
Johann Fischer
a05fd62119 drivers: usb: do not enabled nRF USBREG interrupt
The drivers still use the USBREG HAL driver which enables/disables the
interrupt by itself.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2025-02-27 23:18:39 +00:00
Declan Snyder
d46c382950 drivers: ethernet: Remove deprecated eth_mcux
This driver was deprecated and must be removed by Zephyr version
4.1 according to lifecycle/release guidelines.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-02-26 22:04:26 +00:00
Declan Snyder
2ba6ba8494 drivers: nxp_enet: Re-add EXT RMII CLK config
This config was missed when converting from eth_mcux to nxp_enet driver,
re-add it and use new one instead of old one.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-02-26 22:04:26 +00:00
Jun Lin
dee7927a21 drivers: flash: npcx: add k_usleep when polling busy status
Adding k_usleep while polling the flash's busy status yields the CPU
resource, giving lower-priority threads the opportunity to run.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2025-02-26 07:40:37 +01:00
Fabian Barraez
3295f7c5e2 drivers: sensor: si7060: fix: insecure data handling caught by coverity
- Checking each retval from read register before continue

Signed-off-by: Fabian Barraez <fabianbarraez@gmail.com>
2025-02-26 07:40:00 +01:00
Declan Snyder
0b843be90d drivers: spi_context: Add comments for context
Personally I found this file hard to understand at first,
but since now it is clear to me, I decided to put these comments
with my understanding to help anyone else who needs to use these.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-02-26 01:39:54 +01:00
Mahesh Mahadevan
cccd9619f4 drivers: nxp_flexio_spi: Fix transfer failures
This fixes failures seen with the SPI loopback test.
The fix waits for the TX and RX side to be complete
i.e when RX SHIFTBUF has been loaded from the RX Shifter
and the TX SHIFTBUF has transferred to the TX Shifter.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-02-26 01:39:25 +01:00
Johann Fischer
05fb46cb91 drivers: udc_stm32: handle ZLP flag for control transfers as well
I mistakenly assumed in the commit 6aaad0a5cd
("drivers: udc_stm32: handle ZLP flag") that the HAL driver would handle
ZLP flag in control transfers itself, but that does not seem to be the
case.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2025-02-25 20:41:03 +01:00