Commit graph

25,525 commits

Author SHA1 Message Date
Luna Pes
d299ce35d5 drivers: adc: ad7124: fix io control reg len
The IO_CONTROL_1 register is 3 bytes long according to the datasheet.
This fixes the register not being written to correctly.

Signed-off-by: Luna Pes <zephyr@orangemurker.com>
2025-08-05 13:20:41 -04:00
Pieter De Gendt
576b3daffa drivers: regulator: shell: Fix regulator parent name completion
Shell functions targeting regulator parents used the auto-completion of
regulator devices instead.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-08-05 13:20:23 -04:00
Loic Domaigne
2aeac6087d driver: sensor: veml6031 fix untrusted value/array index
Coverity reported potential use of untrusted values / array index. Add
appropriate checks and error reporting when using data->div4, data->gain
and data->itim as value/index.

CID: 516222
CID: 516228
CID: 516248
CID: 516254

Signed-off-by: Loic Domaigne <tech@domaigne.com>
2025-08-05 11:54:27 +01:00
Michał Stasiak
41d56fd4d9 drivers: timer: nrf_rtc_timer: Allow use of custom bit width
Allowed use of counter bit width lower than hardware 24.
In that case, PPI connection is established to trigger
clear task once maximum value is reached.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-08-05 11:54:06 +01:00
Chun-Chieh Li
1bc008dae3 drivers: misc: ethos_u: support default dcache flush/invalidate
This provides default ethosu_flush_dcache and ethosu_invalidate_dcache
overrides. User application can disable it through Kconfig option if it
needs to provide its own.

Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
2025-08-05 10:26:54 +01:00
Xiaolu Sun
8b9955057d drivers: spi_sedi: correct CPOL and CPHA mode handling in SPI config
The CPOL and CPHA mode handling logic in the SPI configuration was
corrected to ensure proper evaluation of the SPI mode bits.
Evaluate CPOL and CPHA bits using value of cpol_mode and cpha_mode:
`(SPI_MODE_GET(config->operation) & SPI_MODE_CPOL) != 0` and
`(SPI_MODE_GET(config->operation) & SPI_MODE_CPHA) != 0`.

This fix ensures that the SPI configuration is robust and adheres to
expected behavior when setting CPOL and CPHA modes.

Signed-off-by: Xiaolu Sun <xiaolu.sun@intel.com>
2025-08-05 10:25:48 +01:00
James Smith
6e344ba19e drivers: bluetooth: hci: silabs: Implement hci_close
Implements HCI close support for the silabs efr32 HCI driver.

Calling `bt_disable()` now works as expected, which is particularly
important for multiprotocol applications.

Signed-off-by: James Smith <james@loopj.com>
2025-08-05 10:25:24 +01:00
Luis Ubieda
68afaf5e42 paa3905: Improve error-handling and cleanup during streaming
- Setting IODEV_SQE to NULL to subsequent triggers are rejected.
- Channel all error-resolutions through handle_result_on_error().

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-08-05 10:25:15 +01:00
Alvis Sun
dbc49f04d7 driver: bbram: npcx: update bbram status register bit offset for npck3
Update the bit offset of bit VCC_STS in the BKUP_STS register.

Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2025-08-05 10:25:09 +01:00
Mathieu Choplain
2881186244 drivers: counter: stm32_timer: use "cc" interrupt if it exists
Currently, the STM32 TIM counter driver will always register itself as ISR
for interrupts[0] of the timer node. This works fine for timers which have
a single "global" interrupt but not for others (e.g., Advanced Timer) which
have separate IRQ lines for various events.

Borrow the pattern from PWM driver: use the "cc" interrupt if it exists on
timer node, otherwise use the "global" interrupt. If neither of those are
found, a build error is raised to ensure silent failures cannot occur.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2025-08-05 10:24:56 +01:00
Marc Lasch
15048337c4 drivers: net: ppp: Fix link-layer address configuration
Restore setting the ppp link-local address either to CONFIG_PPP_MAC_ADDR or
to a random value 00:00:5e:00:53:XX instead of leaving it uninitialized.

Recently the memory handling for the link-layer addresses was changed from
an approach of copying pointers to managing the memory as a member of the
`net_linkaddr` struct (ref ac3cb9dac0).

The piece of code this patch touches however, relied on the use of the
pointers to function properly.

