Commit graph

23353 commits

Author SHA1 Message Date
Nirav Agrawal
49e96fb885 drivers: bluetooth: hci: add IW416 BT Controller Support
Added IW416 SoC support to enable Bluetooth HCI driver perform
firmware load, and works with blueooth HCI interface.

Removed cmake file from bt_controller/, added support in hal_nxp
module to fetch firmware blobs for iW416/nw612 BT Only FW.

Signed-off-by: Nirav Agrawal <nirav.agrawal@nxp.com>
2025-04-28 12:57:54 -05:00
Paul Alvin
327c78ec0a drivers: sdhc: Add driver support for xlnx SDHC
Add driver support for xlnx SD/EMMC host controller. The driver
currently support SD host controller version 3.0 and EMMC host
controller version 5.1. This driver functions with the SDHC subsystem to
perform operations on device.

Driver support both interrupt and polled mode data transfer. Uses ADMA2
to perform data transfer.

Signed-off-by: Paul Alvin <alvin.paulp@amd.com>
2025-04-28 12:56:50 -05:00
Vladislav Pejic
e72e1c1c44 drivers: sensor: adxl372: FIFO mode from DT
Adds support for setting FIFO mode and water-mark from DT.

Signed-off-by: Vladislav Pejic <vladislav.pejic@orioninc.com>
2025-04-28 12:55:18 -05:00
Alexandre Bailon
c1bce30fe5 drivers: ieee802154: cc13xx/26xx: Add support of 802.15.4 ED Scan
This adds support of ED scanning to cc13xx/cc26xx.
This could be required to select the least busy channel
or to found neighboring networks.

Note:
Although the scanning is working, OpenThread still fails
to discover OpenThread networks.

Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
2025-04-28 12:54:59 -05:00
Luis Ubieda
b6e2486ac3 bluetooth: userchan: Guard reads from beyond frame size
Even though through code-inspection there isn't a clear path where the
guard wouldn't act upon the length reaching the limit, this check is
moved up to unconditially validate it on every read.

Fixes #84731.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-04-28 17:50:56 +01:00
Damian Krolik
1e64c29ac3 drivers: ieee802154: nrf5: support reading EUI64 from UICR on nRF54L
Extend the existing code for reading EUI64 from UICR to
support nRF54L SoC series as well.

Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
2025-04-28 16:41:23 +02:00
Sylvio Alves
a831122029 drivers: uart/dma: esp32: revert to PRE_KERNEL_1
printf is failing in hello_world sample due to current
uart driver init level. This reverts back to PRE_KERNEL_1.
As uart depends on GDMA, set it also to same level.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-04-28 16:40:20 +02:00
Pieter De Gendt
7b1d748e8b drivers: Wrap device driver APIs using DEVICE_API macro
Put the device APIs in their respective linker sections with the
DEVICE_API wrapper macro.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-04-28 13:41:03 +02:00
Fin Maaß
3a195a08da drivers: net: ethernet: change ETHERNET_LINK_*BASE_T
change ETHERNET_LINK_*BASE_T to ETHERNET_LINK_*BASE.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-04-28 09:22:09 +01:00
Fin Maaß
203ca6fcde drivers: ethernet: phy: rename LINK_*_*BASE_T
rename  LINK_*_*BASE_T to  LINK_*_*BASE

speed options for ethernet drivers shouldn't end with a _T, implying
that ethernet is only supported via a twisted pair cable.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-04-28 09:22:09 +01:00
Vladislav Pejic
4a9029771f drivers: sensor: adxl367: FIFO mode from DT
Add support for setting FIFO mode using DT property.

Signed-off-by: Vladislav Pejic <vladislav.pejic@orioninc.com>
2025-04-28 08:34:35 +02:00
Titan Chen
31f5d2826d drivers: pwm: rts5912: port pwm driver on Zephyr
Add PWM driver support for Realtek RTS5912

Signed-off-by: Titan Chen <titan.chen@realtek.com>
2025-04-28 08:34:18 +02:00
Johann Fischer
c8eaa11a0b drivers: udc: add new UDC driver for SAM0 USB controller
The UDC driver for this beautiful USB controller is mostly rewritten
from scratch. USB Pad Calibration and clock handling are copied from the
usb_dc_sam0 driver.

