Commit graph

24538 commits

Author SHA1 Message Date
Alessandro Manganaro
bbef47fc56 drivers: flash: stm32wba: fix build issue when BLE enabled
Specific flash driver is used for stm32wbax when ble is
enabled. A simple typo error was fixed to properly build
all the samples where flash and ble are enabled,
such as the peripheral one.

Signed-off-by: Alessandro Manganaro <alessandro.manganaro@st.com>
2025-06-09 14:39:34 -07:00
Sudan Landge
5a3c4941a2 pinctrl: add support for mps4
Add MPS4 pinctrl support by referring to
`mps4/common/partition/platform_base_address.h`
from TF-M's main branch.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2025-06-09 14:35:12 -07:00
Guotao Zhang
b2c4397185 drivers: bluetooth: hci: nxp: add Kconfig for IW610
Add Kconfig BT_NXP_IW610.

Signed-off-by: Guotao Zhang <guotao.zhang@nxp.com>
2025-06-09 14:30:04 -07:00
Gang Li
6b62df129b drivers: wifi: nxp: add Kconfig for IW610
Add Kconfig NXP_IW610, NXP_IW610_MURATA_2LL_M2,
NXP_IW610_RD_USD

Signed-off-by: Gang Li <gang.li_1@nxp.com>
2025-06-09 14:30:04 -07:00
Phuc Pham
14ab7d8494 drivers: gpio: Add support for RZ/G2UL
Add GPIO support for RZ/G2UL

Signed-off-by: Phuc Pham <phuc.pham.xr@bp.renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2025-06-09 10:26:45 +01:00
Jordan Yates
8ab300d63e adc: 64bit gain inversion function
Add a variant of `adc_gain_invert` that operates on an `int64_t` instead
of `int32_t`.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-06-09 10:25:52 +01:00
Benjamin Cabé
4524bdf9f5 drivers: clock_control: rpi_pico: fix frequency count typo
fixed what looked like a copy-paste error

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-09 08:56:33 +02:00
Benjamin Cabé
998ee87635 drivers: flash: use negative errno in Renesas RA HP
fixed an incorrect "return EINVAL" where it should
be -EINVAL.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-09 08:56:19 +02:00
Duy Nguyen
e7c025db24 drivers: spi: Initial support SPI driver on Renesas RX130
Initial commit for SPI driver support on RSK_RX130@512KB board
with RSPI module

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
Signed-off-by: Minh Tang <minh.tang.ue@bp.renesas.com>
2025-06-09 08:55:05 +02:00
Benjamin Cabé
98ba754013 drivers: sensor: infineon: fix typo in calibration gain assertion
Corrected a typo in the calibration gain assertion

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-07 15:39:15 +01:00
TOKITA Hiroshi
3f7e8f498e drivers: virtio: add VIRTIO MMIO transport driver
Add virtio-mmio driver

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-06-07 15:39:06 +01:00
TOKITA Hiroshi
3720c9b805 drivers: entropy: virtio: Unify the notation to VIRTIO
Since `VirtIO` is not the official notation,
unify the name to `VIRTIO`.
In the text, `Virtio` and `virtio` can also be used
depending on the context.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-06-07 15:39:06 +01:00
Benjamin Cabé
0a2b92c21f drivers: sensor: memsic: fix typos in Kconfig
Corrected spelling errors in the Kconfig file for the MC3419
accelerometer driver

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-07 13:30:13 +01:00
Lin Yu-Cheng
b2e13bd6c3 driver: crypto: add crypto driver for rts5912
Add crypto driver for Realtek rts5912

Signed-off-by: Lin Yu-Cheng <lin_yu_cheng@realtek.com>
2025-06-07 13:29:07 +01:00
Ivan Wagner
e571f8bab4 drivers: sensor: lsm6dso: added comments in preproc endif
Added comments ad the end of preprocessor if else endif blocks

Signed-off-by: Ivan Wagner <ivan.wagner@tecinvent.ch>
2025-06-06 20:11:46 +01:00
Ivan Wagner
4aa4ee1256 drivers: sensor: lsm6dso: improvements on tilt and tap triggers
Improvements include: check error codes, log level adjustments,
removed unreachable code, disable tilt when not used, call optimized
interrupt handler when tilt and tap are not used.

Signed-off-by: Ivan Wagner <ivan.wagner@tecinvent.ch>
2025-06-06 20:11:46 +01:00
Ivan Wagner
b9cd08b2ea drivers: sensor: lsm6dso: add support for tilt and tap triggers
Tilt or Tap can be selected via config and further tap parameters can be
configured via DT.

