Commit graph

25,525 commits

Author SHA1 Message Date
Benjamin Cabé
50d3699172 drivers: i2c: i2c_dw: drop unnecessary include
Including soc.h is causing issues - drop as it's not needed
Fixes e.g. the below:
west build -p -b em_starterkit@2.2.0/emsk_em7d \
     tests/drivers/build_all/w1 -T drivers.w1.build

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-09-22 17:49:08 -04:00
Jeremy Truttmann
a5bacc757c drivers: ethernet: lan865x: enable PHY access through generic ethernet_api
This is needed for accessing the PHY device through the Ethernet
network interface.

Signed-off-by: Jeremy Truttmann <jetstreeam.code@outlook.com>
2025-09-22 13:35:28 -04:00
Szymon Janc
893f90f042 bluetooth: hci: userchan: Improve discardable events handling
This mimics IPC transport behavior where BR/EDR Inquiry events as
well as LE Extended Advertising Report (carring legacy PDU) are
considered discardable.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2025-09-22 13:34:59 -04:00
Rafał Kuźnia
92b1346f91 drivers: ieee802154: nrf5: Add temporary API migration code
The transmit functions will return an error code, instead of a boolean
value. To prepare for this, the API calls are temporarily implemented in
two variants, for old and new API declarations.

The presence of new API will be detected by the use of
NRF_802154_TX_FUNCTIONS_RETURN_ERROR_CODE macro, which will be
unconditionally defined by a newer nrf-802154 driver.

Signed-off-by: Rafał Kuźnia <rafal.kuznia@nordicsemi.no>
2025-09-22 13:31:17 -04:00
Jun Lin
55cdcdce86 drivers: pwm: npcx: fix word register access check placement
Because the PWM module mixes byte and word register together, the driver
adds an assertion check by writing a pattern to the 2-byte register
`PRSC`, reading it back, and performing a comparison. However,
the `PRSC` register cannot be written when the bit 7 (the PWR bit) in
register `PMWCTLn` is set to 1. This commit moves the assertion check to
a proper place to ensure the write is valid.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2025-09-22 13:29:53 -04:00
Alejandro Perea
fa07a03155 drivers: pwm: flexpwm: Fix consecutive PWM setup
If two pwm_set_pulse_dt calls are put consecutive to each other,
the period has already been configured and they refer to the same module
but different submodule (PWM A & B), the second call fails.

LDOK with ReloadImmediate should result in immediate change of the
buffered registers, but it doesn't seem like that's the case.

To fix this, we busywait on LDOK clearance before setting new pulse values.

Fixes zephyrproject-rtos/zephyr#95653

Signed-off-by: Alejandro Perea <alejandro.perea@classified-cycling.cc>
2025-09-22 13:28:39 -04:00
Sai Santhosh Malae
088b59039d drivers: serial: uart_ns16550: Add pm support for uart_ns16550 driver
This commit enables the pm device runtime driver support
for the uart_ns16550 driver (only for devices that have an
associated power domain enabled).

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-09-22 13:27:01 -04:00
Sai Santhosh Malae
295431dad5 drivers: power_domain: siwx91x: Add power domain driver for siwx91x SoC
1. Added siwx91x power domain node in siwg917.dtsi
2. Updated UART device nodes to reference the newly added power domain.
3. Implemented power domain driver to manage power domain transitions
   for the SoC.

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-09-22 13:27:01 -04:00
Sai Santhosh Malae
ce923eb8fc drivers: dma: siwx91x: Add siwx91x GPDMA driver
Implement GPDMA driver for siwx91x device

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-09-22 13:26:52 -04:00
Sai Santhosh Malae
a0b0173b2f drivers: dma: siwx91x: GPDMA clock initialization for siwx91x
Clock driver changes required for initializing the GPDMA clock
for the siwx91x driver

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-09-22 13:26:52 -04:00
Jordan Yates
c0a2928f46 modem: at_shell: extract user pipe handling
Extract the user pipe setup and claim/release logic so that it can be
re-used by other software modules, if the AT shell is not used. Ideally
the chat instance would live within the `modem_at_user_pipe.c` and be
handed out by `modem_at_user_pipe_claim`, but the current chat API
doesn't make this possible.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-09-22 09:53:00 +02:00
Khoa Tran
c2bb4bd80e drivers: pwm: Add initial polarity value for Renesas RA GPT PWM
Add initial polarity value for Renesas RA GPT PWM

Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
2025-09-22 09:52:27 +02:00
Fin Maaß
186bb57b97 drivers: serial: litex: make sure to just disable irq
just disable irq and not plush pending events,
so we don't loose them, when they are enabled
again.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-09-22 09:51:36 +02:00
Declan Snyder
a6836866b1 drivers: lpuart: Dont say we support async without DMA
The dma has to be enabled on the platform in order for ASYNC API to
work. This can be indicated by whether or not any LPUART node has the
`dmas` property set.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-09-20 11:11:09 +02:00
Quy Tran
77d02aa1f9 drivers: sdhc: Update timeout unit to us for event wait
r_sdhi_wait_for_event requires input timeout as us but the current
implemetation using timeout_ms instead

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
2025-09-20 11:10:24 +02:00
Mahesh Mahadevan
efe34d04d2 drivers: nxp: Use a MACRO to enable Wakeup signals
Switch to using the new NXP_ENABLE_WAKEUP_SIGNAL and
NXP_DISABLE_WAKEUP_SIGNAL macros to avoid adding
platform specific calls in the Zephyr drivers.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-09-20 11:09:00 +02:00
Alexandre Rey
9291bac573 drivers: cop: add support of WDT_DISABLE_AT_BOOT
Add support for CONFIG_WDT_DISABLE_AT_BOOT Kconfig option.

