Commit graph

25,525 commits

Author SHA1 Message Date
Jackson Farley
bfdfa2086f serial: Add error checking and interrupt support on mspm0 driver
It is now possible to enable CONFIG_UART_INTERRUPT_DRIVEN for mspm0
uart driver.

Signed-off-by: Jackson Farley <j-farley@ti.com>
Co-authored-by: Hans Binderup <habi@bang-olufsen.dk>
2025-08-19 19:13:34 +02:00
Joel Guittet
3e3ceeae49 drivers: serial: add uart-bitbang support
Initial support for uart bitbang driver.

Signed-off-by: Joel Guittet <joelguittet@gmail.com>
2025-08-19 19:13:19 +02:00
Lucien Zhao
5aa600d117 drivers: hwinfo: add hwinfo_mcux_rstctl.c drivers
Implementation is specific to RSTCTL module.
Code mostly copied from hwinfo_mcux_rcm driver.

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-08-19 18:00:53 +02:00
Sri Surya
acdf69be17 drivers: serial: pl011: Add support for Ambiq Apollo2 SoC UART
Added UART Support for Apollo2 SOC and cleanup.

Signed-off-by: Sri Surya <srisurya@linumiz.com>
2025-08-19 18:00:41 +02:00
Sri Surya
3d91929346 drivers: pinctrl: Add pinctrl driver for Apollo2 SoC
This commit adds pinctrl support for Apollo2 SoC.

Signed-off-by: Sri Surya <srisurya@linumiz.com>
2025-08-19 18:00:41 +02:00
Minh Tang
3f13f25752 drivers: adc: Initial support for ADC driver on RX130
Add driver code and devicetree for 12-bit ADC on
RX130 MCU

Signed-off-by: Minh Tang <minh.tang.ue@bp.renesas.com>
2025-08-19 14:15:41 +02:00
Krzysztof Chruściński
804e502484 drivers: clock_control: nrf: Add missing flags clearing
When BT dedicated API was turning off the HF clock it was not resetting
status flags. When onoff API was attempting to request HF clock after
that it was detecting unexpected state as status flag was indicating
as if HF clock was on.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-08-19 13:02:44 +02:00
Jakub Zymelka
138f977704 drivers: adc: nrfx: enable negative values for single-ended ADC readings
The ADC driver API already supports ADC readings which can return signed
values, these are differential readings. In Nordic's datasheet, we have
a mode called "single ended", but its just a name. "Single ended" is a
differential reading, with the negative channel tied to GND. This is not
compatible with zephyrs definition of a single ended reading.

To support Nordic's "single ended" mode, the user must configure
a differential reading, with the negative input tied to ground, which
the saadc driver can then use to configure the reading as Nordic SAADC
"single ended", and return negative values as expected.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2025-08-19 13:02:21 +02:00
Khaoula Bidani
985d49c18b drivers: clock_control: fix PLL input frequency
Updated the PLL input frequency calculation to include
division by the HSI clock divider.
Enable HSI divider using LL_RCC_HSI_EnableDivider().

Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
2025-08-19 12:27:17 +03:00
Aditya Ganesh
38b40ed16e drivers: dac - Added additional channel selection support for AD5686
Added support for selecting channels A, B, both together, and all channels
on the AD5686 DAC driver. This improves flexibility for multi-channel
DAC applications.

Signed-off-by: Aditya Ganesh <adga5133@colorado.edu>
2025-08-19 09:13:20 +02:00
Pete Dietl
c407fbcfc9 [drivers]: gpios: SN74HC595: Extend to allow for chained shift registers
The current driver has a few limitations:
1. The `ngpios` DT property is fixed at eight.
   Since the SN74HC595 and kin are designed to be
   easily daisychain-able, the upper bound on `ngpios`
   should be limited only by the maximum number of pins
   that Zephyr supports per GPIO port, which is 32.
2. In the case of having no control over the shift register's
   reset input, the device tree node should accept a default
   value to shift into the register(s) during init.
3. There seems to be an assumption that the serial clock
   and load clock are tied together. While this is often the
   case, the device tree node should be more flexible in
   allowing the specification of a separate load clock GPIO pin.
4. The device tree node should also be able to accept a GPIO pin
   to drive the enable input pin of the shift register(s).

