Commit graph

25,525 commits

Author SHA1 Message Date
Tahsin Mutlugun
391b9282e9 drivers: i2c: i2c_max32: Respect message flags in DMA mode
Send STOP or RESTART after a message only if they are enabled in message
flags. For reads, however, controller sends a NACK after last byte so a
restart is required even if I2C_MSG_RESTART flag is not set.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
2025-02-21 18:02:41 +00:00
Luis Ubieda
cc7a151f52 sensor: lsm6ds: Do not enable Streaming for buses with no RTIO support
Ensure the corresponding bus enables RTIO (I2C, I3C or SPI) before
instantiating rtio-dependent elements. Otherwise, enabling it for
another bus (e.g: SPI_RTIO when the LSM6DS is also on I3C with no
I3C_RTIO) will cause a build-time failure.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-02-21 18:02:32 +00:00
Johann Fischer
eadd59e0ce drivers: usb_dc_rpi_pico: do not enable interrupt in driver init
Move irq_enable() to the place where the controller is initialized.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2025-02-21 15:14:32 +00:00
Miguel Gazquez
0cc61bcf66 drivers: udc: Fix log in "disable" function
udc_skeleton incorrectly logs "Enable device" in the function
"udc_skeleton_disable", and some UDC drivers inherited this mistake.

Fix this by correcting the log message in all affected drivers.

Signed-off-by: Miguel Gazquez <miguel.gazquez@bootlin.com>
2025-02-21 15:14:17 +00:00
Martin Hoff
13e152a579 drivers: gpio: gecko: add check for interrupt configuration
Add a check for interrupt configuration: if the interrupt line for the
pin is already enabled but for the same port that the user asked, it
should not return EBUSY.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-02-21 15:14:07 +00:00
Benjamin Cabé
c3bda347b2 drivers: fix spelling of "swiched"
s/swiched/switched/

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-02-21 11:41:46 +00:00
Benjamin Cabé
ff9fd96036 drivers: fix spelling of "transfer"
s/trasnfer/transfer/

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-02-21 11:41:46 +00:00
Benjamin Cabé
9dd1dbbbc6 drivers: ieee802154: fix spelling of "written"
s/writen/written/

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-02-21 11:41:46 +00:00
Zach Thomas
7e23a18980 drivers: sensor: scd4x: fix int overflow on val2 for temp and hum
The scd4x_channel_get function converts raw word values to
struct sensor_value's per the datasheet. The calculation for val2 of a
struct sensor_value `val->val2 = ((tmp_val % 0xFFFF) * 1000000) / 0xFFFF;`
can overflow the max of int32_t, resulting in an incorrect
sensor_value.
Fix it by changing the type of tmp_val to int64_t.

Signed-off-by: Zach Thomas <zach.thomas1.zt@gmail.com>
2025-02-21 04:39:42 +01:00
Luis Ubieda
6e897ccd69 sensor: adxl372: Fix build time issue due to shift variable namespace
Change `data->header.shift` to `data->shift`, as it is not contained
within the header struct.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-02-21 04:39:16 +01:00
Luis Ubieda
5847680e1e sensor: adxl367 and adxl372: fix build-failure with streaming mode
These two sensors do not build with asserts enabled as they're
referencing a non-existent variable `pkt_size`.

Replaced for what (AFAIK) is the intended variable.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-02-21 04:39:16 +01:00
Declan Snyder
93f13be110 spi_nxp_lpspi: Fix S32 regressions
There are two bugs that caused regression for S32:

First there is a silicon errata specifically for the mask version on
this board that causes FIFO flush to not work as expected. The
workaround is to do a module reset before each transfer.

Second there was a division error for word size > 1 byte. The division
should be rounded up, not down, otherwise there will be an infinite
interrupt loop because the TX fifo will not be written to but the TDR
interrupt enabled causes interrupt when TX fifo is empty.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-02-20 21:07:23 +01:00
Declan Snyder
de2d20f216 spi_nxp_lpspi: Remove unused struct fields
These two fields were not being used and were a relic of some
intermediate implementation, and forgot to be removed.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-02-20 21:07:23 +01:00
Declan Snyder
a718b84454 spi_nxp_lpspi: Fix Kconfig description
The Kconfig description is wrong, this driver can be used with or
without RTIO. Also, rename the kconfig to be less confusing, as _NORMAL
is meaningless, this is the CPU/interrupt based driver.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-02-20 21:07:23 +01:00
Declan Snyder
2a35835979 spi_nxp_lpspi: RX bigger than TX read all RX
Change the driver behavior so that if the provided RX buffer set is
bigger than the TX buffer, we will read all the RX buffer and fill the
TX with NOPs. The SPI driver API does not say to do this, and my
original interpretation of the API was that the TX length controls the
entire transfer length, but this behavior might fit better with some de
facto expectations of in tree consumers.