With the recent change, the MAC address was copied to the new member
location before it was even set (either from Kconfig or selected randomly).
As a result, the link-layer address was kept initialized to zero, which
resulted in a IPv6 address of fe80::ff:fe00:0 which is exactly the
link-local EUI-64 representation of the MAC address 00:00:00:00:00:00
(without flipping the "universal/local" bit).

Signed-off-by: Marc Lasch <marc.lasch@husqvarnagroup.com>
2025-08-04 17:05:35 -04:00
Raymond Lei
33e1b869b9 drivers: nxp : flexspi: add GD nor flash support
Fix a bug in quad bit enablement.
Add LUT for Giga Device nor flash GD25Q256x.

Signed-off-by: Raymond Lei <raymond.lei@nxp.com>
2025-08-04 19:58:07 +01:00
Sreeram Tatapudi
600e86d475 drivers: serial: Adding PDL based UART driver
Adding a basic UART driver based on the PDL API

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2025-08-04 19:57:57 +01:00
Sreeram Tatapudi
6928218421 drivers: Implement initial version of ifx_cat1 pdl clock_control
- Shift ifx_cat1 clock_control driver to using pdl instead of hal calls
- add soc.c file containing call to SystemInit()
- Update board's dts files
- add binding for peri divs
- update system_clocks.dtsi for psc3
- add new peri clock_control driver

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2025-08-04 19:57:57 +01:00
Sreeram Tatapudi
b8fd4cd55f drivers: pinctrl: pincontrol driver updates to support PSC3
Update pincontrol driver to support PSC3

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2025-08-04 19:57:57 +01:00
Sreeram Tatapudi
ba144130ce drivers: gpio: GPIO driver updates to support PSC3
Update GPIO driver to support PSC3

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2025-08-04 19:57:57 +01:00
Vit Stanicek
0011e85ed3 drivers: nxp,rtxxx-dsp-ctl: Extend to mimxrt798s/hifi4
Rework the driver so that it can cover multiple variants. Add variant DT
bindings. Change the compatible name for the mimxrt685s/cm33 DT.

This needed to be done because the hardware initialisation routines
(power, clocks, ...) are different from mimxrt685s/hifi4 to
mimxrt798s/hifi4. The same is expected for the /hifi1 domain.

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2025-08-04 19:57:10 +01:00
Luis Ubieda
9e99b932d9 bmp581: Set streaming handle to NULL when done
To follow with error-handling of multi-shot items, they won't be marked
as cancelled. Instead, we expect them to stop being submitted, hence we
dispose the handle upon finishing every shot.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-08-04 19:56:40 +01:00
Luis Ubieda
24c0583848 bmm350: Set streaming handle to NULL when done
To follow with error-handling of multi-shot items, they won't be marked
as cancelled. Instead, we expect them to stop being submitted, hence we
dispose the handle upon finishing every shot.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-08-04 19:56:31 +01:00
Luis Ubieda
2e2d4afa06 afbr-s50: Remove asserts from driver
Run-time errors can still be considered asserts if checkif is
configured as such, otherwise, prevent crashing.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-08-04 19:56:22 +01:00
Luis Ubieda
f64009b87e afbr-s50: Accept requests if the on-going SQE has been cancelled
Considering the app may have cancelled all the requests as an error
handling strategy, this driver needs to support recovering from such
case.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-08-04 19:56:22 +01:00
Luis Ubieda
00055d1a7d afbr-s50: Add graceful error-handling on data-ready
Whenever the data-ready callback is invoked, there's a common pattern
that needs to take place:

- Stop measurement timer (to stop on-coming samples), which could be
restored by the application re-submitting the request.
- Set iodev_sqe to NULL, so new requests can come in.
- Report the error on the SQE.

This has been refactored in handle_error_on_result() and now it's
invoked throughout the code.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-08-04 19:56:22 +01:00
Luis Ubieda
ab67081443 afbr-s50: fix build-time asserts for settings outside dual-freq mode
The existing build-time asserts not only needs to cover dual-frequency
mode does no exceed high-speed settings, it needs to allow not using
dual-frequency mode settings at all, which is what this patch does.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-08-04 19:56:22 +01:00
Chaitanya Tata
1e5c8f75ae drivers: nrf_wifi: Fix the interoperability issues
With few APs we have seen unexplained disconnections and sending
keepalive often solves the problem, so, to fix interoperability reduce
the keepalive period to 30s.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-08-04 19:55:27 +01:00
Bas van Loon
6be63a1d33 net: openthread: Constify HDLC rx callback data pointer.
Received data should not be modified by upper layers so constify the
pointer to make that clear.