This commit addresses all of these issues.

Signed-off-by: Pete Dietl <petedietl@gmail.com>
2025-08-19 09:13:12 +02:00
Pavel Vasilyev
8de6705ec3 drivers: bluetooth: Align bt_hci_send behavior on error
This change alignes HCI drivers behavior with Host expectation. That is:
if an HCI driver managed to send a packet to Controller, the HCI driver
also unreferences it. If the HCI driver didn't manage to send the
packet to Controller and returns an error code, it does not unreferences
buffer.

This change aligns the behavior of HCI drivers with the Host's
expectations. Specifically:
- If an HCI driver successfully sends a packet to the Controller, the
  HCI driver also unreferences it.
- If the HCI driver fails to send the packet to the Controller and
  returns an error code, it does not unreference the buffer.

Fixes #94445

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2025-08-18 22:01:15 +02:00
Keith Packard
469d54e227 drivers/adc/adc_stm32: Check both single-ended and differential defines
The stm32u3x header files defines LL_ADC_SINGLE_ENDED but not
LL_ADC_DIFFERENTIAL as the device doesn't support differential mode. The
driver only checked for LL_ADC_SINGLE_ENDED and assumed that when that was
defined, LL_ADC_DIFFERENTIAL would also be defined.

Check for both when figuring out which calibration type will be required.

Signed-off-by: Keith Packard <keithp@keithp.com>
2025-08-18 22:01:08 +02:00
sudarsan N
863186a4e2 spi: rtio: null pointer dereference in spi_rtio_transceive
Check if cqe is NULL before accessing cqe->result in
spi_rtio_transceive(). Prevents possible null pointer dereference
from rtio_cqe_consume() return value.

CID: 516229
Fixes: #90547

Signed-off-by: sudarsan N <sudarsansamy2002@gmail.com>
2025-08-18 22:00:54 +02:00
Zhaoxiang Jin
c6e5758d46 drivers: interrupt_controller: Update CMakeLists to fix build error
Now use the 5-parameter function "PINT_PinInterruptConfig"
deprecated in MCUX SDK, need to add compile definition
'PINT_USE_LEGACY_CALBACK' to make intc_nxp_pint compatible
with updated 'fsl_pint' driver.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-08-18 22:00:19 +02:00
Fin Maaß
bea75bb138 drivers: spi: remove spi_cs_is_gpio checks
remove spi_cs_is_gpio checks before
spi_context_cs_control, as it is also done
inside and we don't need to check two times.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-08-18 22:00:07 +02:00
Fin Maaß
3f4f8965f3 drivers: spi: spi_context: exclude gpio code if no gpio cs
exclude gpio code if no gpio cs are used
for that spi driver.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-08-18 22:00:07 +02:00
Eden Frosst
0598b2cc81 drivers: serial: stm32: propagate baud rate config failure
The uart_stm32 driver gives no way for a user to
tell if setting a new baud rate was successful.
Propagate error checks up to the API level.

Signed-off-by: Eden Frosst <edenfrosst@gmail.com>
2025-08-18 21:59:59 +02:00
Jakub Zymelka
376b34ca63 drivers: adc: nrfx_saadc: Add support for SAADC internal sampling timer
The SAMPLERATE register can be used as a local timer instead
of triggering individual SAMPLE tasks. When SAMPLERATE.MODE is set
to Timers, it is sufficient to trigger SAMPLE task only once in order
to start the SAADC and triggering the STOP task will stop sampling.
The SAMPLERATE.CC field controls the sample rate.

