Commit graph

25,525 commits

Author SHA1 Message Date
Tu Nguyen Van
6f4f702ed2 drivers: adc: update new macro name in RTD 2.0.1
FEATURE_ADC_MAX_CHN_COUNT changed to ADC_SAR_IP_MAX_CHN_COUNT
in RTD 2.0.1

Signed-off-by: Tu Nguyen Van <tu.nguyenvan@nxp.com>
2025-05-28 05:54:38 +02:00
5c2e2b7edc drivers: wch: fix the ch32vfun.h path after the recent HAL update
https://github.com/zephyrproject-rtos/zephyr/pull/87125 renamed the
`ch32vfun.h` header but missed some of the drivers. Fix.

Signed-off-by: Michael Hope <michaelh@juju.nz>
2025-05-28 05:54:28 +02:00
Alain Volmat
087a08c5fb video: sw_generator: remove frmival values check
Now that api core functions check that denominator / numerator are not
null, it is no more necessary to perform this check within drivers.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-05-28 05:54:15 +02:00
Alain Volmat
5623772ff3 video: remove valid pointer check in api entry points
Now that video api functions have __ASSERT_NO_MSG calls, drivers
do not need to check the entry point functions pointers.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-05-28 05:54:15 +02:00
Alain Volmat
08df2fd92e video: common: add __ASSERT_NO_MSG in video api function entry
Protect video API functions via __ASSERT_NO_MSG call to ensure that
required pointers are valid when entering functions.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-05-28 05:54:15 +02:00
Jeremy Dick
621f29e331 drivers: input: cap12xx Fix integer overflow warning
Check that calsens values are valid to prevent integer overflow

Coverity-CID: 524767
Fixes #90481

Signed-off-by: Jeremy Dick <jdick@pivotint.com>
2025-05-28 01:48:22 +02:00
Vytautas Virvičius
087267a0ff drivers: modem: add support for Quectel EG800Q
Added support for Quectel EG800Q LTE Cat 1bis modem.