Also add some robustness to the calculation of how many extra bytes to fill
when tx should be nops.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-02-20 21:07:23 +01:00
Luis Ubieda
b5ca5b7b77 spi_rtio: fix transactions for default handler
This patch fixes transaction op items not performed within a single
SPI transfer. This is common for Write + Read commands, that depend on
the CS kept asserted until the end, otherwise the context will be lost.
A similar fix was applied to i2c_rtio_default on #79890.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-02-20 21:06:31 +01:00
David Leach
3fb8a94a79 dma: dma_mcux_lpc: fix scatter/gather src/dst increment
The logic for setting the src_inc and dst_inc would improperly set
these to zero when gatter/scatter was enabled but the respective
gatther_interval/scatter_interval was zero (which would imply
continuous operation).

Fixes: #85403

Signed-off-by: David Leach <david.leach@nxp.com>
2025-02-20 21:04:17 +01:00
Sai Santhosh Malae
6a0efa1647 drivers: dma: siwx917: dma_rom_buff variable rename
Rename dma_rom_buff to udma_handle

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-02-20 15:10:16 +00:00
Sai Santhosh Malae
1d5b72458f drivers: dma: siwx917: Updated device instantiation
Placed instance numbers at end of names

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-02-20 15:10:16 +00:00
Sai Santhosh Malae
020cae49cb drivers: dma: siwx917: siwx917_channel_config prototype change
Remove chan_info as input argument for siwx917_channel_config()

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-02-20 15:10:16 +00:00
Sai Santhosh Malae
b9f5010a80 drivers: dma: siwx917: peripheral req & burst length function changes
- siwx917_is_peripheral_request -> siwx917_transfer_direction
- siwx917_burst_length -> siwx917_is_burst_length_valid
- siwx917_burst_length return type changed to bool
- Added enum for siwx917_transfer_direction return values

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-02-20 15:10:16 +00:00
Sai Santhosh Malae
41e8df7afe drivers: dma: siwx917: Uniform function naming conventions
-Prefixed Zephyr driver functions with 'siwx917_dma' for consistency
-Added 'siwx917_' prefix to local functions
-Removed inline declaration for param validation functions

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-02-20 15:10:16 +00:00
Sai Santhosh Malae
984b0ea255 drivers: dma: siwx917: Declare config parameters as const
Marked DMA configuration parameters(passed from application) as `const`

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-02-20 15:10:16 +00:00
Sai Santhosh Malae
3071190f20 drivers: dma: siwx917: Apply cosmetic changes
1. Updated multi-line comments
2. Grouping logical blocks by adding vertical spaces

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-02-20 15:10:16 +00:00
Sai Santhosh Malae
b1ec724e14 drivers: dma: siwx917: Use accessors for HW reg access
Replaced direct hardware register access with appropriate accessors

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-02-20 15:10:16 +00:00
Sai Santhosh Malae
a5501575f7 drivers: dma: siwx917: Fix bug in registering application callbacks
Resolved an issue where application callbacks were not being properly
registered in the DMA driver.

Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com>
2025-02-20 15:10:16 +00:00
Adib Taraben
8d368ff4bc eth_nxp_enet_qos_mac: test and return early
move the check inside the loop to return early

Signed-off-by: Adib Taraben <theadib@gmail.com>
2025-02-20 14:55:22 +00:00
Martin Hoff
bb760440b8 drivers: serial: silabs: Add new Kconfig symbol for async
Add a new Kconfig symbol (UART_SILABS_USART_ASYNC) to enable the async
API for the Silabs USART driver.
It is needed because the symbol (UART_ASYNC_API) is shared between uart
driver. In the case that you have multiple UART drivers enabled,
condition to enable async API for different uart driver may differ.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-02-20 14:54:58 +00:00
Arunmani Alagarsamy
c75fadbdeb drivers: wifi: siwx917: Set security configuration to default
- Updated Wi-Fi security configuration to use default, allowing
  the device to select the best available encryption.
- Removed unsupported security features.
- Replaced `WIFI_SECURITY_TYPE_SAE` with `WIFI_SECURITY_TYPE_SAE_AUTO`
  to enable automatic selection between SAE-HNP and SAE-H2E,
  as the device supports both modes by default.

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-02-20 14:54:27 +00:00
Pieter De Gendt
817c0396b9 drivers: ethernet: phy: dm8806: Fix driver bindings
There were some driver bindings issues for the davicom dm8806 driver:
- Missing type for reg-switch binding
- Missing required: true for int/reset gpios
- Fix macro for reg-switch

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-02-20 11:47:21 +01:00
Benjamin Cabé
67633f8df5 drivers: sdhc: fix spelling of "programing"
s/programing/programming/

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-02-19 18:51:13 +01:00
Benjamin Cabé
312ad783b4 drivers: lora: fix spelling of "operation"
s/opperation/operation/

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-02-19 18:51:13 +01:00
Benjamin Cabé
6c735705cd drivers: crypto: fix spelling of "below"
s/bellow/below/

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-02-19 18:51:13 +01:00
Benjamin Cabé
4417fdb128 drivers: sensor: fix "Celsius" spelling
s/Celcius/Celsius/  -- preserved original case

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-02-19 18:51:13 +01:00
Fabio Baltieri
a3bd7efb38 gpio: shell: fix a crash where there's less line names than gpios
Don't try to dereference line_names if the index is beyond
line_names_len, this can happen if there's less line names than the
total amount of supported gpios specified.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-02-19 18:48:30 +01:00
Fabio Baltieri
323b0d8cd0 gpio: shell: add a missing static qualifier
line_cmp is only used in this file, make it static.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-02-19 18:48:30 +01:00
Fabio Baltieri
29776b1758 gpio: shell: drop an unnecessary forward declaration
Move SHELL_DYNAMIC_CMD_CREATE after the function, then the forward
declaration is unnecessary.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-02-19 18:48:30 +01:00
Anas Nashif
470682d1a3 drivers: i2c: I2C_SAM0_TRANSFER_TIMEOUT depends on I2C_SAM0
I2C_SAM0_TRANSFER_TIMEOUT should depend on I2C_SAM0.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-02-19 14:51:04 +00:00
Krzysztof Chruściński
2cb2cf226c drivers: clock_control: nrf: Add workaround for XO start anomaly
Add workaround to HFCLK start and stop in nrf54l. In future workaround
will be in nrfx driver.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-02-19 14:50:50 +00:00
Sergei Ovchinnikov
b432a01c23 drivers: regulator: npm1300: add reference to anomaly 38
Added reference to nPM1300 anomaly 38 replacing generic "LDO bug"