The SAMPLERATE timer should not be combined with SCAN mode and
only one channel should be enabled when using the internal timer.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2025-08-18 21:59:50 +02:00
Alain Volmat
6b1f864e76 drivers: smbus: stm32: add select PINCTRL
stm32 smbus driver is relying on the pinctrl framework
hence select CONFIG_PINCTRL to ensure proper build.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-08-18 17:49:28 +02:00
Alain Volmat
fd5dd5e04f drivers: sdhc: stm32: add select PINCTRL
stm32 sdhc driver is relying on the pinctrl framework
hence select CONFIG_PINCTRL to ensure proper build.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-08-18 17:49:28 +02:00
Alain Volmat
379fa75ca7 drivers: i3c: stm32: add select PINCTRL
stm32 i3c driver is relying on the pinctrl framework
hence select CONFIG_PINCTRL to ensure proper build.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-08-18 17:49:28 +02:00
Alain Volmat
5017279493 drivers: ethernet: dwmac_stm32h7x: add select PINCTRL
stm32 dwmac_stm32h7x driver is relying on the pinctrl framework
hence select CONFIG_PINCTRL to ensure proper build.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-08-18 17:49:28 +02:00
Alain Volmat
fd041a7573 drivers: clock: stm32-mco: add missing select PINCTRL
stm32 mco clock driver is relying on the pinctrl framework
for configuring the MCO pin hence select CONFIG_PINCTRL
to allow proper build.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-08-18 17:49:28 +02:00
Alain Volmat
14525b99d5 drivers: crypto: stm32: ensure RESET is selected
stm32 crypto driver requires a reset control hence ensure that
CONFIG_RESET is properly selected to allow proper build.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-08-18 17:49:28 +02:00
Alain Volmat
5c12e5526a drivers: display: stm32-ltdc: ensure RESET is selected
stm32 ltdc driver requires a reset control hence ensure that
CONFIG_RESET is properly selected to allow proper build.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-08-18 17:49:28 +02:00
Alain Volmat
c73140ebd9 drivers: mipi_dsi: stm32: ensure RESET is selected
stm32 mipi dsi driver requires a reset control hence ensure that
CONFIG_RESET is properly selected to allow proper build.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-08-18 17:49:28 +02:00
Alain Volmat
54c939a069 drivers: video: stm32: dcmi: ensure RESET is selected
stm32 dcmi driver requires a reset control hence ensure that
CONFIG_RESET is properly selected to allow proper build.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-08-18 17:49:28 +02:00
Alain Volmat
4542ab9677 drivers: video: stm32: dcmipp: ensure RESET/PINCTRL are selected
stm32 dcmipp driver requires a reset control and pinctrl
(depending on the configuration) hence ensure that
CONFIG_RESET and CONFIG_PINCTRL are properly selected to allow
proper build.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-08-18 17:49:28 +02:00
Georgij Černyšiov
f38a32617a drivers: memc: stm32: FMC NOR/PSRAM add bank validation
Ensure NSBank values are validated at build time.
That helps to identify and fix incorrect bank values.

Signed-off-by: Georgij Černyšiov <geo.cgv@gmail.com>
2025-08-18 17:49:20 +02:00
Georgij Černyšiov
6df089676d drivers: memc: stm32: FMC NOR/PSRAM refactor
Simplifies the driver code:
* Use existing FMC_NORSRAM_DEVICE and FMC_NORSRAM_EXTENDED_DEVICE
  defines. No need to keep references to them in the driver's config.
* Refine initialization loop.

Signed-off-by: Georgij Černyšiov <geo.cgv@gmail.com>
2025-08-18 17:49:20 +02:00
Jordan Yates
827da4a9e0 disk: sdmmc_stm32: support clock bypass
Add support for the SDMMC clock bypass feature for those SoCs that have
it. This provides a SDMMC bus speed double that of `clk-div = <0>`.

Updated the `clk-div` documentation at the same time to be clearer on
how the bus clock speed is determined.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-08-18 17:49:14 +02:00
Jordan Yates
deb24ef099 disk: sdmmc_stm32: explicit initialisation
Explicitly initialise the SDMMC initialisation struct to make it clear
the configuration being applied.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-08-18 17:49:14 +02:00
Khaoula Bidani
112fe454fb drivers: i2c: make DMA config field conditional on I2C
This commit updates I2C_DMA_DATA_INIT() macro to use
IF_ENABLED(DT_INST_DMAS_HAS_NAME(...), (...)),
so that the DMA configuration field is only generated if the
corresponding DMA property exists in the Device Tree.
This prevents macro expansion errors and allows a mix of I2C
peripherals with and without DMA support in the same build.

Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
2025-08-18 15:59:55 +02:00
Mario Paja
85b408edf1 drivers: i2s: add sai support for stm32h7xx
Define SAI1 node for STM32H7xx series.
Add STM32H7xx related DMA configs.
Enable samples/drivers/i2s/output for nucleo_h745zi_q/m7

