Commit graph

25,525 commits

Author SHA1 Message Date
Camille BAUD
772b9afc97 drivers: display: Introduce ST75256
Introduces a driver for ST75256 Display Controller that
supports mono and greyscale but not i2c mode.

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-04-30 07:51:57 +02:00
Titan Chen
2ede51b3e9 drivers: gpio: rts5912 support new features
add support new features for get/set configuration:
1. slew rate
2. output driving current
3. schmitt trigger
4. multi-function select

testing by blinky sample.

20250326: remove check interrupt mask to avoid interrupt disable.

Signed-off-by: Titan Chen <titan.chen@realtek.com>
2025-04-30 07:51:46 +02:00
Chris Friedt
4e75657048 drivers: hwinfo: ensure z_vrfy_hwinfo_get_device_eui64() uses int
The z_vrfy function for this syscall

```
__syscall int hwinfo_get_device_eui64(uint8_t *buffer);
```

in `drivers/hwinfo/hwinfo_handlers.c`, used an `ssize_t` rather than an
`int` which makes it inconsistent with the prototype declared in
`drivers/hwinfo.h`.

Use `int` instead of `ssize_t`.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-04-29 20:09:46 -04:00
Gerson Fernando Budke
aa9d327abf drivers: serial: bouffalolab: Add support to interrupts
Enable interrupt support in the driver.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-04-29 20:08:45 -04:00
Adib Taraben
e92fb10971 drivers: hwinfo: add nxp mcxn reset_cause implementation
Implementation is specific to the NXP MCXN series.
Code mostly copied from hwinfo_mcux_rcm driver.

Signed-off-by: Adib Taraben <theadib@gmail.com>
2025-04-29 20:07:25 -04:00
Jordan Yates
be919675f9 sensor: npm1300_charger: uA resolution current
Update the conversion functions for the charge/discharge current to
be uA resolution.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-29 19:07:04 +02:00
Jordan Yates
4748fb37c3 sensor: npm1300_charger: correct current direction
Update the direction of the measured current to match that expected by
the API and existing users, positive = charging and negative =
discharging.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-29 19:07:04 +02:00
Jordan Yates
aacbd6607c sensor: npm1300_charger: use logf not log
Both the input and output parameters are floats, not doubles, so use
the floating point logarithm variant.

Correct the source of the equations for the latest datasheet versions
at the same time.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-29 19:07:04 +02:00
Jordan Yates
5fccbcb95e sensor: npm1300_charger: use common conversion funcs
Use the standard sensor value conversion helpers for constructing
`struct sensor_value` outputs.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-29 19:07:04 +02:00
Bastien JAUNY
d5365ba513 drivers: input: vs1838b: Add support for VS1838B
The VS1838B is one of the most found infrared receiver
found in electronic kits and is easy to setup with only
a single GPIO used for signal transmission (apart from
VCC and GND).
This new driver let applications use the VS1838B as an
input with events relayed as 0x0000<address><command>.

Only the NEC protocol is supported in this version but
more can be added later.
Link: https://github-wiki-see.page/m/CoreELEC/remotes/wiki/08.-NEC-IR-Protocol-Datasheet

This has been tested using the input_dump sample.

Signed-off-by: Bastien JAUNY <bastien.jauny@smile.fr>
2025-04-29 19:06:37 +02:00
Francois Ramu
0f465284aa drivers: spi: stm32 ll spi driver flush dcache function
This PR is for using the dcache flush range function
from the stm32 Cortex-M33 peripherals

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2025-04-29 17:55:01 +02:00
Grzegorz Swiderski
47df9ec981 drivers: firmware: Add support for IRONside calls
IRONside calls are remote procedure calls which comprise the runtime
interface of Nordic IRONside SE. They are realized using a simple IPC
mechanism.

A local domain (client) issues requests to the server by exchanging data
in shared memory, which is divided into evenly sized buffers. The client
selects a buffer, writes a request into it, and sends it to the server.
The server processes that request and writes a response into the same
buffer before returning it to the client.

