Commit graph

24538 commits

Author SHA1 Message Date
Chun-Chieh Li
2fd79998d0 drivers: wifi: esp_at: fix +CIPRECVDATA parsing for AT 1.7
This fixes +CIPRECVDATA parsing for AT 1.7. Per AT 1.7 spec,
remote ip/port is not replied.

Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
2025-06-26 11:19:56 +02:00
Qiankun Li
702221da2d drivers: wifi: nxp: Fix TWT setup issue.
When try to set twt, system will try to
get interface status firstly.
In shim driver, miss filling twt_capable field.
The twt_capable is set as false by default.
Failed to set twt because of incorrect
twt_capable.

Add enhance code to fill twt_capable field
in shim driver.

Signed-off-by: Qiankun Li <qiankun.li@nxp.com>
2025-06-26 11:19:48 +02:00
Martin Jäger
cba8b33c3d drivers: ieee802154: Add implementation for ESP32 series
Initial commit of the IEEE 802.15.4 driver using Espressif HAL.

Signed-off-by: Martin Jäger <martin@libre.solar>
2025-06-26 11:12:34 +02:00
Khoa Tran
e84ea05dd4 drivers: i2s: Initial driver support for SSIE on Renesas RA
Add i2s driver support for Renesas RA SSIE

Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
2025-06-26 11:12:21 +02:00
Chew Zeh Yang
5e5c40c489 drivers: udc_ambiq: added support for double endpoint buffer
implements option to enable double endpoint buffer to improve throughtput
for non-control endpoints.

Signed-off-by: Chew Zeh Yang <zeon.chew@ambiq.com>
2025-06-26 11:12:02 +02:00
Chew Zeh Yang
46cdb84590 drivers: udc_ambiq: add support for apollo510
Added UDC support for Ambiq apollo510 family with USB HS and DMA support.

Signed-off-by: Chew Zeh Yang <zeon.chew@ambiq.com>
2025-06-26 11:12:02 +02:00
Nhut Nguyen
f7120c716b driver: serial: rz: Fix serial issue with sci and scif
Fix issues that Renesas RZ boards cannot run the below serial
samples properly with sci and scif.

- `samples/subsys/console/echo`
- `samples/subsys/shell/shell_module`

The modification is to make the callback invoked in tei interrupt.

Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2025-06-26 11:11:47 +02:00
b1cd947771 drivers: adc: add a driver for the CH32V003 ADC
The CH32V003 has a 8 channel, 10 bit onboard ADC. Add an immediate
mode driver and the appropriate pinctrl bindings. Note that the
CH32V003 GPIO pins have both a floating input and an analogue input
mode, and the pinctrl is needed to put the pin in analogue mode.

Signed-off-by: Michael Hope <michaelh@juju.nz>
2025-06-26 09:42:20 +02:00
Benjamin Cabé
a06454f61f drivers: i2c: renesas_rz_riic: fix apply state in init code
Fixed the reverse logic of checking if `pin_config` is set in the init
code.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-26 09:39:39 +02:00
Marco Marche
f5f90395c9 drivers: adc: ad7124: add current sources support
Adds support for configuring the AD7124's excitation current sources.

Signed-off-by: Marco Marche <marco.marche@gmail.com>
2025-06-26 09:39:25 +02:00
37190890d6 drivers: gpio: add interrupt support for the CH32V family
The WCH GPIO peripheral integrates with the EXTI and supports firing
interrupts when a GPIO pin changes.

Add optional support for firing a callback on rising edge, falling
edge, or both edges.

Tested on the `linkw` and the `ch32v006evt` using
`samples/basic/button`.

Signed-off-by: Michael Hope <michaelh@juju.nz>
2025-06-26 09:38:56 +02:00
b99b7d14f1 drivers: interrupt_controller: add a WCH EXTI external interrupt driver
The WCH External Trigger and Interrupt controller (EXTI) supports
between 8 and 22 lines where each line can trigger an interrupt on
rising edge, falling edge, or both edges. Lines are assigned to a
group, and each group has a separate interrupt. On the CH32V003/6,
there is one group of 8 lines, while on the CH32V208 there are
multiple groups with between one and six lines per group.

In the same way as the STM32 and GD32, define an EXTI driver that
configures the peripheral and an internal interface that can configure
individual lines.