Signed-off-by: Mario Paja <mariopaja@hotmail.com>
2025-08-18 15:58:58 +02:00
Quang Le
efe6812ec5 drivers: intc: Add external interrupt support for Renesas RZ/A3UL, V2L
Add external interrupt support for Renesas RZ/A3UL, V2L

Signed-off-by: Quang Le <quang.le.eb@bp.renesas.com>
Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
2025-08-18 15:58:44 +02:00
S Mohamed Fiaz
be0a0f1a1e drivers: gpio: silabs: gpio driver enhancements for EFR series 2 devices
Added changes to gpio driver and Kconfig
for EFR series 2 devices.

Signed-off-by: S Mohamed Fiaz <fiaz.mohamed@silabs.com>
2025-08-18 13:07:23 +02:00
Francois Ramu
c32b481413 drivers: watchdog: stm32 wwdg check callback before calling
Check that the callback function exists before calling it
inside the ISR.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2025-08-18 13:07:00 +02:00
Fabrice DJIATSA
d48026b446 drivers: dma: stm32u5: update dma_suspend function
The previous 1ms sleep introduced unnecessary latency
while waiting for the SUSPF flag.
Switching to a 750µs busy-wait provides a more responsive
and precise delay,improving performance in time-sensitive contexts.

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2025-08-18 11:58:08 +02:00
Georgij Černyšiov
84349e8566 drivers: mipi_dbi: stm32: move barriers outside of the loop
Relocate __DSB barriers outside the data write
loops to improve efficiency.

Signed-off-by: Georgij Černyšiov <geo.cgv@gmail.com>
2025-08-18 11:57:17 +02:00
Arthur Gay
404e497897 drivers: disk: stm32 sdmmc: add stm32h7rs support
Add STM32H7RS to the list of series that support HWFC for SDMMC.

Signed-off-by: Arthur Gay <arthur.gay@marshmallow.kids>
2025-08-18 11:57:09 +02:00
Johann Fischer
58b37007d2 drivers: udc_stm32: fix remote wakeup handling
Clear the suspended status and submit the resume event once the remote
wakeup signaling is finished. Clear the suspended status on bus reset as
well.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2025-08-18 11:56:57 +02:00
Johann Fischer
bd5dcc603f drivers: udc: make suspend/resume logging message more precise
Make suspend/resume logging message more precise.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2025-08-18 11:56:57 +02:00
Phuc Pham
371f2925dc drivers: adc: Add ADC support for Renesas RZ/A3UL, T2M, N2L, V2L
Add ADC driver support for Renesas RZ/A3UL, T2M, N2L, V2L

Signed-off-by: Phuc Pham <phuc.pham.xr@bp.renesas.com>
Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
2025-08-18 11:56:47 +02:00
Dmitrii Sharshakov
4229700496 hwinfo: rpi_pico: add more reset reasons for RP2350
RP2350 features a glitch detector which can be treated as a security
mitigation, and more ways debug adapters can reset CPUs, add those
as well.

Signed-off-by: Dmitrii Sharshakov <d3dx12.xx@gmail.com>
2025-08-18 10:53:49 +02:00
Camille BAUD
70469b6a27 drivers: display: improve LUT table for ssd1363
Model on ssd1327

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-08-16 21:38:13 +02:00
Camille BAUD
36f2436206 drivers: display: greyscale -> grayscale for ssd1363
british english -> american english

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-08-16 21:38:13 +02:00
Camille BAUD
21f80b33d2 drivers: display: ssd1327: lut table as const
LUT table to rom instead of ram

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-08-16 21:38:13 +02:00
Declan Snyder
6639d78355 drivers: flexio: Fix build errors when doze not defined
some platforms dont have these doze related symbols defined, and causes
a build error, fix with #ifdef bandaid.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-08-16 10:20:41 +02:00
jacob kung
7d6b48a403 drivers: spi: spi_et171: add memory aligned rx buffers for DMA transceive
Split the RX buffer into multiple sub-buffers aligned to DCACHE boundaries
to ensure proper operation during DMA transceive.

Signed-off-by: jacob kung <jacob.kung@egistec.com>
2025-08-16 10:18:58 +02:00