Signed-off-by: Bas van Loon <bas@arch-embedded.com>
2025-08-04 19:54:34 +01:00
Parthiban Veerasooran
0261a7db22 ethernet: eth_sam_gmac: enable multiple TX pkt support for max throughput
This change enables GMAC_MULTIPLE_TX_PACKETS to allow multiple TX packets
to be pushed to the DMA engine, improving transmit performance. Previously,
older Zephyr versions (pre-v2.6.0) lacked thread-safe handling in net_pkt
and net_buf, making multiple TX enqueuing unreliable. Issue #32564
("net_buf reference count not protected") was fixed in v2.6.0, providing
proper thread safety. The changes have been tested on SAME54 Curiosity
Ultra with EVB-LAN8670-RMII and KSZ8061 PHY daughter card, and the
expected performance of 9.5Mbps at 10Mbps PHY link speed was observed.

Signed-off-by: Parthiban Veerasooran <parthiban.veerasooran@microchip.com>
2025-08-04 11:54:18 +01:00
Vit Stanicek
75dd8a3a7c drivers: wm8962, wm8904: Fix clock config logic
Fix clock config logic of wm8962 and wm8904 drivers, so that both can be
properly configured for master (generating BCK and WS) and slave
(receiving those) operation.

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2025-08-04 11:51:44 +01:00
Ayush Singh
15377632c0 drivers: watchdog: Add ti rti driver
- This driver is used in k3 generation CPUs from TI.
- Does not support callbacks right now.

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
2025-08-04 11:50:20 +01:00
Michael Estes
e13881ff0c drivers: gpio: add pcal9722 SPI GPIO expander driver
Adds a driver for NXP's PCAL9722 SPI GPIO expander

Signed-off-by: Michael Estes <michael.estes@byteserv.io>
2025-08-04 11:49:29 +01:00
Daniel DeGrasse
a8ecd94044 drivers: display: display_st7796s: update for RGB format change
Zephyr is swapping the definitions of RGB565 and BGR565. Swap the return
values provided by this driver for supported pixel formats to account
for this.

Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
2025-08-03 19:58:22 +01:00
Phi Bang Nguyen
a6602a45d0 display: stm32: ltdc: Revert the BGR565/RGB565 formats swap
This reverts the workaround made in the commit:

772fbfe9cc

as the proper fix has now been merged upstream.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2025-08-03 19:58:22 +01:00
Daniel DeGrasse
a294653848 drivers: mspi: mspi_dw: make sure controller is disabled at entry
Some systems (IE cores with bootloaders) may not disable the DW SPI
peripheral at boot time. Make sure the peripheral is disabled before we
try to configure it.

Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
2025-08-03 19:58:12 +01:00
Daniel DeGrasse
fc64fec8fe drivers: mspi: mspi_dw: support DDR mode
Support DDR mode within the mspi_dw driver

Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
2025-08-03 19:58:12 +01:00
Daniel DeGrasse
e425b3dd1c drivers: mspi: mspi_dw: improve reliability of CS signal
The designware controller has an *interesting* implementation of the CS
signal- CS will be de-asserted whenever the TX FIFO is empty, so slower
cores may see CS de-assert prematurely if they cannot keep pace with
their SPI peripheral. To help reduce odds of de-assertion, implement the
following changes:

- don't write SER bit until directly before we enable interrupts, so
  that transfers don't start early
- prefix the TX FIFO before writing SER, so the FIFO can drain a bit
  before have to service an interrupt

Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
2025-08-03 19:58:12 +01:00
Daniel DeGrasse
9c829a1bbe drivers: mspi: mspi_dw: add API to configure RX_DLY timing
The SSI DW peripheral supports an RX_SAMPLE_DLY register in some
instances- this register controls the number of clock cycles from the
default sample time before the RX input is actually sampled. This can be
used to improve reliability when operating the SSI at a higher clock
speed.

Add an implementation of the mspi_timing_cfg api, and header to define
the identifier so that users can configure this parameter

Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
2025-08-03 19:58:12 +01:00
Daniel DeGrasse
59d8fbc0a9 drivers: mspi: mspi_dw: support newer IP revisions
Bitmask offsets for the MSPI_DW peripheral are incorrect for the
4.03a databook for the DW APB SSI. Add a "v2" compatible to handle these
changed offsets. The compatible does not define new binding properties,
just modifies the register offsets.