This patch adds the initial client-side implementation on top of MBOX.
It features cache management and a blocking alloc/dispatch/release API
for synchronous, zero-copy transfers.

A new devicetree binding is added to support this implementation. It is
patterned after the `zephyr,ipc-*` bindings, where each node associates
a pair of mailboxes and a shared memory region.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2025-04-29 17:54:41 +02:00
Fabian Kainka
d02503ad7b drivers: gnss: gnss_emul missing month_day data
Just a minor fix to the gnss_emul.c to fix a the missing
month_day data. Also minor spelling fixes in the test code.

Signed-off-by: Fabian Kainka <f.kainka@gmx.de>
2025-04-29 16:49:29 +02:00
Tim Lin
f7d381fef1 drivers/i2c: Add I2C driver of it51xxx
Implement the functions of I2C host and target.
I2CM: supports nine hosts and each one able located at I2C interface
      0~12.
      supports two 32 bytes dedicated FIFO mode for read and write.
I2CS: supports three targets and each one able located at I2C
      interface 0~8.
      supports 16 bytes dedicated FIFO mode that only supports write or
      read mode and the maximum buffer size is 256 bytes.
      support non-FIFO write to shared FIFO read mode. The maximum
      shared FIFO size for read is 256 bytes.
The APIs test include: i2c_write(), i2c_read(), i2c_burst_read(),
                       i2c_burst_write(), i2c_write_read()

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-04-29 16:48:06 +02:00
Jeppe Odgaard
634ba6955c drivers: led: add led_dac
Add LED driver support for DAC based LED drivers.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2025-04-29 16:47:36 +02:00
Bjarki Arge Andreasen
4bd1de02bb drivers: i2c: nrfx_twi_rtio: support RTIO_OP_AWAIT
Add support for RTIO_OP_AWAIT.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-04-29 16:47:26 +02:00
Bjarki Arge Andreasen
61e838b246 drivers: i2c: nrfx_twim_rtio: support RTIO_OP_AWAIT
Add support for RTIO_OP_AWAIT.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-04-29 16:47:26 +02:00
Johan Hedberg
6113230ce3 Bluetooth: drivers: Update to use new H:4 buffer encoding
Update all HCI drivers to use the new H:4 encoding for buffers passing
to/from drivers.

One behavioral change that's done in favor of simplicity, is that where
there's previously been switch statements that could return an error for
unsupported packet types now simply pass any received packet unchanged to
lower layers of the controller (or the HCI transport). Handling this is
now the responsibility of the lower layers, however in practice hitting
such scenarios means that there's a mismatch between configured host and
controller features.

Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
2025-04-29 13:00:33 +02:00
Henrik Brix Andersen
d8780274b5 drivers: pwm: add driver for the NEORV32 PWM controller
Add driver for the NEORV32 PWM controller.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-04-29 13:00:17 +02:00
The Nguyen
6126aa1d5c drivers: udc: renesas: enable high-speed USB support
Select UDC_DRIVER_HAS_HIGH_SPEED_SUPPORT to enable high speed
Renesas RA UDC device

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-04-29 08:17:38 +01:00
Jilay Pandya
a371f0c516 drivers: stepper: tmc_spi: remove print_status_byte
print_status_byte is specific to tmc50xx and hence shoud not
be placeed in common tmc_spi.c which is supposed to be reused
by a variety of drivers

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-04-29 08:16:57 +01:00
Abhinav Kulkarni
bbeb01d325 boards: nxp: mimxrt1060_evk: Added support for IW612 and IW416 SoCs
- Added separate overlay conf files for wifi IW416 and IW612 SoCs.
- Added overlay debug conf file for nxp wifi needed to enable debug logs.
- Added additional configurations for module's region selection.

Signed-off-by: Abhinav Kulkarni <abhinav.kulkarni@nxp.com>
2025-04-29 08:16:46 +01:00
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