Signed-off-by: Alexandre Rey <alx.rey@icloud.com>
2025-09-20 11:08:45 +02:00
Alexandre Rey
d571f90183 drivers: cop: add NXP cop driver
Port NXP cop driver to Zephyr

Signed-off-by: Alexandre Rey <alx.rey@icloud.com>
2025-09-20 11:08:45 +02:00
Almir Okato
786c9fb35e flash: espressif: erase region before writing if encryption enabled
Ensuring flash region has been erased before writing to avoid
inconsistences and force expected erased value (0xFF) into
flash when erasing a region when Hardware Flash Encryption is
enabled
This is handled on this implementation because MCUboot's state
machine relies on erased valued data (0xFF) readed from a
previously erased region that was not written yet, however when
hardware flash encryption is enabled, the flash read always
decrypts whats being read from flash, thus a region that was
erased would not be read as what MCUboot expected (0xFF).

Signed-off-by: Almir Okato <almir.okato@espressif.com>
2025-09-19 17:57:07 -04:00
Zhaoxiang Jin
6d724bd80d drivers: comparator: Enable nxp comparator (cmp)
Enable nxp comparator (cmp)

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-09-19 17:47:58 -04:00
Zhaoxiang Jin
711a88726d drivers: sim: Enable cmp clock through sim driver
Enable cmp clock through sim driver

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-09-19 17:47:58 -04:00
Biwen Li
16c03c4145 drivers: dma: mcux_edma: convert address
Convert address for dma when update tcd registers.
- This commit fixes a bug that dma reports source/destination bus errors
  when dma try to access the unconveted addresses. The unconverted
  addresses will be reserved address from dma view.

Signed-off-by: Biwen Li <biwen.li@nxp.com>
2025-09-19 17:47:44 -04:00
Jilay Pandya
c7dc59f46d drivers: ethernet phy_dm8806_read_reg reduce nested-ifs
reduce if nesting a bit using early break

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-09-19 21:24:23 +02:00
Jilay Pandya
9992eb90cb drivers: ethernet: phy_dm8806 fix unchecked return value
Check the return values and log them with error loglevel

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-09-19 21:24:23 +02:00
Guillaume Gautier
43bf0b3344 drivers: sensor: st: qdec: remove init struct
Remove the calls to LL_TIM_ENCODER_StructInit and LL_TIM_ENCODER_Init
in the QDEC driver. This avoids calling functions from stm32xxxx_ll_tim.c.
They are replaced by a set of simpler functions from the header file.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-09-19 12:46:46 -04:00
Guillaume Gautier
24dcfb22f0 drivers: pwm: stm32: remork complementary channel logic
Align the definition of the complementary channels to the normal channels.
That way, it is consistent for all arrays, we use channel-1 as index, and
no other operation is necessary.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-09-19 12:46:46 -04:00
Guillaume Gautier
c82a2b2b58 drivers: pwm: stm32: reduce pointer level from cfg->timer to timer
This change reduces the level of pointer indirection, which minimizes
repeated dereferencing and helps reduce the overall code size, in the same
way as commit 48e326a5520ec884f38f6a7ac4e88c59a01ceb95 for UART.

