Commit graph

28,390 commits

Author SHA1 Message Date
Tomasz Moń
6f0a40090f drivers: udc_dwc2: Avoid endpoint disable timeouts on bus reset
DWC2 core automatically clears USBActEP (for all endpoints other than
endpoint 0) on bus reset. While core is deactivating the endpoint, it
does not disarm it.

On bus reset USB stack first calls ep_disable API and then ep_dequeue.
This was leading to endpoint is not active warning followed by endpoint
disable timeout. Disable timeout was effectively caused by waiting for
EPDisbld interrupt on endpoint with disabled interrupts.

Solve the issue by unconditionally disarming endpoint in ep_disable API
handler. Remove the false warning because USBActEP cannot really be used
for sanity checking as it is not only the driver that clears it.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-11-27 13:48:18 +00:00
Tim Lin
8c00b5359b drivers: i2c: i2c_ite_enhance: refactor pio isr handling
This commit refactors the pio isr handling to avoid losing i2c
transactions that occur back-to-back. It also removes the
compile-time check for target buffer mode config, as both pio
and dma modes are now supported.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2025-11-27 14:46:14 +01:00
Nikodem Kastelik
ad1e5ac253 nordic: update and align to nrfx 4.0.1
New nrfx release contains major rework of nrfx drivers
instantiation making it easier to integrate with dts nodes.
Now, nrfx driver instances can no longer be `const`
because they contain driver runtime state.
Additionally, all nrfx drivers return `errno` error codes
instead of deprecated `nrfx_err_t`.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2025-11-27 14:45:17 +01:00
Kiara Navarro
ee7792c343 lora: remove EXPERIMENTAL from already unstable api
Based on api lifecycle documentation, the lora driver has been recently
moved to unstable. This means that the state of this driver is no longer
experimental. Due this new state, the change should be updated on
Kconfig.

This commit remove the `EXPERIMENTAL` symbol selection from the driver
itself. It also remove the word `experimental` from the lora basic
modem backend since the api lifecycle documentation only describes the
state of the api based upon the api itself and not any particular
backend implementation.

Signed-off-by: Kiara Navarro <knavarro@paltatech.com>
2025-11-27 11:33:59 +01:00
Qingsong Gou
e968b69db8 drivers: adc: sf32lb: add adc driver support
Add adc driver for sf32lb platform

Signed-off-by: Qingsong Gou <gouqs@hotmail.com>
2025-11-27 11:32:59 +01:00
Johann Fischer
0d515e777f drivers: udc_dwc2: avoid register read on disabled controller
The VBUS bounces when the USB connector is plugged in. This can lead to
events VBUS removed and Suspended occurring in that order. With
hibernation support enabled, hibernation request, as result of the
suspend interrupt, will be delegated to the driver thread. Once the
driver thread is scheduled to process hibernation request, the
controller may be already disabled and controller/phy clocks be off. On
nRF54LM20 this leads to CPU crash and a hang.

To avoid this happening, cancel the possible hibernation request after
interrupts are disabled. Although the thread could be still waked up
because of USBSUSP interrupt raised and event posted, this is considered
to be harmless, as there would be a second check in the thread whether
the event is still valid or is cleared in between.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2025-11-27 11:29:43 +01:00
Camille BAUD
2c8912e223 drivers: spi: Introduce Basic BFLB SPI driver
Introduce spi driver with basic features

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-11-27 11:27:45 +01:00
Camille BAUD
b46ce633dd drivers: clock_control: bflb: Add SPI elements
Add clock elements to enable using SPI

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-11-27 11:27:45 +01:00
Qingsong Gou
d3037c6361 drivers: spi: add spi driver for sf32lb platform
Add spi driver for sifli sf32lb platform