Signed-off-by: Michael Hope <michaelh@juju.nz>
2025-06-26 09:38:56 +02:00
Jamie McCrae
98c5b1c1fa drivers: clock_control: nrf: Fix bleeding Kconfig
Fixes a Kconfig bleeding through to every device

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-06-25 15:57:24 -10:00
Thao Luong
780aa50179 drivers: misc: Update renesas ra external interrupt to support RA8P1
This is temporary update because in HWM only mention IRQCR but
FSP is defining for IRQCRa and IRQCRb with same values.
Haven't understood why need both  IRQCRa and IRQCRb.
Current update is using IRACRa.

Signed-off-by: Thao Luong <thao.luong.uw@renesas.com>
2025-06-25 15:56:20 -10:00
Thao Luong
720d4c61a9 drivers: clock_control: Add support for RA8P1
Add additional clocks to support for RA8P1.

Signed-off-by: Thao Luong <thao.luong.uw@renesas.com>
2025-06-25 15:56:20 -10:00
Thao Luong
40ff446e10 drivers: gpio: add support for RA8P1
RA8P1 has 14 ports (from 0 to d) and 32 external irq while current
driver support 12 ports (0 to b) and 16 external irq.
This add addtional support for remain ports and external irq to be
able to work with RA8P1.

Fix the lack condition GPIO_RA_IOPORT for GPIO_RA_HAS_VBTICTLR
config