Signed-off-by: Sergei Ovchinnikov <sergei.ovchinnikov@nordicsemi.no>
2025-02-19 14:50:02 +00:00
Maciej Panek
d611e28103 drivers: ethernet: adin2111: Add calculation of EBO in OA mode
Calculate the EBO properly, so the total frame written to TX FIFO
does not exceed maximum Ethernet frame length.
Makes the TCP stack to work properly, otherwise packets > 1472 are dopped,
as they would be padded by 64 more bytes
and hence exceed maximum Ethernet frame size.

Signed-off-by: Maciej Panek <panekmaciej@outlook.com>
2025-02-19 14:49:11 +00:00
Maciej Panek
158fe71a6d drivers: ethernet: adin2111: Refactor the code in offload thread
Refactors the code in adin2111_offload_thread
to improve its readability. Adds code to read RX FIFO
in OA mode until it is empty.

Signed-off-by: Maciej Panek <panekmaciej@outlook.com>
2025-02-19 14:49:11 +00:00
Xudong Zheng
e885c8c42f drivers: serial: pl011: prevent concurrent interrupt callback execution
Since the callback can be executed from either software or a hardware
interrupt, it's possible for multiple instances of the callback function
to run concurrently. That should not happen and can be particularly
problematic on SMP systems. This commit adds a spinlock to prevent
concurrent execution.

This addresses a Twister CI failure discovered in #85539.

Signed-off-by: Xudong Zheng <7pkvm5aw@slicealias.com>
2025-02-19 04:59:59 +01:00
Martino Facchin
56539d8ce4 hci_da1453x: consider polarity of reset gpio
Previously polarity was ignored so inverted reset were never toggled

Signed-off-by: Martino Facchin <m.facchin@arduino.cc>
2025-02-18 18:40:08 +01:00
Aksel Skauge Mellbye
23c5144f9c drivers: pinctrl: silabs: Fix pin deallocation from digital bus
Fix the scenario where a pinctrl node intends to deallocate a pin
from a peripheral. If the GPIO mode is disabled the DBUS route
should be cleared, not set. This allows reuse of a pin for other
purposes when a driver is suspended and the pinctrl sleep state is
applied, as GPIOs are typically disabled in the sleep state.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-02-18 18:39:50 +01:00
Oskari Seppä
de91ecdc5f drivers: wifi: esp32: Fix AP-STA mode interface init order
Wi-Fi AP-STA mode fails on ESP32 due to incorrect interface
initialization. In AP-STA mode, esp32_wifi_init first sets the driver's AP
interface, followed by the STA interface. However, the driver initializes
them in reverse order, causing both to read incorrect device data and
resulting in a "Wi-Fi not in station mode" error.
This fix handles STA and AP initialization in separate functions and
checks for correct mode in esp32_wifi_status.
Tested on a custom ESP32-S3-WROOM-1-N4R2 board, where both STA and AP
can connect, send, and receive data.

Signed-off-by: Oskari Seppä <seppaoskari@gmail.com>
2025-02-18 18:37:49 +01:00
Adam Kondraciuk
a58588e49d drivers: timer: nrf_grtc: Add support for clock outputs
Add support for GRTC clock output pins.

Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
2025-02-18 18:37:35 +01:00
Adam Kondraciuk
86dca04458 drivers: pinctrl: nrf: Add support for clock outputs
Add support for GRTC clock output pins.

Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
2025-02-18 18:37:35 +01:00
Ryan McClelland
d225d1525c drivers: i3c: cdns: fix ibi thr write
The dts define for the ibi threshold (watermark) was be written to the
ibi response threshold. Fix it to write to the correct spot.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-02-18 09:56:17 +01:00
Ryan McClelland
1b7de61977 drivers: i3c: cdns: fix up deftgts mem alloc
deftgts could be a different length the second time around. Also, be
more efficient rather than just allocaing the max_devs each time.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-02-18 09:56:17 +01:00