Signed-off-by: Qingsong Gou <gouqs@hotmail.com>
2025-11-26 12:17:32 -05:00
Zhaoxiang Jin
bcb1813f5c drivers: systick: Add prompt for CORTEX_M_SYSTICK_RESET_BY_LPM
This commit adds a prompt to the Kconfig file to make
CORTEX_M_SYSTICK_RESET_BY_LPM option more visible to users
configuring the driver.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-11-26 12:15:26 -05:00
Zhaoxiang Jin
3e5320192b drivers: cortex_m_systick: add stub callback for idle timer alarm
When low-power mode timer is enabled, a counter alarm is set on the
idle timer before entering low-power mode. The counter API requires
a non-NULL callback function for the alarm. This commit adds a stub
callback function to satisfy the API requirement.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-11-26 12:15:26 -05:00
John Batch
5c2332c7d4 drivers: spi: Removing devicetree references to cat1-spi-pdl
Removing references to infineon,cat1-spi-pdl from the device tree files.
Updates the driver bindings and driver file to look at the
infineon,cat1-spi binding and uses a Kconfig option to select Legacy HAL
implementation instead.

See https://github.com/zephyrproject-rtos/zephyr/pull/98035 for context.

Signed-off-by: John Batch <john.batch@infineon.com>
2025-11-26 12:13:48 -05:00
Erwan Gouriou
6b6018e969 drivers: interrupt_controller: stm32: Fix discontinuous index in n6/mp1x
Similarly to what was present on L0, GPIO port indexes are not continuous
in EXTI configuration register and a dedicated treatment is required.
Deal with it case by case.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2025-11-26 12:11:48 -05:00
Qingsong Gou
0278e67afa drivers: rtc: sf32lb: fix nsec error
Fix nsec set and get

Signed-off-by: Qingsong Gou <gouqs@hotmail.com>
2025-11-26 12:11:39 -05:00
Aksel Skauge Mellbye
ad867a1264 drivers: entropy: gecko_trng: Fix blocking behavior
entropy_get_entropy() is allowed to block while waiting for
entropy. Don't exit with an error if entropy is exhausted,
wait instead. Move clock enable out of the inner loop to avoid
unnecessarily calling it multiple times.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-11-26 11:09:19 +00:00
Andrzej Głąbek
15dabaa595 drivers: uart_nrfx_uarte: Fix runtime device PM for interrupt driven API
Add missing getting/putting of the device when the RX interrupt is
enabled/disabled. Also fix enabling and disabling of the TX interrupt
so that the device is got/put only if the interrupt wasn't already
enabled/disabled and device PM reference counting is done correctly.

This fixes `console_getchar()` that would hang when used with
`CONFIG_PM_DEVICE_RUNTIME=y`.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-11-26 11:06:18 +00:00
Matthias Alleman
60fd112806 drivers: ethernet: phy: phy_mii: add gpio reset
Add support for hardware reset to the phy_mii driver

Signed-off-by: Matthias Alleman <matthias.alleman@basalte.be>
2025-11-26 11:05:52 +00:00
Etienne Carriere
ca9d5e8190 drivers: ipm: stm32_hsem: clean indentation in instance init macros
Clean indentation in macros used to define instances in STM32
HSEM hardware semaphore drivers.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-11-26 11:03:50 +00:00
Etienne Carriere
a2a9541cea drivers: serial: stm32: simplify ISR handlers definition
Simplify interrupt handler helper macros by removing
STM32_UART_IRQ_HANDLER_DECL(), using STM32_UART_IRQ_HANDLER() only
renamed STM32_UART_IRQ_HANDLER_DEFINE() and aggregating where the
macro and STM32_UART_IRQ_HANDLER_FUNC() macro are defined.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-11-26 11:03:50 +00:00
Etienne Carriere
8001b3c343 drivers: serial: stm32: clean indentation in instance init macros
Clean indentation in local macros used to define UART instances.
Remove extra line escape ending CONFIG_UART_ASYNC_API() macro value.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-11-26 11:03:50 +00:00
Etienne Carriere
2f4962fa0a drivers: pwm: stm32: clean indentation in instance init macros
Clean indentation in IRQ_CONNECT_AND_ENABLE_BY_NAME(), IRQ_CONFIG_FUNC()
and IRQ_CONNECT_AND_ENABLE_DEFAULT() macros of STM32 PWM driver.
Remove a useless trailing semi column character in the interrupt function
defined with IRQ_CONFIG_FUNC() macro.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-11-26 11:03:50 +00:00
Etienne Carriere
b69361f88b drivers: i3c: stm32: clean indentation in instance init macros
Clean indentation in STM32_I3C_DMA_CHANNEL_INIT() and
STM32_I3C_DMA_CHANNEL() macros of STM32 I3C driver.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-11-26 11:03:50 +00:00
Etienne Carriere
f98f568275 drivers: i2c: stm32: clean indentation in instance init macros
Clean indentation in I2C_DMA_DATA_INIT() and I2C_STM32_INIT() macros.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-11-26 11:03:50 +00:00
Etienne Carriere
9dfd35115b drivers: sdmmc: stm32: clean indentation in instance init macros
Clean indentation in SDMMC_DMA_CHANNEL() macro and fix an extra line
escape at last line of SDMMC_DMA_CHANNEL_INIT() macro value.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-11-26 11:03:50 +00:00
Etienne Carriere
2ea6435bb7 drivers: clock_control: stm32: clean indentation in instance init macros
Clean indentation in STM32_MCO_INIT() and STM32_MUX_CLK_INIT() macros.
Add after coma pclken field value in stm32_clk_mux_cfg_##id to ease
possible later changes.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-11-26 11:03:50 +00:00
Mihira Madhava Bollapragada
adf1c8c693 drivers: intc: change the VIM kconfig to TI_VIM
VIM is a vector interrupt manager that TI devices have and is used a
interrupt controller. the driver's Kconfig selection is created as "VIM"
and is resulting in the confusion with a Text Editor name.

