Commit graph

24538 commits

Author SHA1 Message Date
Guillaume Gautier
7930d9c113 drivers: pinctrl: stm32: add pinctrl for stm32n6
Add pinctrl driver for STM32N6

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-01-28 18:14:45 +01:00
Guillaume Gautier
daeb2a8377 drivers: clock: add stm32n6 clock
Add STM32N6 clock driver.
Supported clocks are LSE, LSI, HSE, HSI, PLL1-4, IC1-20,
peripheral clock and CPU clock.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-01-28 18:14:45 +01:00
Yishai Jaffe
6686d82a7f drivers: si7006: add support for vin supply
Added support for vin supply which seems to be needed for the radio
boards in order to power on the sensor.

Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
2025-01-28 18:14:09 +01:00
Tobias Pisani
1ec660d916 drivers: udc: stm32: Fix RX FIFO min size
On USB HS, the previous lower limit of 64 is too small, the value
160 has been chosen apparently through trial and error.

See 1204aa25 for the original implementation in the old device driver.

Signed-off-by: Tobias Pisani <mail@topisani.dev>
2025-01-28 18:13:59 +01:00
Tobias Pisani
227058d01c drivers: udc: stm32: set the hs capability if high speed is available
This fixes usbd_caps_speed(), which is used in sample_usbd_init, and the
documentation. Without it, no high speed configuration would be added.

Signed-off-by: Tobias Pisani <mail@topisani.dev>
2025-01-28 18:13:59 +01:00
Tobias Pisani
7b19e4f19b drivers: udc: stm32: Offload data callbacks to thread
All HAL callback handling is offloaded to a separate thread, as they
involve non isr-compatible operations such as mutexes.

Fixes #61464

Signed-off-by: Tobias Pisani <mail@topisani.dev>
2025-01-28 18:13:59 +01:00
Matthias Alleman
d0e98b2425 drivers: input: cy8cmbr3xxx: add support for cy8cmbr3xxx input driver
Support for the cy8cmbr3xxx input driver is added.

Signed-off-by: Matthias Alleman <matthias.alleman@basalte.be>
2025-01-28 14:13:08 +01:00
Alberto Escolar Piedras
dfb02f409a drivers: entropy: nRF CRACEN: Fix comment
Correct the comment that tells how long it takes to get
random numbers. The old comment was too optimistic.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-01-28 09:50:28 +01:00
Ibrahim Abdalkader
b58671fd1a drivers: video: video_stm32_dcmi: Use video buffers for DCMI buffer.
Instead of reserving a static (possibly unaligned) buffer for DCMI,
this patch reserves and holds one of the video buffers to use as the
main DCMI buffer. This buffer will be aligned (using the alignment
specified in the config) and will either be allocated from `video_common`
pool or a shared multi-heap (if enabled).

Signed-off-by: Ibrahim Abdalkader <i.abdalkader@gmail.com>
2025-01-28 09:50:16 +01:00
Michał Stasiak
9a47667468 drivers: clock_control: nrf: start HFXO when using LFSYNTH
When using synthesized low frequency clock, HFXO should be running
to ensure correct frequency.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-01-28 09:47:06 +01:00
Raymond Lei
f96b78b030 drivers: i2s: Fix TX transfer stopping issue in some corner cases
In previous implementions, when there is no buffers in TX queue in a TX
callback context, TX will be stopped immediately. It is not correct
because there may still TX blocks in DMA TX transfer queue.
TX should only be stopped when DMA queue is empty and no more in I2S TX
queue.
Another modification is to set correct TX water FIFO level.

Signed-off-by: Raymond Lei <raymond.lei@nxp.com>
2025-01-28 09:46:56 +01:00
Khoa Nguyen
b6b5b6031f drivers: gpio: Fix bug for gpio driver Renesas RA
Get build error when using a gpio port that has port_irq_names
property isn't defined. This commit aim to fix this bug.

Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2025-01-28 07:57:03 +01:00
Pisit Sawangvonganan
8983a610a3 drivers: udc: stm32: fix DOUT stage handling for st_stm32_usb
In the device that has `DT_DRV_COMPAT` equal to `st_stm32_usb`,
its behavior differs from `st_stm32_otghs` and `st_stm32_otgfs`
due to the underlying `HAL_PCD_IRQHandler`.
As a result, calling `usbd_ctrl_feed_dout` for the DOUT stage is not
compatible with the `st_stm32_usb` device.