Signed-off-by: Vytautas Virvičius <vytautas@virvicius.dev>
2025-05-28 01:47:56 +02:00
Oleh Kravchenko
8708964049 drivers: display: ssd1306: fix reset
The recommended reset sequence from the datasheet is as follows:

  void SSD1309 ()
  {
  	RES=0;
  	delay(1000);
  	RES=1;
  	delay(1000);
  	..

Signed-off-by: Oleh Kravchenko <oleg@kaa.org.ua>
2025-05-28 01:47:24 +02:00
Nathan Olff
b88a27a3e8 drivers: sensor: adi: add ad2s1210 resolver support
implement driver for ad2s1210 resolver

Signed-off-by: Nathan Olff <nathan@kickmaker.net>
2025-05-27 23:43:56 +02:00
Magpie Embedded
74ef345dc1 drivers: sensor: Add sensor driver for BH1790
This commit adds a driver for the BH1790 Heart Rate Monitor IC.

Based on the approach used by the MAX30101 driver, an existing optical
heart rate sensor with a sample in Zephyr.

Signed-off-by: Magpie Embedded <magpieembedded@gmail.com>
2025-05-27 23:43:43 +02:00
Chen Xingyu
42fb9067e4 drivers: timer: riscv_machine_timer: Use reg-names to access registers
This commit updates the riscv_machine_timer driver to resolve MTIME and
MTIMECMP register addresses by their `reg-names` instead of relying on
index order.

This improves clarity and robustness in DTS bindings, and is a prerequisite
for handling cases where not both MTIME and MTIMECMP registers are present
or accessible.

Signed-off-by: Chen Xingyu <hi@xingrz.me>
2025-05-27 19:04:22 +02:00
Verena Schweinstetter
9313df9813 drivers: stepper: allegro: Fix missing break statement
Fix missing break statement in a4979.c after line 123

Signed-off-by: Verena Schweinstetter <verena.schweinstetter@zeiss.com>
2025-05-27 17:56:27 +02:00
Wouter Horré
5052919a2b drivers: i2c: stm32: Fix size calculation of n_timings
`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`.

Parentheses around the second `sizeof` are there to silence the gcc warning
(-Wsizeof-array-div) that warns about not computing the size of
`i2c_timings_##index`.

Signed-off-by: Wouter Horré <wouter@versasense.com>
2025-05-27 17:55:36 +02:00
Marek Matej
c203760784 drivers: wifi: esp32: Add option for WiFi SPIRAM
Update kconfig to support SPIRAM.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2025-05-27 15:46:08 +02:00
Sergei Ovchinnikov
eb811d1753 drivers: mfd: npm2100: fix timer value calculation
A -1 was missing from the timer value calculation. In addition,
DIV_ROUND_CLOSEST was replaced with a custom macro fixing #84782.

Signed-off-by: Sergei Ovchinnikov <sergei.ovchinnikov@nordicsemi.no>
2025-05-27 14:44:59 +02:00
Alvis Sun
bcf7717e97 drivers: clock_control: npcx: add NPCXn variant support in clock init
As title.

Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
2025-05-27 12:15:36 +01:00
Jean Nanchen
2066b8c7b9 drivers: i2c: stm32: add timeout to avoid infinite loop
Fix issue where STM32 I2C LL driver could block forever when SDA and SCL
are shorted and interrupts are disabled (CONFIG_I2C_STM32_INTERRUPT=n).

Added timeouts to all blocking wait loops in the STM32 LL I2C driver to
avoid indefinite blocking.

Fixes #88506

Signed-off-by: Jean Nanchen <jean.nanchen@hevs.ch>
2025-05-27 12:01:31 +01:00
Muzaffar Ahmed
ecaa19b71b drivers: wifi: siwx91x: Remove set credential for open mode
Removed the unnecessary set_credential API call in open security mode

Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
2025-05-27 11:51:17 +02:00
The Nguyen
613ee72670 drivers: counter: migrate counter AGT to using HAL support
Migrate renesas,ra-agt-counter implementation to use hal_renesas.
Add additional AGT_CLOCK_SUBCLOCK count source.
Add constraint for counter resolution to 32 or 16 bit variant.

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-05-27 11:50:37 +02:00
Jianxiong Gu
d9486cd3f0 drivers: tcpc: Add TCPC driver for FUSB307
Add support for FUSB307.

Signed-off-by: Jianxiong Gu <jianxiong.gu@outlook.com>
2025-05-27 11:50:29 +02:00
Jianxiong Gu
b25bdc4fa7 usbc: tcpc: Update set_drp_toggle function
Updated set_drp_toggle to handle differences in TCPCI revisions.
Added a macro for TCPCI revision and read it from the chip register
during initialization.

Signed-off-by: Jianxiong Gu <jianxiong.gu@outlook.com>
2025-05-27 11:50:29 +02:00
Jianxiong Gu
3f48195113 drivers: tcpc: ps8xxx: Update to use generic TCPCI function
Update set_snk_ctrl, set_src_ctrl, and set_low_power_mode
to use the generic TCPCI function.

Signed-off-by: Jianxiong Gu <jianxiong.gu@outlook.com>
2025-05-27 11:50:29 +02:00
Jianxiong Gu
d18308cde1 usbc: tcpc: Add generic TCPCI related functions
Add generic functions that will be common to TCPCI compliant drivers.

Signed-off-by: Jianxiong Gu <jianxiong.gu@outlook.com>
2025-05-27 11:50:29 +02:00
Karol Lasończyk
22ffe4f531 soc: drivers: nrf: Add support for UARTE23 and UARTE24
Extends configuration to support instances used in new SOCs.

Signed-off-by: Karol Lasończyk <karol.lasonczyk@nordicsemi.no>
2025-05-27 10:29:41 +02:00
Arnaud Pouliquen
c1a13340ce driver: ipm: introduce IPM_MAX_DATA_SIZE build configuration
The ipm_send() allows transferring data through the IPM device.
However, depending on the platform, the mailbox peripheral may either
transmit a limited amount of data or not transfer data at all.
Introducing this configuration allows exposing the IPM capability to the
application.
This commit defines a default value of 1024 bytes to avoid impacting
existing IPM drivers and sets the value to 0 for the STM32 IPCC and
STM32 HSEM devices.

This allows, in a next step, other devices to use this configuration to
expose their capabilities instead of using proprietary configuration or
a static definition.

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
2025-05-27 10:29:20 +02:00
Andrei Menzopol
137199b19f drivers: ieee802154: fix mcxw ieee802154 driver
Fix mcxw_cca function.
Remove not used / not implemented caps.
Select counter as dependency.

Signed-off-by: Andrei Menzopol <andrei.menzopol@nxp.com>
2025-05-27 09:16:04 +02:00
Nitin Pandey
21b20de1eb drivers: wifi: siwx91x: Fix passive scan bug
- Setting default value of passive scan
  dwell time of 400ms as SDK doesn't
  configure default value.

Signed-off-by: Nitin Pandey <nitin.pandey@silabs.com>
2025-05-26 14:17:30 +02:00
Nitin Pandey
efd9519c0a drivers: wifi: siwx91x: Fix MFP bug in wifi status
- Extracting MFP from security mode
  instead of join feature bitmap

Signed-off-by: Nitin Pandey <nitin.pandey@silabs.com>
2025-05-26 14:17:30 +02:00
Nitin Pandey
67ff90d945 drivers: wifi: siwx91x: Fix bssid value in wi-fi status
- changed the BSSID value in siwx91x_status
  from STA MAC address to MAC address of
  connected AP

Signed-off-by: Nitin Pandey <nitin.pandey@silabs.com>
2025-05-26 14:17:30 +02:00
Muzaffar Ahmed
f489670cfb drivers: wifi: siwx91x: Add twt_retry_interval
Added twt_retry_interval (set to 5, the minimum required value by 917)

Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
2025-05-26 14:17:15 +02:00
Ibrahim Abdalkader
a4b9e71ab2 drivers: wifi: Add WiFi drivers for ESP hosted firmware.
This is a host driver for ESP32 chips running the esp-hosted
firmware, which turns ESP32s into a WLAN/BT co-processor.

Signed-off-by: Ibrahim Abdalkader <i.abdalkader@gmail.com>
2025-05-26 14:17:10 +02:00
Andrzej Głąbek
76e770de4b drivers: gpio_nrfx: Add missing break statements in gpio_pin_get_config
... so that the pull-up pin configuration can be correctly reported.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-05-26 13:17:01 +02:00
Sylvio Alves
df5ade9c3e drivers: counter: esp32: add guard period support
Implements guard period support.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-05-26 13:16:53 +02:00
Sylvio Alves
65473e8bee drivers: counter: esp32: add top value handling
Implements top value callback and handling.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-05-26 13:16:53 +02:00
Sylvio Alves
dca598e311 drivers: counter: esp32: add reset counter function
Adds option to reset counter value.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-05-26 13:16:53 +02:00
Amneesh Singh
8eb075fa7b drivers: gpio: davinci: fix gpio output
Currently to set/clear the pins, we do a logical OR of the value with the
existing values in set/clear registers. However, reading these registers
always returns the value in out_data register. This is undesirable as it
can cause unnecessary complications. Consider the following scenario:

We need to set PIN 0:
set_data |= BIT(0)

We need to clear PIN 1:
clr_data |= BIT(1)

The latter would also clear the 0th bit due to the aforementioned
behaviour.

This patch fixes this by writing the mask directly without ORing.

Signed-off-by: Amneesh Singh <a-singh7@ti.com>
2025-05-26 11:54:21 +02:00
Lyle Zhu
71ef6c6979 Drivers: Bluetooth: H4: Use a semaphore to wake up HCI RX thread
There is an issue that the buffer cannot be allocated by the function
`read_payload()` in UART ISR context. Then the UART RX will be
disabled. The H4 driver hopes to get the receive buffer in the HCI RX
thread and then open the UART RX again. However, there is a situation
where the HCI RX thread is blocked in getting the received data
buffer. However, since the UARt RX has been disabled, the HCI RX
thread cannot get the received data buffer. Therefore, the RX thread
is always blocked here, causing the Bluetooth host to not work
properly.

Add a semaphore `rx.ready` to notify new received data buffer has
been added to H4 RX queue.

Wait for the semaphore `rx.ready` instead of H4 RX queue in HCI RX
thread.

Wake up the HCI RX thread when failing to allocate the RX buffer.

Fixes #89879.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-05-26 11:54:09 +02:00
Camille BAUD
94f78a035b drivers: display: Fix Black White Red SSD16xx displays
This fixes SSD16xx tricolor displays being all red when using this driver.

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-05-25 21:55:17 +02:00
Miguel Gazquez
be9549be60 soc: Add support for the WCH CH32V303
Adds support for building an image for the ch32v303.

Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
2025-05-24 18:03:53 +02:00
Miguel Gazquez
2b91c467f2 modules: Update hal_wch
Update hal_wch.

As the hal upstream changed name, there is now a name conflict.
Rename ch32fun.h to hal_ch32fun.h to fix this conflict.

Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
2025-05-24 18:03:53 +02:00
Flavio Ceolin
dfde32144a drivers; crypto: Remove TinyCrypt shim
TC crypto driver was depecrated in 4.0 release. Time to
remove it \o/

Signed-off-by: Flavio Ceolin <flavio.ceolin@gmail.com>
2025-05-23 17:41:06 -04:00
Julien Panis
dd5ed02146 drivers: adc: Add support for cc23x0 ADC
Add support for 16-channel ADC to cc23x0 SoC. The driver supports the
following conversion modes:
- Single channel | Single conversion,
- Sequence of channels (up to 4) | Single conversion.

Signed-off-by: Julien Panis <jpanis@baylibre.com>
2025-05-23 19:49:48 +02:00
Derek Snell
66eb61ae38 drivers: clock_control_mcux_syscon: confine RTC code to SOC_SERIES_MCXN
Some RTC clock code introduced is specific to SOC_SERIES_MCXN, and
causes build failures on other SOCs.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-05-23 17:20:51 +02:00
Jérôme Pouiller
d7f1c0ad5f drivers: wifi: siwx91x: Add support for Enhanced Legacy Power Save
Siwx91x support a specific mode slightly better than the old legacy PS
mode.

This mode has to be set on the NWP boot, so it is not easy to configure
it during the runtime. Hence, this patch only provide a compile time
option to enable it.

Co-authored-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-05-23 17:20:34 +02:00
Jérôme Pouiller
c3ce29eb81 drivers: wifi: siwx91x: Add support for get_power_save_config()
We can now implement the get_power_save_config() callback.

Co-authored-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-05-23 17:20:34 +02:00
Arunmani Alagarsamy
adae16812e drivers: wifi: siwx91x: Add support for set_power_save()
Added power-save mode support to optimize station wake-up timing
and reduce power consumption. The device currently supports
only legacy power-save mode.

This feature can be tested using the Wifi shell:
  - ps: Enable the PS. By default, the device operates in fast
        PSP mode.
  - ps_exit_strategy: Updates mode if enabled; otherwise, follows
        the configured exit strategy when power-save is enabled.
  - ps_wakeup_mode: Configures the wake-up behavior.
  - ps_timeout: Defines the timeout duration for power-save mode.

Co-authored-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-05-23 17:20:34 +02:00
Phi Bang Nguyen
e462ef3c07 drivers: video: ov7670: Set default format to RGB565 QVGA
The default format for ov7670 is currently VGA YUYV and it counts on the
smartdma to reset the format to RGB565 QVGA when get_format() is called.

Recently, set_format() is decoupled from get_format() so this assumption
is nolonger correct.

Set the default format to RGB565 QVGA instead.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2025-05-23 15:39:31 +02:00
Hao Luo
0e4ff0f3fe drivers: gpio: ambiq: need to select AMBIQ_HAL_USE_GPIO
This commit selects AMBIQ_HAL_USE_GPIO to include ambiq GPIO HAL

Signed-off-by: Hao Luo <hluo@ambiq.com>
2025-05-23 11:04:34 +02:00
Luca Burelli
8151dd9c6c drivers: flash_stm32h7: fix flash size detection
Commit 0e41b07309 ("drivers : flash:
update way to get flash size") changed the way to get flash size from
the LL_FLASH_GetSize() HAL function to the current DT_REG_SIZE() macro.

However, they are not equivalent:

- With LL_FLASH_GetSize(), REAL_FLASH_SIZE_KB returned the *total* size
  of the Flash memory, reading it from a ROM register of the CPU. For
  example, it was 2048 (2MB) for a STM32H747xI.

- The current DT_REG_SIZE() applies to a flash *bank*, therefore it only
  returns half of the total Flash size on dual bank devices.

This mismatch causes issues with the DISCONTINUOUS_BANKS logic below,
incorrectly matching partitions close to the end of the first bank as
appearing to span both and triggering the "range overlaps discontinuity"
check later.

Fix it by doubling the size when appropriate, in the same way it is
already done for the M4 core.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2025-05-23 11:04:15 +02:00
Emil Lindqvist
65b7470972 hwinfo: stm32: reverse device id byte order to match v4.1 order
Reverse back the device id byte order to the way it was in v4.1 to
return the same device id.

Signed-off-by: Emil Lindqvist <emil@lindq.gr>
2025-05-23 11:04:10 +02:00