Make the VIM Kconfig option to indicate the vendor TI name in it.

Signed-off-by: Mihira Madhava Bollapragada <madhava@ti.com>
2025-11-26 07:10:13 +00:00
Fabin V Martin
876eb94234 drivers: entropy: microchip: add entropy g1 driver
Add entropy g1 driver for Microchip TRNG

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2025-11-26 07:09:41 +00:00
Sreeram Tatapudi
a039b94f48 drivers: flash: Infineon: Add QSPI Flash driver for PSE84
Add QSPI Flash driver for PSE84 (based on the serial-memory asset)

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2025-11-25 20:23:14 -05:00
Pisit Sawangvonganan
7aa052e7f1 drivers: can: sja1000: consolidate SFF/EFF payload loops
Utilize `data_reg` to select the appropriate SFF/EFF data register
base and use a single read/write loop for frame data access.
This replaces the separate SFF/EFF loops, streamlining the code
and reducing its footprint.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2025-11-25 20:22:33 -05:00
Benjamin Cabé
9d23d32814 drivers: input: gt911: prefix all macros
macros with very generic name like DEVICE_ID are really not ideal so
prefix them all with GT911_.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-11-25 20:22:20 -05:00
Humphrey Chiramba
960586509b drivers: wifi: esp32: Enable WiFi connection by specifying BSSID
Added a method for users to connect to a given access point
by specifying its MAC address.

Signed-off-by: Humphrey Chiramba <humphrey@plentify.co.za>
2025-11-25 19:24:26 +00:00
Mathieu Choplain
c1d16c0555 drivers: usb: udc: stm32: instance-aware clock configuration handling
Instead of using globals, save the clock configuration from DTS in each
instance's configuration block, from which it is consumed by the driver's
clock configuration functions.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-11-25 17:39:37 +00:00
Mathieu Choplain
172aa3658a drivers: usb: udc: stm32: use direct function calls for clock on/off
To enable/disable clocks, the UDC driver used function pointers stored in
the instance private data(!), which *could* be NULL... but in practice,
they were always initialized. Furthermore, the clock configuration is
done through Clock Control API calls so the code can be shared by all
instances.

Replace indirect calls through function pointers with direct calls to the
"priv_clock_(dis|en)able" function, which are renamed to "udc_stm32_..."
for consistency with the rest of the driver. The now-unused function
pointers are also removed from the instance data structure.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-11-25 17:39:37 +00:00
Mathieu Choplain
e5fdd46a39 drivers: usb: udc: stm32: expand USB_RAM_SIZE in place where it's consumed
Instead of using global macro "USB_RAM_SIZE", replace it by its content
(i.e., DT_INST_PROP()) in the only place where it was used.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-11-25 17:39:37 +00:00
Qingsong Gou
23e8e3bb3f drivers: rtc: sf32lb: add rtc alarm support
Add rtc alarm support for sf32lb platform