Instead of calling `usbd_ctrl_feed_dout`, we still require flushing
the TX FIFO to the host.
This is achieved by calling `HAL_PCD_EP_Receive` with `len` = `0`.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2025-01-28 00:04:50 +01:00
Marcin Lyda
87a15967bb drivers: rtc: Add DS1307 SQW output config property
This PR adds a devicetree property enabling to
configure DS1307 SQW pin output frequency.

Signed-off-by: Marcin Lyda <elektromarcin@gmail.com>
2025-01-27 21:04:36 +01:00
Peter Johanson
484fb29f5f drivers: serial: Pico PIO UART wait for initial high
Adjust the PIO assemble for the UART RX to wait for the line
to initially be high before starting the wrap loop and wait
for a low start bit.

Signed-off-by: Peter Johanson <peter@peterjohanson.com>
2025-01-27 21:03:48 +01:00
Robert Slawinski
0d2e52e6b9 drivers: dm8806: dm8806: disable ethernet efficient mode
Energy efficient mode is the feature of the DM8806 described in the
EEE 802.3az Energy Efficient for reducing power consumption. For unknown
reason it seams to not working correctly with all endpoints and sometimes
the network randomly fails when this mode is on. Thus it is now possible to
turn off it in compile time by KConfig option:
PHY_DM8806_ENERGY_EFFICIENT_MODE if in case of network problems

Signed-off-by: Robert Slawinski <robert.slawinski.ext@indurad.com>
2025-01-27 17:11:24 +01:00
Raffael Rostagno
8af0d881f4 drivers: adc: esp32: Clang run
Clang run for code formatting and calibrationc control for
repeated calls at channel_setup().

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-01-27 17:08:30 +01:00
Raffael Rostagno
1ed70820ca drivers: adc: esp32: GPIO config
Share GPIO config for both DMA and non-DMA mode.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-01-27 17:08:30 +01:00
Raffael Rostagno
5ee8600a59 drivers: adc: esp32: Clock init
Peripheral clock init.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-01-27 17:08:30 +01:00
Raffael Rostagno
f195b3528c drivers: adc: esp32: Driver update
Driver update to support newer HAL versions.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
Signed-off-by: Marek Matej <marek.matej@espressif.com>
2025-01-27 17:08:30 +01:00
Dawid Niedzwiecki
8c97ba8017 drivers: flash: stm32h7: ensure option bytes write
Make sure to submit a change of option bytes and wait for the end of
the operation. It is done by checking the OPT_BUSY bit.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2025-01-27 13:25:43 +01:00
Dawid Niedzwiecki
f205b57174 drivers: flash: stm32h7: use a correct register to program RDP
The RDP level is set with the FLASH_OPTSR_PRG register and read with the
FLASH_OPTSR_CUR register, not FLASH_OPTCR.

Fix that to realy change and read RDP.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2025-01-27 13:25:43 +01:00
Nikodem Kastelik
2692f16757 drivers: clock_control: nrf: ignore XOTUNE-related events for now
New events from nrfx_clock driver are not utilized for now
by the clock_control, so should be ignored to avoid assertion.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2025-01-27 13:25:02 +01:00
Luis Ubieda
832810e650 spi: shell: Add command to include CS GPIO in SPI device
This allows to configure a GPIO pin as a CS line, in order to perform
spi transfers to a particular device in the bus.

Example usage for using GPIO1.12 with GPIO_ACTIVE_LOW:
`spi cs gpio1 12 0x01`

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-01-27 11:02:55 +01:00
Ibrahim Abdalkader
2924a99cd1 drivers: video: gc2145: Add support for YUV format.
Can be used to get a fast grayscale image.