The driver uses multipacket transfers for all endpoints except the OUT
control endpoint. The OUT control endpoint has a buffer that is always
mapped to the endpoint buffer register so that it always has a valid
buffer. The driver provides up to 7 IN and 7 OUT endpoints that support
any type of transfer. Double buffering is not used, for the possible
case of isochronous transfers some changes would be required in the
future.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2025-04-27 08:35:00 +02:00
Phi Bang Nguyen
78b9f25f76 drivers: video: Use video interfaces binding for ov7670 and smartdma
Have ov7670 and video smartdma use video interfaces binding. With
this, we can fix the chicken-egg issue in init priority and don't need
the workaround anymore.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2025-04-26 11:15:50 -04:00
Phi Bang Nguyen
cc17b712f6 drivers: video: smartdma: Fix a typo breaking the build
Fix a typo so that it won't break the build.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2025-04-26 11:15:50 -04:00
1d7a095779 soc: wch: move from qingke-v2 to the more specific qingke-v2a
The CH32V003 CPU is a QingKe V2A while others in the CH32V00x series
use the QingKe V2C. Prepare for adding support for the CH32V006 moving
to the more specifc qingke-v2a, moving some cases of SOC_CH32V003
actually meaning SOC_FAMILY_QINGKE_V2A.

Signed-off-by: Michael Hope <michaelh@juju.nz>
2025-04-26 10:55:45 +02:00
Vladislav Pejic
5fc5259964 drivers: sensor: adxl362: FIFO mode from DT
Adds support for setting FIFO mode from DT.

Signed-off-by: Vladislav Pejic <vladislav.pejic@orioninc.com>
2025-04-26 10:55:34 +02:00
Maxmillion McLaughlin
6f59533675 drivers: bmp581: change sensor_channel units to match spec
The bmp581 driver currently returns pressure in pascals, when
the sensor_channel enum specifies kilopascals.

Signed-off-by: Maxmillion McLaughlin <max@sorcerer.earth>
2025-04-26 10:55:27 +02:00
7f21dc2dfa drivers: watchdog: add a CH32V00x Independent Watchdog (IWDT) driver
The CH32V003 has a built-in watchdog that runs off the low speed
internal oscillator. Add a driver.

Signed-off-by: Michael Hope <michaelh@juju.nz>
2025-04-26 10:55:17 +02:00
Declan Snyder
e358713ea4 drivers: Move flexram to misc driver
Flexram is really not a memory controller, and does not belong in memc
namespace or directory. Move it to it's own misc directory and remove
memc_ from the namespace.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-04-26 10:55:09 +02:00
Jacob Wienecke
db63e563a9 drivers: memc: memc_nxp_flexram.h: Move to the public includes directory
Moved to: include/zephyr/drivers/misc/flexram/memc_nxp_flexram.h

This change makes it so that the .h file does not need to be pulled in
using the CMakeLists.txt file, and can be included like other public
includes.

Removes drivers/memc/memc_nxp_flexram.h

Add memc_nxp_flexram.h to include/zephyr/drivers/misc/flexram

Modify drivers/memc/memc_nxp_flexram.c to use the new include path.

Modifies the mimxrt1170 magic_addr sample to include the driver using
the new include path.

Modify the soc file: soc/nxp/imxrt/imxrt11xx/soc.c to use the new path.

Add relevant information to migration-guide-4.2.rst.