This also fixes the type complimentary -> complementary.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-09-19 12:46:46 -04:00
Guillaume Gautier
a5531f5d98 drivers: pwm stm32: remove init struct
Remove the calls to LL_TIM_xx_StructInit and LL_TIM_xx_Init in the PWM
driver. This avoids calling functions from stm32xxxx_ll_tim.c.
They are replaced by a set of simpler functions from the header file.

OC Init in particular is much simpler now. The init structure needed to be
filled out with the complementary channel (if it existed), even though its
configuration didn't change.
The new init is much more direct and only touches what needs to be
modified.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-09-19 12:46:46 -04:00
Guillaume Gautier
4457e6db95 drivers: counter: stm32: remove init struct
Remove the calls to LL_TIM_StructInit and LL_TIM_Init in the counter
driver. This avoids calling functions from stm32xxxx_ll_tim.c.
They are replaced by a set of simpler functions from the header file.

Also replaces some macros that used constants coming from the HAL. Use
an equivalent coming purely from the LL.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-09-19 12:46:46 -04:00
Gerard Marull-Paretas
e3e2a40895 drivers: serial: sf32lb: add basic driver
Just basic driver with poll-in/out capability.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2025-09-19 16:34:15 +02:00
Gerard Marull-Paretas
2d50a4176b drivers: pinctrl: sf32lb52x: initial driver
Initial driver for SF32LB52X SoCs.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2025-09-19 16:34:15 +02:00
Gerard Marull-Paretas
b083e2c864 drivers: clock_control: sf32lb: add initial driver
Initial driver for SF32LB SoCs. This driver is incomplete, but allows
to configure the system for a minimal boot.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2025-09-19 16:34:15 +02:00
Gerard Marull-Paretas
6558029f99 drivers: clock_control: sf32lb_hxt48: add initial driver
Add driver for HXT48.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2025-09-19 16:34:15 +02:00
Ren Chen
20c8f6b5f7 drivers: pinctrl: it8xxx2: add support for alternate function 5
This commit introduces alternate function 5 setting for it8xxx2 SoC.

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2025-09-19 08:35:10 -04:00
Bhavin Sharma
d368921ae6 drivers: display: Added LPM013M126 display driver.
Add support for JDI LPM013M126 RGB memory display

Co-developed-by: Elgin Perumbilly <elgin.perumbilly@siliconsignals.io>
Signed-off-by: Elgin Perumbilly <elgin.perumbilly@siliconsignals.io>
Signed-off-by: Bhavin Sharma <bhavin.sharma@siliconsignals.io>
2025-09-19 08:31:05 -04:00
Alain Volmat
9cc26d64e3 drivers: memc: stm32: removal of sdram1/sdram2/psram sections handling
SDRAM1 / SDRAM2 / PSRAM sections were being referenced in order to make
them accessible for the framebuffer. This is now addressed via the
mechanism provided by Zephyr hence this is no more necessary.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-09-19 08:28:22 -04:00
Alain Volmat
65ecc42331 display: stm32_ltdc: use LINKER_DT_NODE_REGION_NAME for ext-sdram
Use the LINKER_DT_NODE_REGION_NAME macro in order to get the
memory-region into which to put the framebuffer for the LTDC.
This is made possible since all memory areas have the
zephyr,memory-region compatible, allowing to have each region
referenced within the linker script generated by Zephyr.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-09-19 08:28:22 -04:00
Chaitanya Tata
386dcbe72c drivers: nrf_wifi: Fix scan crash for 2nd VIF
Move the VIF initialization to top to do it for both VIFs, this fixes a
crash when scanning on the 2nd VIF.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-09-19 08:27:55 -04:00
Chaitanya Tata
1c6a00bd5d drivers: wifi: nrf7002: Add support for multiple virtual interfaces (VIFs)
Description:
The nRF7002 firmware supports two virtual interfaces (VIFs) that can
operate in different modes (e.g., AP and STA). However, the existing
Zephyr driver only utilizes a single VIF, preventing full
multi-interface support.