Signed-off-by: Ibrahim Abdalkader <i.abdalkader@gmail.com>
2025-01-27 11:02:44 +01:00
Ryan McClelland
5b74f00068 drivers: i3c: stm32: implement hj_response api
Implement the hj_response api for STM32 I3C. This also implements
the PM calls for enabling and disabling runtime PM. For HJ to work
the device must be powered on and be receiving a clock.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-01-27 11:02:34 +01:00
TOKITA Hiroshi
da6bf19560 drivers: spi: pl022: Enable PINCTRL conjuction with dt prop 'pinctrl-0'
If there is a pinctrl-0 property, PINCTRL will be enabled in
conjunction with it.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2025-01-27 11:02:23 +01:00
Declan Snyder
8978f663ae spi_nxp_lpspi: Save RAM by having driver data ptr
Make a pointer to data that is specific to a certain type of LPSPI
driver, instead of having all of it in the struct whether it is used
or not.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-01-27 08:55:31 +01:00
Declan Snyder
31a2b4f374 drivers: spi_nxp_lpspi: Add tristate output config
Add DT property to configure the LPSPI instance to use tristated output
instead of retained output when PCS is negated.

Turn on the config on a couple boards for test coverage.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-01-27 08:55:13 +01:00
Fabian Barraez
3585c37437 sensor: bmp180: fix: untrusted divisor caught by coverity
- Checking the value before applying it as a divisor

Signed-off-by: Fabian Barraez <fabianbarraez@gmail.com>
2025-01-27 04:16:45 +01:00
Ruijia Wang
b1395eabce drivers: rtwdog: add NXP rtwdog driver
Port NXP rtwdog driver to Zephyr.

Signed-off-by: Ruijia Wang <ruijia.wang@nxp.com>
2025-01-25 20:07:05 +01:00
Thomas Stranger
e643b286df drivers: bluetooth: hci: h4_ifx_cyw43xxx: add missing hci includes
Add missing bluetooth/hci.h and hci_types.h include to fix the build
error and warnings of the infineon h4 ble driver.

The driver is using bt_hci_cmd_create() and bt_hci_cmd_send_sync()
from bluetooth/hci.h, and BT_HCI_OP_RESET from bluetooth/hci_types.h

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2025-01-25 20:06:34 +01:00
Declan Snyder
e1f578325d dts: i2s_mcux_sai: Clarify IOMUXC GPR binding
Improve the documentation of the IOMUXC GPR binding so that it is
clear what the cells in the specifier space of "pinmux" space mean. And
change the names of the cells to be more appropriate. "offset" instead
of "pin" and "mask" instead of "function" describes more precisely what
the cells in the specifier mean.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-01-24 22:09:15 +01:00
Gerson Fernando Budke
0cf7fd1023 drivers: watchdog: atmel: Introduce sam4l wdt
Introduce sam4l watchdog configuration. This entry is necessary to
select proper watchdog configuration at board init due to #83429.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2025-01-24 22:08:29 +01:00
Wajdi ELMuhtadi
4068d41d4b drivers: sensor: wsen_tids_2521020222501: add sensor driver
Add wsen_tids_2521020222501 driver with
the corrected name and compatibility with
the hal update as well as added new features.

Signed-off-by: Wajdi ELMuhtadi <wajdi.elmuhtadi@we-online.com>
2025-01-24 19:16:17 +01:00
Jiafei Pan
75301887e3 drivers: clock_control: mcux_ccm: add ii2c clock support
Add I2C clock support for imx8m platforms.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-01-24 19:15:57 +01:00
Jiafei Pan
b97c1d7999 drivers: i2c: add NXP i2c driver used on imx8m platforms
This native i2c driver works together with ii2c drive in hal_nxp.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-01-24 19:15:57 +01:00
Alain Volmat
5d6101ec4b driver: gpio: mfxstm32l152: add driver for STM32L152 based MFX
Initial commit for a STM32L152 based GPIO expansion chip.
The mfxstm32l152 driver offers GPIO controller fonctions.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-01-24 19:15:46 +01:00
Fabio Baltieri
35abb31284 i2c_shell: add missing i3c include
This is necessary for the I3C device type check, tested with:

west build -p -b nucleo_h563zi samples/subsys/shell/shell_module
-DCONFIG_I2C=y -DCONFIG_I2C_SHELL=y -DCONFIG_I3C=y

and

west build -p -b nucleo_h563zi samples/subsys/shell/shell_module
-DCONFIG_I2C=y -DCONFIG_I2C_SHELL=y -DCONFIG_I3C=n

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-01-24 15:43:33 +01:00
Mayank Narang
cb608812cf drivers: sensor: lis2de12: add length check in spi write incr routine
Added a length check in the spi write incr routine to handle both
single and multi byte write operations properly.

Signed-off-by: Mayank Narang <narang.may77@gmail.com>
2025-01-24 15:42:21 +01:00
Mayank Narang
7b062f5b09 drivers: sensor: lis2de12: fix read accel via spi
The lis2de12 sensor driver spi interface was calling spi read api.
This leads to a single byte operation on reading acceleration data
which is a multi byte operation. Fix it by adding a call to spi read
incr api instead. Added a length check to handle both single and multi
byte read properly.

Signed-off-by: Mayank Narang <narang.may77@gmail.com>
2025-01-24 15:42:21 +01:00
Matthias Hauser
543864321c drivers: nrfx: Avoid unhandled event calling assert function
Avoid unhandled event calling assert function

Signed-off-by: Matthias Hauser <matthias.hauser@we-online.de>
2025-01-24 15:42:07 +01:00
Fredrik Gihl
904089ddc5 driver: sensor: tmp116: oversample attribute
Add oversample attribute

Signed-off-by: Fredrik Gihl <fgihl@hotmail.com>
2025-01-24 15:41:50 +01:00
Daniel Mangum
cfe7b44b80 nrf_wifi: fix CONFIG_NET_L2_ETHERNET endif comment
Fixes endif comment that erroneously pointed to CONFIG_NRF70_STA_MODE.

Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
2025-01-24 11:00:47 +01:00
Tahsin Mutlugun
4c41ec7bea drivers: spi: spi_max32: Stop DMA if transaction times out
If DMA-based transaction fails, usually due to a timeout, DMA channels
may need to be explicitly stopped otherwise further calls to transceive
function will immediately return due to DMA constantly being busy.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
2025-01-24 11:00:27 +01:00
Tahsin Mutlugun
2e6f250127 drivers: spi: spi_max32: Handle hardware chip selection
Hardware chip select is originally handled by the HAL driver. However, a
finer grained control is needed to keep CS asserted between requests and
deassert it after last request is completed. Workaround this problem by
handling hardware chip select in Zephyr driver.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
2025-01-24 11:00:27 +01:00
Jordan Yates
2e711aaf81 wifi: nrf_wifi: eliminate NRF70_SYSTEM_MODE_COMMON
This symbol now has the same meaning as `NRF70_SYSTEM_MODE`.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-01-24 03:22:47 +01:00
Jordan Yates
d95de82b94 wifi: nrf_wifi: extract NRF70_SYSTEM_WITH_RAW_MODES
`NRF70_SYSTEM_WITH_RAW_MODES` is more accurately described as an
additional option on top of `NRF70_SYSTEM_MODE`, not as a unique
choice of `NRF70_OPER_MODES`.

This allows the elimination of multiple `NRF70_SYSTEM_MODE ||
NRF70_SYSTEM_WITH_RAW_MODES` dependencies.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-01-24 03:22:47 +01:00
Josuah Demangeon
21da345382 drivers: video: introduce video_bits_per_pixel(pixelformat) helper
This was present in the form of video_pix_fmt_bpp() inside ST and NXP
drivers, and was returning the number of bytes, which does not allow
support for 10-bits, 4-bits or non-byte aligned video formats.
The helper leverages the VIDEO_PIX_FMT_*_BITS macros.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2025-01-24 03:22:31 +01:00
Pieter De Gendt
f1c4760304 drivers: Update APIs to use DEVICE_API macro
Some drivers APIs were not wrapped using the DEVICE_API macro.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-01-24 01:15:19 +01:00