Signed-off-by: Ivan Wagner <ivan.wagner@tecinvent.ch>
2025-06-06 20:11:46 +01:00
Fin Maaß
238f05c782 drivers: pwm: nxp: fix value of DT_ENUM_HAS_VALUE
make value of DT_ENUM_HAS_VALUE lowercase.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-06-06 20:10:40 +01:00
Pieter De Gendt
afff1c67e5 drivers: spi: spi_nxp_lpspi: Simplify property or default value
Replace UTIL_AND(DT_INST_NODE_HAS_PROP(... construction with the
DT_INST_PROP_OR helper macro.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-06-06 20:10:12 +01:00
Armando Visconti
a10f807994 drivers/lis2dux12: add read_and_decode APIs support
Add RTIO async and RTIO stream functionalities that enables,
among all the other things, the sensor data streaming from FIFO.

RTIO stream supports following triggers:

  - SENSOR_TRIG_FIFO_WATERMARK
  - SENSOR_TRIG_FIFO_FULL
  - SENSOR_TRIG_DATA_READY

Following FIFO parameters has to be defined in device tree to
correctly stream sensor data:

  - fifo-watermark
  - accel-fifo-batch-rate

Currently the driver can decode FIFO content with Accelerometer
16-bit samples.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2025-06-06 09:11:04 -07:00
Pisit Sawangvonganan
0abee981fe drivers: disk: nvme: fix include guard typo
Fix include guard name typo in `nvme.h` and `nvme_helpers.h`.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2025-06-06 09:08:33 -07:00
Jilay Pandya
6cc35eea81 tests: adltc2990: introduce mock_i2c_error function
Introduce mock_i2c_error function in emulator in order to emulate i2c
errors for various registers

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-06-06 09:08:22 -07:00
Jilay Pandya
529029e4e3 tests: adltc2990: increase coverage
increase test coverage for adltc2990 and fix a bug found during testing

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-06-06 09:08:22 -07:00
Mahesh Mahadevan
c5787e8809 drivers: flash: Fix unused function warning on LPC55S69
is_area_readable() function is no longer used for the LPC55XXX
series.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-06-06 14:49:45 +01:00
Andrzej Głąbek
ec06e638f2 drivers: spi_nrfx_spim: Fix SPIM_REQUESTS_CLOCK() and calls to it
This is a follow-up to commit a068709171.

As the SPIM_REQUESTS_CLOCK() macro changed the type of its parameter,
all of the calls to it need to be updated accordingly. Also the call to
DT_NODELABEL() needs to be removed from that macro as DT_CLOCKS_CTLR()
already returns a node identifier.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-06-06 14:49:36 +01:00
45e55d639d drivers: pwm: fix an off-by-one error in the CH32V PWM driver
The period is the reload register plus 1. Adjust. Note that the
earlier code handles the cases where the pulse time is zero or equal
to the period.

Signed-off-by: Michael Hope <michaelh@juju.nz>
2025-06-06 14:48:00 +01:00
Qiang Zhao
ac5bae59ab drivers: ptp_clock: Add NXP NETC PTP Clock Driver
Add Driver for NXP NETC PTP Clock device

Signed-off-by: Qiang Zhao <qiang.zhao@nxp.com>
2025-06-06 14:47:53 +01:00
Alvis Sun
9f1935923b driver: serial: npcx: add PM support for npck3 series.
This commit adds power management support to the UART driver for npck3
series chip.

Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
Signed-off-by: Tom Chang <CHChang19@nuvoton.com>
Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2025-06-06 12:03:25 +02:00
Alvis Sun
bf0fd155ae drivers: serial: npcx: add serial driver support for npck3
This commit adds serial driver support for npck3.

Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
Signed-off-by: Tom Chang <CHChang19@nuvoton.com>
Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2025-06-06 12:03:25 +02:00
Bjarki Arge Andreasen
d9cbd4ae1d drivers: gpio: smartbond: fix PM_DEVICE_DEFINE usage
The gpio_smartbond driver incorrectly uses the static
PM_DEVICE_DEFINE() and PM_DEVICE_GET() macros when creating a driver
instance from a devicetree instance number.

Update to use PM_DEVICE_DT_INST_DEFINE() and
PM_DEVICE_DT_INST_GET() macros.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-06-06 11:52:50 +02:00
Dave Joseph
963fda5e4a drivers: mbox: TI Secure Proxy mbox drivers
Added secure proxy mailbox driver for supported devices using
the binding ti,secure-proxy. This is used to communicate with
a device manager running on a separate core via a secure proxy
mailbox for TI K3 devices. Required for enabling TISCI layer
communication.
Refer: https://software-dl.ti.com/tisci/esd/latest/1_intro/TISCI.html

Tested on MAIN_CORTEX_R5_0 on AM243x EVM.
Refer:https://www.ti.com/lit/pdf/spruim2

Co-developed-by: Vaishnav Achath <vaishnav.a@ti.com>
Signed-off-by: Dave Joseph <d-joseph@ti.com>
2025-06-06 11:52:07 +02:00
Henrik Lindblom
24b4ce189f drivers: stm32: dma: fix external dcache support
Several drivers checked for the presense and availability of data cache
through Kconfig symbol. This is supported according to the current
documentation, but the symbol DCACHE masks two types of cache devices: arch
and external caches. The latter is present on some Cortex-M33 chips, like
the STM32U5xx. The external dcache is bypassed when accessing internal
SRAM and only used for external memories.

In commit a2dd232410 ("drivers: adc: stm32: dma support") the rationale
for gating dcache for adc_stm32 behind STM32H7X is only hinted at, but
reason seems to be that it was the only SOC the change was tested on. The
SOC configures DCACHE=y so it is most likely safe to swap the SOC gate for
DCACHE.

The DCACHE ifdefs are now hidden inside the shared stm32_buf_in_nocache()
implementation.

Signed-off-by: Henrik Lindblom <henrik.lindblom@vaisala.com>
2025-06-06 10:19:58 +02:00
Marcel Krüger
45f3b71b39 input_gpio: Fix not using latest pin state on pm resume
When the device was suspended and the pin level changed during
that time, the pin level of course isn't updated in the pins cb_data.
Once the device is resumed, this leads to potentially having
a wrong value in the pin state data leading to swallowing the first
event due to comparing the stored level vs. the new level before
reporting.

Also added some `const`s and deleted an unused struct element.

Signed-off-by: Marcel Krüger <marcel@mkgr.dev>
2025-06-06 10:12:11 +02:00
Abderrahmane JARMOUNI
b31251b4b4 drivers: stm32: i2c rtio: Fix 'timings' array size
'timings' is an array of 'struct i2c_config_timing' (3 x uint32_t).
'i2c_timings_##index' is an array of uint32_t (hence the cast when it
is assigned to 'timings'). Therefore 'ARRAY_SIZE(i2c_timings_##index)' is
off by a factor 3 when used for n_timings.

Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
2025-06-06 10:11:59 +02:00
Yishai Jaffe
7fe85f8cb4 drivers: serial: stm32: simplify logic
Simplify the logic for the `uart_stm32_cfg2ll_databits` function
regarding `LL_USART_DATAWIDTH_9B` being defined or not.

Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
2025-06-06 10:11:29 +02:00
Francois Ramu
cbe3e18396 drivers: flash: stm32h7RS flash size is fixed to 64KBytes
Fix the flash size to 64KB for the stm32H7RS series.
Restore the get_size API function for that series.
This is a specificity of this stm32 mcu (RefMan RM0477).

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2025-06-06 10:11:07 +02:00
Alain Volmat
fea5c421b4 drivers: video: dcmipp: add functions for external ISP functions usage
Add weak functions and their call within the dcmipp driver so that
externally provided ISP control functions can be called by the
driver at right timing in order to perform the control of the
ISP part of the DCMIPP.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-06 10:10:58 +02:00
Alain Volmat
cd8dccf211 drivers: video: introduction of the stm32 DCMIPP driver
The STM32 Digital Camera Memory Interface Pixel Processor (DCMIPP)
is a multi-pipeline camera interface allowing to capture
and process frames from parallel or CSI interfaces depending on its
version.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-06 10:10:58 +02:00
Florijan Plohl
e0bd460de0 drivers: sensor: Add icm40627 6-axis accelerometer driver
Initial driver for the icm40627 from Invensense/TDK, a 6-axis
accelerometer with gyroscope and temperature sensing capabilities.

Signed-off-by: Florijan Plohl <florijan.plohl@norik.com>
2025-06-06 10:10:23 +02:00
Tim Lin
97cdedec80 drivers/timer: it51xxx: Compensate time calculation to reduce drift
The EC timer runs at 9.2 MHz, which leads to a non-integer number of
ticks per microsecond. This causes slight overestimation when delays
are computed using whole ticks (e.g., using 10 ticks for 1 µs).
To address this, the busy wait calculation is adjusted with a
compensation factor to minimize cumulative timing error over time.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-06-06 08:45:43 +02:00
Axel Le Bourhis
928aa4a196 drivers: bluetooth: hci_nxp: fix discarding multi part adv reports
In case of extended advertising, advertising data can be reported in
parts, so we shouldn't discard them.
Instead, only discard the legacy advertising reports.

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2025-06-06 08:45:33 +02:00
Mike J. Chen
9564a5e07b drivers: dma_mcux_lpc: fix bug using INPUTMUX
The typical way of calling INPUTMUX_AttachSignal() is to
bracket it around INPUTMUX_Init() and INPUTMUX_Deinit()
calls because we can reduce power consumption by not
keeping the interface powered when not changing INPUTMUX.

This driver was violating that convention, which caused
it to not coexist well with other code that followed the
usage convention because the INPUTMUX might be initialized
or not depending on execution order with the other modules.

Signed-off-by: Mike J. Chen <mjchen@google.com>
2025-06-06 08:44:54 +02:00
Alvis Sun
c2f45ca588 drivers: i3c: npcx: add support for target reset request handling
This patch introduces handling for the target reset request (RSTACT)
in the I3C controller.
It enables the controller to send a broadcast RSTACT command along with
the target reset pattern in a single frame.

Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
2025-06-06 08:43:32 +02:00
Fin Maaß
7505ef3f04 drivers: ethernet: phy: mii: simplify if all are fixed link
If all instances are fixed link, remove code that is
not needed for that.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-06-06 08:42:41 +02:00
Amneesh Singh
07c1d95d69 drivers: adc: ti_am335x: initial support
This patch adds the ADC driver for TI K3 family of SoCs. Technical
reference can be found in the Technical Reference Manual (TRM) of the
board.

Signed-off-by: Amneesh Singh <a-singh7@ti.com>
2025-06-06 08:42:32 +02:00
Mario Paja
041f942ba8 drivers: i2s: add sai support for stm32u5xx
This PR adds initial sai support for STM32u5xx

Signed-off-by: Mario Paja <mario.paja@zal.aero>
2025-06-06 08:41:59 +02:00
Tri Nguyen
1005cd9fa2 drivers: flash: Initial support OSPI flash driver on RA8 boards
Support OSPI flash driver on EK-RA8M1 and EK-RA8D1 with ospi_b
and S28HL512T flash.

Signed-off-by: Tri Nguyen <tri.nguyen.wj@bp.renesas.com>
Signed-off-by: Thao Luong <thao.luong.uw@renesas.com>
2025-06-06 08:41:46 +02:00
Derek Snell
c65100b521 drivers: ethernet: eth_nxp_enet_qos_mac: remove unused variables
Read MAC registers to clear flags without using variables to avoid
compiler warnings.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-06-06 08:41:29 +02:00
Rubin Gerritsen
f26a8c0eb1 drivers: clock_control: nrf2_lfclk: Remove LPRC source
This source is not yet supported. It will be added back
later.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2025-06-05 15:16:28 -05:00
Rubin Gerritsen
f0a433fc03 drivers: clock_control: nrf2_lfclk: Fix selecting lowest power clock
The application or drivers can request the LFCLK with a given
precision and accuracy.
The driver should select the clock source which has
the lowest power consumption and still satisfies the requested
accuracy and precision.

Before this commit, this was not the case.
Consider the case where the BICR has configured the system
to have LFXO with accuracy of 20 ppm.
The existing code would have ordered the clock options as following:
```
[0] = {LFLPRC, 1000 ppm},
[1] = {LFRC, 500 ppm},
[2] = {SYNTH, 30 ppm},
[3] = {LFXO_PIERCE, 20 ppm},
[4] = {LFXO_PIERCE_HP, 20 ppm}
```

**Example 1**: The user requests the clock with an accuracy of 30 ppm.
The existing code would request the power hungry "SYNTH".

**Example 2**: The user requests a clock with an accuracy of 500 ppm.
The existing code would request the LFRC which consumes more power than
the LFXO.

This commit fixes this issue by ordering the clock sources according
to power consumption.
For the examples above we user request would result in requesting the
20 ppm LFXO.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2025-06-05 15:16:28 -05:00