Signed-off-by: Qingsong Gou <gouqs@hotmail.com>
2025-11-25 17:36:45 +00:00
Pieter De Gendt
cf0d1b877e drivers: ethernet: sam_gmac: Use ethernet MAC configuration
Rework the Atmel SAM GMAC driver to read a MAC address from the provided
NVMEM cell instead of using I2C commands directly.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-11-25 16:21:30 +00:00
Pieter De Gendt
604efc4e0f drivers: ethernet: eth_test: Add MAC configuration support
Add structs to the vnd,ethernet test driver for MAC address configuration
support.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-11-25 16:21:30 +00:00
Pieter De Gendt
7bc538a8ee drivers: ethernet: Add Helper function to load MAC address
Given an ethernet MAC configuration struct, load a MAC address into a
provided array.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-11-25 16:21:30 +00:00
Jukka Rissanen
afedd24451 drivers: ethernet: net: Replace POSIX symbols by Zephyr ones
The native_sim Ethernet driver was still using POSIX symbols,
so convert these to use Zephyr ones.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-11-25 16:06:56 +00:00
Haoran Jiang
8321842d72 drivers: clock_control: sf32lb_rcc: Add RCC configuration driver
Add RCC configuration driver.

Signed-off-by: Haoran Jiang <halfsweet@halfsweet.cn>
2025-11-25 16:05:46 +00:00
Gang He
562afb6279 driver: bluetooth: hci: sifli: Add SF32LB Bluetooth HCI driver
Add Bluetooth driver for SF32LB chipsets.

Signed-off-by: Gang He <ganghe@sifli.com>
2025-11-25 16:05:02 +00:00
Gang He
6305063de2 driver: bluetooth: hci: sifli: Add configuration for SF32LB HCI driver
Add configuration for SiFli SF32LB chipset Bluetooth HCI driver.

Signed-off-by: Gang He <ganghe@sifli.com>
2025-11-25 16:05:02 +00:00
Pascal Linder
f1e1d91e72 drivers: dma: stm32u5: Configure burst lengths
The source and destination burst lengths can be configured with a value
from 1 to 64. As the appropriate values are available in the DMA
configuration structure provided by Zephyr, these can be set during driver
configuration. Unfortunately, the STM32 DMA LL API does currently not
provide the minimum and maximum values.

Signed-off-by: Pascal Linder <pascal.linder@zuehlke.com>
2025-11-25 13:04:10 +01:00
Camille BAUD
660f3a1976 drivers: mipi-dbi: Introduce BFLB dbi driver
Introduces a driver for the BL61x DBI peripheral

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-11-25 13:04:02 +01:00
Camille BAUD
8209c59329 drivers: dma: bflb: Update DMA to properly support device usage
Make it so you can set both address and peripheral via dma_slot

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-11-25 13:04:02 +01:00
Camille BAUD
a3c5e72904 drivers: clock_control: bflb: Add DBI elements
Add clock elements to enable using DBI

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-11-25 13:04:02 +01:00
Mario Paja
3c930a7760 drivers: i2s: stm32 sai enable dma priority configuration
This change enables the user to configure SAI DMA priority.

Signed-off-by: Mario Paja <mariopaja@hotmail.com>
2025-11-25 13:03:41 +01:00
Fabian Blatz
8c264d30ea drivers: input: chsc5x: Add INPUT_TOUCH_STRUCT_CHECK for config
Adds the missing INPUT_TOUCH_STRUCT_CHECK for the config struct, to harden
against member reordering.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2025-11-24 15:27:41 -05:00
Fabian Blatz
421a4232ee drivers: input: Add input-touch assert for inversion without dimensions
Adds an assert to inform the user of possible coordinate wrap around
due to missing screen dimension configurations.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2025-11-24 15:27:41 -05:00
S Swetha
e891ca601e drivers: gpio: intel: Fix Pad IO Termination values
Swap PAD_CFG1_IOSTERM_PU and PAD_CFG1_IOSTERM_PD values.

Signed-off-by: S Swetha <s.swetha@intel.com>
2025-11-24 21:15:21 +01:00