Signed-off-by: Jacob Wienecke <jacob.wienecke@nxp.com>
Co-authored-by: Declan Snyder <declan.snyder@nxp.com>
2025-04-26 10:55:09 +02:00
Fabian Blatz
8009614c16 drivers: display: sdl: Ensure task thread is run once on init
Adds taking of the task semaphore after creating the display thread
to ensure that the thread is run once, executing the SDL init.
Adjust the threads priority to match the main thread.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2025-04-25 19:00:28 +02:00
Mahesh Mahadevan
881b1ea477 drivers: mipi_dbi: Add PM action for NXP driver
Add PM action for the NXP LCDIC driver so that we can
recover from a lower power mode where we lose the register
settings and we need to reconfigure the block.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-04-25 19:00:06 +02:00
Derek Snell
5ff676f9fa drivers: i2c_mcux_flexcomm: adds PM TURN_ON low-power recovery support
Enables Sleep mode (PM3) in RW61x.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-04-25 18:59:57 +02:00
Mahesh Mahadevan
9278de258e drivers: flash: flexspi: Fix XIP during flash write
Commit 857e5793f1 fix
the flash_mcux_flexspi_nor.c driver to wait for the
FlexSPI to be idle before performing write/erase
operations. Add a similar check to these drivers that
also use the FlexSPI NOR block.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-04-25 18:58:57 +02:00
Jordan Yates
9bbc6d1579 serial: uart_native_pty: ASYNC RX support
Add support for transmitting using the asynchronous API. The
asynchronous portion is simulated through a dedicated polling thread.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-25 18:58:47 +02:00
Jordan Yates
5536e5b5cd serial: uart_native_pty: ASYNC TX support
Add support for transmitting using the asynchronous API. The
asynchronous portion is simulated through the system workqueue.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-25 18:58:47 +02:00
Jordan Yates
3d344186fc serial: uart_native_pty_bottom: length parameter
Add a length parameter to the poll in read function so that data can be
read in larger chunks.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-25 18:58:47 +02:00
Fin Maaß
780379e333 drivers: nxp_enet: move phy_link_callback_set()
move phy_link_callback_set() to the iface init,
so we don't have to manually check the link state,
as phy_link_callback_set() will also invoke the callback.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-04-25 18:58:35 +02:00
Andrzej Głąbek
fb1d0785ae drivers: flash: nrf_qspi_nor: Prevent CPU hang when XIP is re-enabled
Add a simple non-XIP transaction before deactivating the QSPI after
a XIP transaction is performed. This prevents a CPU hang from occuring
when another XIP transaction is attempted after the QSPI is activated
again.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-04-25 15:57:35 +02:00
Lucas Tamborrino
5d74f78332 drivers: gpio: Add LP GPIO
Add LP GPIO support for LP Core

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2025-04-25 14:06:18 +02:00
Petr Vilím
a7bddddb1e drivers: sensor: max31855: fixed sign bit positions
MAX31855 driver had a wrong position of sign bits causing
invalid reading of negative temperature values. Fixed by
shifting position of sign bit by one bit.

Signed-off-by: Petr Vilím <petr.vilim@proton.me>
2025-04-25 14:05:18 +02:00
Luis Ubieda
72854df0a1 sensor: icm45686: Add stream support over I3C IBI
Streaming mode now supported through In-band Interrupts (I3C).
By default, a dedicated INT GPIO is prioritized, even if the sensor
is on an I3C bus.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-04-25 14:05:10 +02:00
Luis Ubieda
ba36d8a6b6 sensor: icm45686: Add I3C bus support
I3C is now a bus supported, by relying on RTIO IODEV which is supported
for all buses (I2C, I3C and SPI). Tested backwards compatibility: I2C
and I3C.

No IBI support yet.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-04-25 14:05:10 +02:00
Hoang Nguyen
02eda248e1 drivers: gpio: Add support for RZ/A2M
Add gpio support for RZ/A2M

Signed-off-by: Hoang Nguyen <hoang.nguyen.jx@bp.renesas.com>
Signed-off-by: Binh Nguyen <binh.nguyen.xw@renesas.com>
2025-04-25 14:05:01 +02:00
Hoang Nguyen
2e26a4497a drivers: serial: Add support for RZ/A2M
Add serial support for RZ/A2M

Signed-off-by: Hoang Nguyen <hoang.nguyen.jx@bp.renesas.com>
Signed-off-by: Binh Nguyen <binh.nguyen.xw@renesas.com>
2025-04-25 14:05:01 +02:00
Hieu Nguyen
f1b5511a23 drivers: pinctrl: Add initial support for RZ/A2M
Add pinctrl support for RZ/A2M

Signed-off-by: Hieu Nguyen <hieu.nguyen.ym@bp.renesas.com>
Signed-off-by: Binh Nguyen <binh.nguyen.xw@renesas.com>
Signed-off-by: Hoang Nguyen <hoang.nguyen.jx@bp.renesas.com>
2025-04-25 14:05:01 +02:00
Hoang Nguyen
1462d3e972 drivers: timer: Add initial support for RZ/A2M
Add timer support for RZ/A2M

Signed-off-by: Hoang Nguyen <hoang.nguyen.jx@bp.renesas.com>
Signed-off-by: Binh Nguyen <binh.nguyen.xw@renesas.com>
2025-04-25 14:05:01 +02:00
Hoang Nguyen
1b8c77e4de drivers: clock control: Initial support for RZ/A2M
Add clock control support for RZ/A2M