Additionally, handle writing the DFS32 mask for v2 of this compatible,
as newer IP supports a dataframe size up to 32 bits.

Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
2025-08-03 19:58:12 +01:00
Daniel DeGrasse
5dbaa86282 drivers: mspi: mspi_dw: properly support multi-level interrupts
Multilevel interrupts require that the irq number be read with DT_IRQN,
so update the driver to use this macro.

Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
2025-08-03 19:58:12 +01:00
Daniel DeGrasse
cb31e67c49 drivers: mspi: mspi_dw: make pinctrl include conditional
The remainder of this driver functions when pin control is disabled,
so make the include conditional as well to fully support this case.

Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
2025-08-03 19:58:12 +01:00
Daniel DeGrasse
98c0cc4e67 drivers: mspi: supply empty vendor specific macros for generic case
Supply empty vendor specific macros for cases where vendor specific
functions are not needed by driver.

Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
2025-08-03 19:58:12 +01:00
Henrik Brix Andersen
2ee6ebf3f1 drivers: can: native_linux: use CiA recommeded configurations ranges
Use the CAN clock and configuration ranges recommended by CAN in Automation
(CiA).

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-08-02 13:20:02 +02:00
Bas van Loon
4a09047b0e drivers: bluetooth: hci_nxp_setup: Prevent re-init of CRC table.
The CRC32 table only needs to be generated once, so prevent it from
regenerating every time as it only required once.

Signed-off-by: Bas van Loon <bas@arch-embedded.com>
2025-08-02 13:17:58 +02:00
Dmitrii Sharshakov
1c9c0b0d2b drivers: can: can_native_linux: set max bitrate
This enables applications to call timing configuration functions,
which enables more applications to work on native_sim.

Signed-off-by: Dmitrii Sharshakov <d3dx12.xx@gmail.com>
2025-08-01 19:37:24 +01:00
Dmitrii Sharshakov
a610e0ec82 bluetooth: hci: userchan: support connecting over UNIX socket
Can be used with Bluez btvirt

Signed-off-by: Dmitrii Sharshakov <d3dx12.xx@gmail.com>
2025-08-01 19:36:43 +01:00
Franck Duriez
5f84be617e driver: fuel_gauge/sy24561: add emulator
Add emulator for fuel gauge SY24561

Signed-off-by: Franck Duriez <franck.lucien.duriez@gmail.com>
2025-08-01 12:20:25 -04:00
Franck Duriez
8ef13d072e driver: fuel_gauge/sy24561: add driver
Add driver for silergy sy24561 fuel gauge

Signed-off-by: Franck Duriez <franck.lucien.duriez@gmail.com>
2025-08-01 12:20:25 -04:00
Camille BAUD
633c0fe234 drivers: misc bflb updates
mostly makes things a little bit safer

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-08-01 07:57:36 -04:00
Camille BAUD
bdffc08279 bflb: Make BL60x independant from SDK
Reorganize and update soc folder files for SDK-independance
Reorganize and update hal_bouffalolab files for SDK-independance
Reorganize and update soc dts files for SDK-independance
Update serial and pinctrl driver files for SDK-independance
Update ai_wb2_12f, bl604e_iot_dvk, and dt_bl10_dvk
to new bl60x support
and fixup openocd config of ai_wb2_12f

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-08-01 07:57:36 -04:00
Gaetan Perrot
22dd888365 drivers: tee: optee: fix possible null pointer dereference
Add check for supp->current being NULL before accessing num_params in
error log.

Prevent potential NULL pointer dereference and crash when invalid
parameter count

Improve error messages for better debugging in cases with no current
request or wrong param count.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2025-08-01 07:56:54 -04:00
Maochen Wang
22a05e6a4e drivers: wifi: nxp: update the TX data API
Update the TX data API to support distinguishing if this packet is from
net stack or from internal packet forwarding case.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2025-08-01 07:49:55 -04:00
Kevin Wang
68183ce1d6 drivers: spi: atcspi200: determining if spi is used as a flash controller
XIP may indicate that the program is executed either in local memory
or flash. However, the SPI node is only used as a flash controller
when the program is executed in flash.
Therefore, optimize the related checks to ensure that when XIP is
enabled but the program is executed in local memory, the SPI node
can still be used.

Signed-off-by: Kevin Wang <kevinwang821020@google.com>
2025-07-31 17:17:50 -04:00