Commit graph

23353 commits

Author SHA1 Message Date
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
Rahul Gurram
9781a3531f drivers: wifi: siwx91x: Handling data packets for AP mode
In the raw data send API, the interface was hardcoded
for client mode. Now, we determine the opermode and
pass the appropriate interface to the raw data API
based on the current opermode.

Signed-off-by: Rahul Gurram <rahul.gurram@silabs.com>
2025-06-04 15:51:07 -04:00
Alain Volmat
3db7b40238 video: introduction of driver for Omnivision OV9655
This commit add support for the Omnivision OV9655 sensor,
a 1.3MPix Color SXGA (1280x1024 sensor).
Current driver only allow output of 320x240 and 160x120
resolution either in RGB565 or YUYV.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-04 15:50:24 -04:00
Alain Volmat
9c62fb8810 video: stm32: dcmi: correct typo dmci -> dcmi
DMA callback is wrongly named as dmci in the source code,
correct the name to be dcmi_dma_callback.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-04 15:50:24 -04:00
Alain Volmat
64149e4df6 video: stm32_dcmi: addition of STM32L4 DMA support
The STM32 DMA LL api differ between the STM32F7 and the STM32L4
in order to get the CHANNEL instance information.  For that
reason, enclose within preproc statements STM32F7 specific code
and add STM32L4 code related to the DMA configuration for the
DCMI peripheral.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-04 15:50:24 -04:00
Alain Volmat
b03ec6dd29 video: stm32: dcmi: fix video interface properties read
This commit fixes an error introduced by commit c0dae0c9ac
("video: stm32: dcmi: perform config based on endpoint properties")
in which incorrect instance was being access leading to usage of
the default value for pixel clock / hsync / vsync polarities and bus
width.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-04 15:50:24 -04:00
Jilay Pandya
ca2f7254d2 drivers: stepper: tmc50xx: add a null pointer check
Check if the actual velocity pointer is NULL or not, if its null return
-EINVAL in order to avoid null pointer dereferencing later in code

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-06-04 17:04:30 +02:00
Arunmani Alagarsamy
28be2211f4 drivers: wifi: siwx91x: Correct handling of BSSID in interface status
This commit resolves incorrect results in the interface status response.
The parameter for `sl_wifi_get_wireless_info` has changed following the
HAL Silabs update to version 3.5.0.

In AP mode, the implementation now correctly uses the `mac_address`
variable instead of `bssid`.

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-06-04 17:04:24 +02:00
Arunmani Alagarsamy
de6395d5d0 drivers: wifi: siwx91x: Handle error case in power save mode
Power save is not supported in AP mode. This commit ensures that
`-EINVAL` is returned instead of success, preventing incorrect behavior.

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-06-04 17:04:24 +02:00
Nikodem Kastelik
647477c851 drivers: adc: nrf: align to non-gain configuration
Some nRF devices do not allow to configure gain.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2025-06-04 17:03:48 +02:00
Nikodem Kastelik
5abf43c7dd drivers: adc: nrf: align to channel-wide burst configuration
Some nRF devices allow to configure burst setting per channel
while others globally.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2025-06-04 17:03:48 +02:00
Bjarki Arge Andreasen
077ff2bae9 drivers: clock_control: nrf2_global_hsfll: impl resolve
Implement nrf_clock_control_resolve() API.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-06-04 17:00:40 +02:00
Bjarki Arge Andreasen
c950c56fe0 drivers: clock_control: nrf2_hsfll: impl resolve
Implement nrf_clock_control_resolve() API.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-06-04 17:00:40 +02:00
Bjarki Arge Andreasen
9983222cd7 drivers: clock_control: nrf2_fll16m: impl resolve and startup_time
Implement nrf_clock_control_resolve() and
nrf_clock_control_get_startup_time_us() APIs.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-06-04 17:00:40 +02:00
Bjarki Arge Andreasen
b20a233b05 drivers: clock_control: nrf2_lfclk: impl resolve and startup_time
Implement nrf_clock_control_resolve() and
nrf_clock_control_get_startup_time_us() APIs.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-06-04 17:00:40 +02:00
Bjarki Arge Andreasen
54d86e8f38 drivers: clock_control: nrf2_hfxo: impl resolve and startup_time
Implement nrf_clock_control_resolve() and
nrf_clock_control_get_startup_time_us() APIs.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-06-04 17:00:40 +02:00
Tien Nguyen
5f69dd15a5 drivers: gpio: Add support for RZ/V2H
Add support for RZ/V2H

Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
Signed-off-by: Quang Le <quang.le.eb@bp.renesas.com>
2025-06-04 17:00:01 +02:00
Tien Nguyen
645acc5e9d drivers: serial: Add support for Renesas RZ/V2H
Add support for Renesas RZ/V2H

Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
Signed-off-by: Quang Le <quang.le.eb@bp.renesas.com>
2025-06-04 17:00:01 +02:00
Johan Lafon
cf569036d1 driver: adc: add MCP3561/2/4R driver
Add driver for the microchip MCP3561/2/4R ADC. Registers lock and
CRCCFG protection mecanism is not implemented. Tested on an MCP3564R.

Signed-off-by: Johan Lafon <johan.lafon@syslinbit.com>
2025-06-04 16:58:52 +02:00
Sudarsan N
34f5f8d556 drivers: adc: Prevent overflow in max1125x_read_sample
Fix potential integer overflow caused by unsafe shift when computing
ADC mid-scale offset. Applies resolution bounds and uses unsigned
shift to avoid undefined behavior.

Fixes: CID 487740
Signed-off-by: Sudarsan N <sudarsansamy2002@gmail.com>
2025-06-04 10:04:14 +02:00
Mike J. Chen
122b14bc68 drivers: gpio_mcux_lpc: fix bug configuring interrupts with GPIO_INT_WAKEUP
If GPIO_INT_WAKEUP is in the trig argument, the selection
of trigger mode breaks because the GPIO_INT_WAKEUP flag
breaks the equal comparisons.

Signed-off-by: Mike J. Chen <mjchen@google.com>
2025-06-04 08:46:15 +02:00
Wilkins White
00ee4a5887 drivers: flash: mcux: fix read for LPC55XXX
The LPC55XXX SoC series requires the use of a HAL function to read
from uninitialized flash without triggering a hardfault. This
broadens an existing #ifdef clause so that it is triggered for all
chips in the series instead of only the LPC55S36.

Signed-off-by: Wilkins White <ww@novadynamics.com>
2025-06-04 08:45:56 +02:00
Luis Ubieda
b402a47604 gnss: u_blox_f9p: Introduce High-precision GNSS module
Basic support: initialization for sending/handling UBX messages and
run-time navigation configurability through GNSS API.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-06-04 08:44:59 +02:00