Signed-off-by: Hoang Nguyen <hoang.nguyen.jx@bp.renesas.com>
Signed-off-by: Binh Nguyen <binh.nguyen.xw@renesas.com>
2025-04-25 14:05:01 +02:00
Henrik Lindblom
1a3fb4adfc drivers: stm32: use cache peripheral driver
Use cache API for disabling and enabling ICACHE. The driver handles waiting
for ongoing cache invalidation.

Signed-off-by: Henrik Lindblom <henrik.lindblom@vaisala.com>
2025-04-25 11:04:37 +02:00
Henrik Lindblom
6a3309a9e4 cache: stm32: add cortex-m33 peripheral driver
STM32 Cortex-M33, such as the L5/H5/U5 series, have a cache peripheral for
instruction and data caches, which are not present in the C-M33
architecture spec.

The driver defaults to direct mapped cache as it uses less power than the
alternative set associative mapping [1]. This has also been the default in
stm32 soc initialization code for chips that have the ICACHE peripheral,
which makes it the safest choice for backward compatibility. The exception
to the rule is STM32L5, which has the n-way cache mode selected in SOC
code.

[1]: https://en.wikipedia.org/wiki/Cache_placement_policies

Signed-off-by: Henrik Lindblom <henrik.lindblom@vaisala.com>
2025-04-25 11:04:37 +02:00
John Barbero Unenge
1d3018ad76 driver: mdio: mdio_nxp_enet: Implement c45 read/write
This change refactors the mdio_read / mdio_write functions into an
mdio_wransfer, and utilizes it to implement
mdio_{read,write,read_c45,write_c45}.

Heavily inspired by the implementation in drivers/mdio/mdio_sam.c

Signed-off-by: John Barbero Unenge <git@lsrkttn.com>
2025-04-25 11:04:30 +02:00
Younghyun Park
db168539cf drivers: spi: dw: read ssi component version
Read the Synopsys SSI component version to extend supported capability
based on the version.

Signed-off-by: Younghyun Park <younghyunpark@google.com>
2025-04-25 11:04:19 +02:00
Younghyun Park
0ee0a8de37 drivers: spi: dw: fix txftlr in HSSI controller
The TXFTLR register has 2 major fields which are TFT for triggering
interrupt threshold and TXFTLR for starting transfer threshold. This is
to ensure that sufficient data is ready for starting transfer.

Signed-off-by: Younghyun Park <younghyunpark@google.com>
2025-04-25 11:04:19 +02:00
Younghyun Park
71d37039db drivers: spi: dw: fix dfs offset in HSSI controller
The DFS(Data Frame Size) is at CTRLR0[4:0] in HSSI controller.

Signed-off-by: Younghyun Park <younghyunpark@google.com>
2025-04-25 11:04:19 +02:00
Daniel Baluta
c9f149cf6f drivers: intc: irqstr: Fix uninitialized variable error
Move initialization of 'enabled' variable together with declaration.
This fixes the following compiler error:
error: 'enabled' may be used uninitialized [-Werror=maybe-uninitialized]

This is not really an error but the compiler is tricked by the
K_SPINLOCK() macro.

Fixes: https://github.com/zephyrproject-rtos/zephyr/issues/88996
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2025-04-24 22:58:59 +02:00
Kapil Bhatt
951a321c89 drivers: nrf_wifi: Add locally generated info
Add locally generated info for deauth process. If deauthentication
frame is coming from AP it will be set, in other cases
(Beacon loss, New connection from user in connected state,
disconnection from user) flag will not be set.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2025-04-24 22:58:33 +02:00
Jilay Pandya
92d914e465 drivers: stepper: fix trinamic controller names
dropping adi prefix & stepper_controller suffix from trinamic drivers.

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-04-24 20:29:07 +02:00
Jukka Rissanen
f3cd029cce drivers: eth: e1000: Add Ethernet statistics support
Support e1000 driver Ethernet statistics if relevant config
options are enabled.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-04-24 20:27:58 +02:00
Ryan McClelland
05db1563c5 drivers: disk: nvme: fix warnings
There are warnings generated within NVMe. `prp` is a `void *` which
is 32bits wide on 32bit systems. This adds a cast to first cast it
to a `uintptr_t` and then casts it to a `uint64_t` to supress the
warning.

This also fix an issue where `int n_prp` is defined under a case
statement. This adds the { } around the block underneath it.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-04-24 20:27:50 +02:00