Commit graph

25,525 commits

Author SHA1 Message Date
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
Al Semjonovs
d7e7839244 i2c: npcx_i2c_ctrl_transfer does not match original declaration
Fix npcx_i2c_ctrl_transfer arguments to match header to prevent
warning: type of 'npcx_i2c_ctrl_transfer' does not match original
declaration

Signed-off-by: Al Semjonovs <asemjonovs@google.com>
2025-06-05 15:11:14 -05:00
Raffael Rostagno
c3aa6589c3 drivers: intc: esp32: Disable IRQ before connect
Disable IRQ before connecting new handler when interrupt is not
shared. This aligns intc behavior to version before PR #87369.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-06-05 15:10:44 -05:00
Raffael Rostagno
00372dd6a9 drivers: pwm: ledc: esp32: Enable RC_FAST clock source
RC_FAST needs to be enabled and calibrated in order to be used
as clock source. Otherwise, clock source is selected but no
PWM is generated.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-06-05 15:09:17 -05:00
James Roy
d8b3775306 drivers: sensor: renesas: Fix unchecked return value in hs400x
Fix unchecked return value scanned by Coverity.

Signed-off-by: James Roy <rruuaanng@outlook.com>
2025-06-05 12:34:01 +02:00
Tom Deconinck
e25147647c drivers: sensor: ntc-thermistor-generic: add missing mutex
The ntc-thermistor-generic is not thread safe when calling
sensor_channel_get() due to the mutex not being used in
ntc_thermistor_channel_get() when the sampled data is accessed.
Add the thermistor_data mutex around the data access to fix.

Signed-off-by: Tom Deconinck <t.deconinck@gmail.com>
2025-06-05 12:33:39 +02:00
Ruibin Chang
47d1e38043 drivers/counter: implement it51xxx counter driver
Implement counter driver for ITE it51xxx series chip.

Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw>
2025-06-05 12:33:29 +02:00
Ruibin Chang
ec6b34d870 drivers/timer/it51xxx: remove not used timer
Timer 7 is not used in timer driver, which means that timer
driver doesn't initialize timer 7, it's just declared in dtsi.
So I remove it, timer 7 will be used as alarm timer for counter driver.

Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw>
2025-06-05 12:33:29 +02:00
Bjarki Arge Andreasen
a8d44c37c4 pm: policy: remove redundant ifdef exclusion of device_power_lock
Remove redundant ifdef exclusion of calls to
pm_policy_device_power_lock_get() and
pm_policy_device_power_lock_put().

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-06-05 09:34:31 +02:00
Tim Lin
706b7e9002 drivers/clock: it51xxx: Disable eSPI pad before changing PLL sequence
We have to disable eSPI pad before changing PLL sequence or sequence
will fail if CS# pin is low.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-06-05 09:34:23 +02:00
Tim Lin
5f502499e9 drivers/espi: ite: Refactor register defines into .c for SoC flexibility
Move register definitions from chip_chipregs.h into espi_it8xxx2.c to
make the driver more adaptable to different SoCs.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-06-05 09:34:23 +02:00
TOKITA Hiroshi
8c9c7a5ddb drivers: entropy: add driver for VirtIO Entropy device
Add VirtIO Entropy driver.

The `virtio,device4` is a somewhat unfamiliar naming convention,
but it follows the convention used in Linux.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-06-05 09:33:59 +02:00
Declan Snyder
fd6b05c81b drivers: spi_context: Fix spi_context_xx_len_left
These two functions were using the value of ctx->xx_len wrong, the unit
is in words, not bytes, but spi_context_count_xx_buf_lens was iterating
over the length of bytes, not words.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-06-04 16:11:45 -04:00
Declan Snyder
2c75ad0db3 Revert "drivers: spi: fix the update of spi_context tx & rx length"
This reverts commit 4a486ce51b.

This change was totally wrong.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-06-04 16:11:45 -04:00