This commit extends the nRF7002 driver to support multiple VIFs by
making the following modifications:

* The driver already contains an array of vif_ctx_zep, but only the
first item was being used. Now, a second Ethernet device is registered
using vif_ctx_zep[1], enabling multi-VIF operation.
* Introduced vif_ctx_cnt to keep track of active interfaces and manage
their state effectively.
* Ensured that FMAC (Firmware MAC) is initialized only once, avoiding
redundant initializations when multiple VIFs are present.
* The UMAC control commands previously did not associate responses with
the issuing VIF. A queue is now introduced to track the originating VIF
for each command and correctly route the response event to the
corresponding interface.

Signed-off-by: Hanan Arshad <hananarshad619@gmail.com>
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-09-19 08:27:55 -04:00
Benjamin Cabé
27fa721632 drivers: serial: opentitan: remove bogus depends on clause
CONFIG_SERIAL_SUPPORT_INTERRUPT is a Kconfig option that is supposed to
be selected by serial drivers that support interrupts. This commit
removes a bogus "depends on !SERIAL_SUPPORT_INTERRUPT" which does not
make sense and causes some tests to fail.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-09-19 08:06:42 +02:00
Dipak Shetty
c85922f97c drivers: sensor: ti: tmp1075: fix one-shot conversion for shutdown mode
Add missing one-shot conversion logic in sample_fetch when driver is
configured for shutdown mode. Previously, the driver would attempt to
read temperature without triggering conversion, resulting in stale data.

Signed-off-by: Dipak Shetty <shetty.dipak@gmx.com>
2025-09-18 19:09:11 -04:00
Arthur Gay
acf7657c45 drivers: sensor: lis2dh: Add self-test attribute
Add support for enabling and configuring the self-test mode of the
LIS2DH accelerometer through a dedicated sensor attribute.

Signed-off-by: Arthur Gay <arthur.gay@marshmallow.kids>
2025-09-18 19:08:32 -04:00
Albort Xue
7b561f7605 drivers: flash: flash_mcux_flexspi_nor: Adjust bit field check sequence.
Adjust the bit field check sequence for "en4b" to support some flash
devices that offer multiple mechanisms for entering 4-byte address
mode.

Signed-off-by: Albort Xue <yao.xue@nxp.com>
2025-09-18 13:51:28 -04:00
Jamie McCrae
8498c39e13 drivers: Fix some Kconfig bleeds
Fixes instances of Kconfig options appearing for completely
irrelevant builds

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-09-18 13:50:33 -04:00
Qiang Zhao
b4f043d182 drivers: clock_control_mcux_ccm_rev2: add SAR_ADC clock support
Added SAR_ADC clock support for clock_control_mcux_ccm_rev2

Signed-off-by: Qiang Zhao <qiang.zhao@nxp.com>
2025-09-18 13:48:15 -04:00
Qiang Zhao
1e890b2d68 drivers: adc: add support sar adc driver
Add driver for the SAR ADC

Signed-off-by: Qiang Zhao <qiang.zhao@nxp.com>
2025-09-18 13:48:15 -04:00
Julien Panis
c625853b19 drivers: serial: cc23x0: Add power management
Add PM support to cc23x0 UART module.

Signed-off-by: Julien Panis <jpanis@baylibre.com>
2025-09-18 13:47:56 -04:00
Steffen Schulz
4ae52ca220 drivers: sensors: add a sensor driver for INA7xx
Add a sensor driver for the TI current sensor.
INA700, INA745, INA780

Signed-off-by: Steffen Schulz <steffenschulz@gmx.de>
2025-09-18 13:41:50 -04:00
Josuah Demangeon
ccaaaabba2 drivers: video: stm32_dcmi: add missing capability property
In the DCMI video driver, set the caps.min_vbuf_count field to
indicate that two buffers are needed. Fix use of un-initialized
memory breaking the samples in some situations.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2025-09-18 15:44:27 +01:00
Karol Lasończyk
afff286f74 drivers: audio: Fix nrfx_pdm compilation
Fixes drv_data structure handling in various configuration.

Signed-off-by: Karol Lasończyk <karol.lasonczyk@nordicsemi.no>
2025-09-18 15:43:49 +01:00