Signed-off-by: Thao Luong <thao.luong.uw@renesas.com>
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2025-06-25 15:56:20 -10:00
Benjamin Cabé
5b0808fa4a drivers: gpio: rzt2m: properly handle error from rzt2m_gpio_get_pin_irq
For the negative errno rzt2m_gpio_get_pin_irq may return to be properly
handled, irq variable needs to use signed type.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-25 15:55:58 -10:00
Alain Volmat
2d1a5b8426 video: shell: correct incorrect error return value in cmd_video_format
Correct cmd_video_format return value in case of video_shell_parse_in_out
returns a negative value.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-25 15:55:24 -10:00
Alain Volmat
c714fac300 video: shell: addition of video selection support
Add shell handling in order to interact with drivers
via the set/get_selection APIs allowing to get/set
crop / compose and get HW capabilities such as
crop bound / compose bound or native size.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-25 15:55:24 -10:00
Alain Volmat
0b9a06909e video: stm32: dcmipp: add set/get_selection handling
Add possibility to perform crop on all pipes and compose (downscale) on
pixel pipes (endpoint #1 and endpoint #2).
Rework the code in order to move the downscale control from
the set_fmt into the set_selection (compose).

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-25 15:55:24 -10:00
Yishai Jaffe
88eda71497 gpio: adopt SHELL_HELP
Adopt SHELL_HELP macro for gpio_shell

Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
2025-06-25 15:53:28 -10:00
Chun-Chieh Li
8a9dc13e91 drivers: wifi: esp_at: fix rx_sock not ref-counted
This fixes rx_sock is not reference-counted, or crash error on reference
to released socket.

Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
2025-06-25 15:49:26 -10:00
Chun-Chieh Li
db59acba5e drivers: wifi: esp_at: fix deadlock in socket close path
This fixes deadlock in socket close path. In the scenario:
1. on_cmd_ipd/esp_socket_rx invokes esp_socket_ref_from_link_id
   and increments refcount.
2. zvfs_close/esp_put locks cond.lock.
3. zvfs_close/esp_put waits on sem_free.
4. on_cmd_ipd/esp_socket_rx waits on cond.lock before esp_socket_unref.
5. sem_free waits on esp_socket_unref for refcount reaching zero.

As we detect socket is closing, we can ignore last rx data and escape
from the trap.

Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
2025-06-25 15:49:26 -10:00
Chun-Chieh Li
622fddb0b8 drivers: wifi: esp_at: fix premature socket release
This fixes premature socket release. Without this fix, system will crash
because esp_rx thread can still hold reference to the socket in the
following cases:
1. esp_rx thread has got the socket reference but hasn't unref'ed
   via esp_socket_unref.
2. esp_rx thread can still get the socket reference for refcount not
   being zero in esp_socket_ref.

Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
2025-06-25 15:49:26 -10:00
Emil Lindqvist
401ec8bae2 modem_cellular: lara_r6: add option to clear forbidden networks from SIM
SIM-cards remember which networks has rejected attach attempts. This is
not always desired if the user has control over which networks to allow.
This commit adds a Kconfig symbol which enables clearing of saved
forbidden networks from SIM-card on boot.

Signed-off-by: Emil Lindqvist <emil@lindq.gr>
2025-06-25 15:42:41 -10:00
Emil Lindqvist
e27c4ba718 modem_cellular: lara_r6: add choice of Radio Access Technology
Add a Kconfig choice to select which Radio Access Technology to be used

Signed-off-by: Emil Lindqvist <emil@lindq.gr>
2025-06-25 15:42:41 -10:00
Emil Lindqvist
bebfd879bf modem_cellular: lara_r6: disable modem's own LWM2M client
U-blox LARA-R6 LWM2M client is enabled by default. Not only causes this
the modem to connect to U-blox's server on its own, it also for some
reason causes the modem to reply "Destination unreachable" to DNS answers
from DNS requests that we send

Signed-off-by: Emil Lindqvist <emil@lindq.gr>
2025-06-25 15:42:41 -10:00
Mickael Bosch
888bde94be drivers: timer: handle the stm32u0 target
Configure the lptim to wake-up from sleep.

Signed-off-by: Mickael Bosch <mickael.bosch@linux.com>
2025-06-25 15:33:47 -10:00
Loic Domaigne
836cf37dcc driver: gpio_ite_it8xxx2_v2: fix untrusted bound loop
Coverity is reporting a possible untrusted loop bound, caused by accessing
num_pins through a tainted pointer. Use explicit type cast to keep coverity
happy.

CID: 347195

Signed-off-by: Loic Domaigne <tech@domaigne.com>
2025-06-25 14:09:34 +02:00
Fabio Baltieri
4f3523d9af i2c: stm32: drop few redundant guards
Drop few CONFIG_PM_DEVICE_RUNTIME guards, the pm_device_runtime
functions they are masking are no-op automatically when the
corresponding config option is not selected.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-06-25 14:08:08 +02:00
Fabio Baltieri
67f80e35b8 i2c: stm32: always call runtime_get when registering targets
Current code only calls pm_device_runtime_get when registering target
devices if the device is marked as wakeup capable by the application.

This does quite work for a setup with PM=n and PM_DEVICE=y and
PM_DEVICE_RUNTIME=y, where the CPU does not really go in stop mode ever,
and results in the i2c target device not working at all.

Fix this by always claiming the device when PM_DEVICE_RUNTIME is
enabled.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-06-25 14:08:08 +02:00
Markus Lassila
581f75656d drivers: gpio_nrfx: Free channel when changing mode
Fix an issue where calling gpio_pin_interrupt_configure
with edge mode and later calling it with level mode, did
not release the allocated gpiote channel.

Repeating the above sequence caused us to run out of
gpiote channels.

Signed-off-by: Markus Lassila <markus.lassila@nordicsemi.no>
2025-06-25 14:07:48 +02:00
Aksel Skauge Mellbye
fccc0a7544 drivers: pwm: silabs: Add TIMER PWM driver for Series 2
Add PWM driver for the Timer peripheral on Series 2.
The TIMER uses the high-frequency EM01 Group A clock, and has
a 16- or 32-bit counter. It supports PWM period and pulse capture
on channel 0, and PWM output on all channels.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-06-25 14:07:40 +02:00
Aksel Skauge Mellbye
566fc7a7db drivers: pwm: silabs: Add LETIMER PWM driver for Series 2
Add PWM driver for the Low Energy Timer peripheral on Series 2.
The LETIMER runs at up to 32 kHz and has a 24-bit counter. It
only supports PWM output, it does not support input capture.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-06-25 14:07:40 +02:00
Bjarki Arge Andreasen
bb319603fd drivers: clock_control: nrf: add support for HFCLK24M
Add support for the HFCLK24M clock to the clock_control_nrf
device driver.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-06-25 14:07:20 +02:00
Andrzej Głąbek
9207a21c0e drivers: flash_util: Issue error log message when flash_fill write fails
Use LOG_ERR() instead of LOG_DBG() in flash_fill() when this function
fails to perform the write operation, so that the failure is better
visible and its cause is easier to identify.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-06-25 14:06:07 +02:00
Tomas Barak
d42d321b57 drivers: i2s: mcux_sai: Add condition for both directions configuration
- i2s_mcux_sai doesn't support configuration of both directions

Signed-off-by: Tomas Barak <tomas.barak@nxp.com>
2025-06-25 14:05:47 +02:00
Benjamin Cabé
d30adebf91 drivers: espi: espi_mchp_xec: fix typo in receive_oob error checking
Check error using the proper RX mask

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-25 10:53:09 +02:00
Khoa Nguyen
edb1840f64 drivers: misc: ethos_u: Create the ethos_u_common for every vendor
Seperate the ``ethos_u_common`` for every vendor and
``ethos_u_arm`` for sepcific Arm's boards. Enable vendors
to self-configure the init flow and IRQ handler.

Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2025-06-25 10:52:48 +02:00
Phi Tran
d8ab33ae96 drivers: pwm: Add support for PWM driver on RSK_RX130_512KB
This is initial commit to support PWM driver
on Renesas RX130 with MTU modules.

Signed-off-by: Phi Tran <phi.tran.jg@bp.renesas.com>
2025-06-25 10:52:34 +02:00
Benjamin Cabé
97324c93f8 drivers: video: esp32_dvp: use inclusive language
Replaced the term "master clock" by "main clock"

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-25 10:49:41 +02:00
Benjamin Cabé
4aac7c16aa drivers: video: use inclusive language
Replaced the term "master" by "primary" in video_ctrls.c/.h

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-25 10:49:41 +02:00
Oleksii Shcherbyna
35608e295d drivers: fuel_gauge: Fix incorrect variable in bq27xx chem_id switch
The bq27xx driver incorrectly uses the 'val' variable in a switch()
statement that should operate on 'chem_id'. This leads to incorrect
behavior for fuel gauges such as the BQ27427, where the chemical ID
determines how properties are interpreted.

This commit replaces 'switch(val)' with 'switch(chem_id)' to ensure
proper handling of fuel gauge behavior across supported devices.

Signed-off-by: Oleksii Shcherbyna <oleksii.shcherbyna@droid-technologies.com>
2025-06-25 10:49:10 +02:00
Jiafei Pan
ea24ec19e1 drivers: can: mcux: flexcan: add mmio mapping support
Use MMIO for device memory mapping, so that the driver can be used
both on MCU and MPU.

Add removed static MMU mapping in some platform accordingly.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-06-25 09:52:56 +02:00
Jiafei Pan
df0304ae09 drivers: clock_control: mcux_ccm: add flexcan clock support
Enable FlexCAN clock support on imx8mp.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-06-25 09:52:56 +02:00
Thao Luong
7dcdcf18cd drivers: spi: Add support for ra2l1
RA2L1 doesn't support for SPI Hardware Peripgheral Select.
Disable this config as default in RA2L1

Signed-off-by: Thao Luong <thao.luong.uw@renesas.com>
2025-06-25 09:52:23 +02:00
Daniel DeGrasse
640958de1d drivers: sensor: npm13xx_charger: fix build warnings from native_sim
Fix the following build warnings highlighted in this driver while
building with clang targeting native_sim:

- exp() expects a double, so passing a float would cause type promotion
- variable declarations within C switch statements are a C23 specific
  extension

Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
2025-06-25 09:51:18 +02:00
Benjamin Cabé
350a5ef394 drivers: display: ssd1322: fix out-of-bound access
Fix memory corruption issue where buffer pointer was not being advanced
properly due to missing dereference.

Fixes Coverity issue CID 434607
Fixes zephyrproject-rtos/zephyr#81957

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-24 20:14:31 -10:00
Benjamin Cabé
1b93ce7226 drivers: sensor: paj7620: fix return value of paj7620_get_hw_id()
Use a local signed variable to store negative return values instead of
unsigned previously so that errors are actually detected/returned.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-24 20:13:57 -10:00
Alain Volmat
d9c935c00e video: gc2145: convert to multi-instance driver
Allow the driver to be instanciated multiple times.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-24 20:12:51 -10:00