Commit graph

25,525 commits

Author SHA1 Message Date
Khoa Nguyen
8b768cec4a drivers: flash: Update modification of macro define for RA OSPI
Update modification of macro define for Renesas RA OSPI

Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2025-08-08 11:52:13 +03:00
Khoa Nguyen
168ca66c77 drivers: mipi_dsi: Update the modification of FSP migration
Update modification of FSP 6.0.0 for dsi_renesas_ra

Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2025-08-08 11:52:13 +03:00
Khoa Nguyen
3aa72e4e9e drivers: Update p_context for all Renesas drivers
The p_context no longer has the const type, so all
Renesas-supported drivers need to be updated accordingly.

Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2025-08-08 11:52:13 +03:00
Robert Robinson
fa7e02d290 drivers: clock_control: nordic: Enable calibration from LFRC peripheral
For some nordic devices the LFRC peripheral is used to calibrate
the LFCLK clock instead of NRFX_CLOCK peripheral. This commit
adds support for the changes already made in nrfx drivers.

Signed-off-by: Robert Robinson <robert.robinson@nordicsemi.no>
2025-08-07 20:56:19 -04:00
Bastien Beauchamp
9dbbe3b0da drivers: dac: implement the silabs_vdac compatible driver
This implements the DAC driver for silabs VDAC peripherals
using the silabs,vdac compatible binding.

Signed-off-by: Bastien Beauchamp <bastien.beauchamp@silabs.com>
2025-08-07 20:55:50 -04:00
Nikodem Kastelik
8285cc02f6 drivers: spi: nrfx_spis: fix buffer freeing on error
Bounce buffers should be freed rather than user buffers.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2025-08-07 20:55:32 -04:00
Nikodem Kastelik
304e19f958 drivers: spi: nrfx_spim: use dmm
Some nRF SoCs (i.e. nRF54H20) can peform DMA transfers
only from specific memory regions - `dmm` facilitates that.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2025-08-07 20:55:32 -04:00
Van Petrosyan
17b57957b1 drivers: modem_cellular: make APN configurable at run-time
* Implement the new cellular_set_apn() driver hook.
  The API validates the string, stores it in the driver’s
  private data and raises an internal event so the state
  machine can resume.

* Insert MODEM_CELLULAR_STATE_WAIT_FOR_APN between DLCI2 open
  and the APN-script step.
  – If CONFIG_MODEM_CELLULAR_APN is defined and non-empty the
    driver skips WAIT_FOR_APN (behaves exactly as before).
  – Otherwise the driver parks in WAIT_FOR_APN until the
    application calls cellular_set_apn().

* Add event-callback support (CELLULAR_EVENT_MODEM_INFO_CHANGED)
  so an app can subscribe to IMSI availability and kick its own
  APN selection logic.

Signed-off-by: Van Petrosyan <van.petrosyan@sensirion.com>
2025-08-07 20:55:14 -04:00
Guilherme Costa
da5eef665a drivers: modem: deprecate MODEM_QUECTEL_BG9X
The modem_cellular implementation should suffice to handle the base
usage of generic BG9x family devices, so deprecate the quectel-bg9x.c
implementation.

Signed-off-by: Guilherme Costa <guilhermecosta@stratioautomotive.com>
2025-08-07 20:54:45 -04:00
Guilherme Costa
5bd812de46 drivers: modem: Add support for Quectel BG96
Added support for compatible 'quectel,bg96' in modem_cellular.c

Renamed BG95-specific variables to BG9x, since the initialization
for BG95 and BG9x is similar.

Signed-off-by: Guilherme Costa <guilhermecosta@stratioautomotive.com>
2025-08-07 20:54:45 -04:00
Emilio Benavente
93185f3655 dts: arm: nxp: Added flexio pwm to dts
Updated the nxp_mcxw7x dts to include a
flexio_pwm node.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2025-08-07 20:54:15 -04:00
Emilio Benavente
8467f557f9 drviers: pwm: Update flexio pwm update duty cycle
Updated the nxp flexio pwm driver to account
for when the duty cycle is 100% or 0%.
We switch off the counter of the flexio and
manually set the GPIO High or Low. Otherwise
Flexio Peripheral with default to a 50% duty
cycle behavior.
Factored out timerOutput variable.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2025-08-07 20:54:15 -04:00
Łukasz Stępnicki
a5c0ba853b drivers: clock control: ironside dvfs hsfll
Extended clock control driver to support new DVFS service
from IronSide secure domain. Added new compatible nrf-iron-hsfll-local
which can be used to enable new DVFS service support in local
domain.

Signed-off-by: Łukasz Stępnicki <lukasz.stepnicki@nordicsemi.no>
2025-08-07 08:58:54 -04:00
S Mohamed Fiaz
bbd9631db6 drivers: gpio: silabs: gpio driver for EFR series 2 devices
Added the gpio driver for EFR series 2 devices.

The SILABS_SISDK_GPIO symbol is added to enable
support for the new GPIO driver.
The SOC_GECKO_GPIO symbol is retained for now to
maintain compatibility with existing drivers and
will be removed in a subsequent commit.

Signed-off-by: S Mohamed Fiaz <fiaz.mohamed@silabs.com>
2025-08-07 08:58:14 -04:00
Camille BAUD
ce9e9f0a9d drivers: display: Add greyscale to SSD1322
This adds greyscale to SSD1322

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-08-07 13:16:06 +02:00
Camille BAUD
8608f09bf0 drivers: display: Various fixes and additions to ssd1322
Fixes possible init issue with unlock
Add many missing configuration settings

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-08-07 13:16:06 +02:00
Krzysztof Chruściński
0d813fb1db drivers: gpio: nrfx: Add support for GPIOTE0 on cpurad
Add support for special GPIOTE0 instance on nrf54h20/cpurad.
This instance requires special handling because:
- there is no support for PORT event (level interrupts)
- TE channels are fixed to the pin

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-08-07 13:15:45 +02:00
Lucas Tamborrino
02340eec77 drivers: mbox: espressif: add esp32c6 support
Add support for esp32c6 HP and LP Core

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2025-08-07 13:15:36 +02:00
Lucas Tamborrino
6968e1252e drivers: intc: esp32: don't build for ESP32C6 LP Core
Espressif's interrupt controller drive should not build for
ESP32C6 LP Core since it's behavior is different.
Add proper condition for that.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2025-08-07 13:15:36 +02:00
Kapil Bhatt
9fad784fb9 drivers: nrf_wifi: Add check for minimum RX buffer size
Add check for the RX data buffer size. It should be atleast 400 bytes,
anthing less than that scan fails.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2025-08-07 13:14:28 +02:00
Pieter De Gendt
b6a7815d04 drivers: rtc: Sort CMake and Kconfig entries
Tidy the list of RTC implementations by sorting them alphabetically.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-08-07 13:14:21 +02:00
Ofir Shemesh
169b47ce38 misc: flexram: allow RAM type node to be disabled in DT
Use DT_NODE_HAS_COMPAT_STATUS to skip disabled child nodes. This
avoids build errors when setting a RAM type to 0 banks.

Signed-off-by: Ofir Shemesh <ofirshemesh777@gmail.com>
2025-08-06 21:36:57 -04:00
Daniel DeGrasse
6e3a8da8dc drivers: mspi: mspi_dw: support configuration of TXD_DRIVE_EDGE setting
TXD_DRIVE_EDGE setting will typically be set to BAUDR/4 for DDR mode,
but this may not cover all cases. Add a configurable multiplier and
divisor to apply to the BAUDR value so the value's relation to BAUDR can
be customized.

Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
2025-08-06 21:36:09 -04:00
Tim Lin
f4e466eb60 drivers/espi: ite: Make ITE's eSPI driver to support PVT2 and PVT3
Make ITE's eSPI driver to support PVT2 and PVT3, but it is not
enabled by default.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-08-06 21:35:24 -04:00
Tim Lin
fff5d4c46e drivers/espi: Add support for ESPI_PERIPHERAL_HOST_IO_PVT2 & PVT3
Add support the host I/O over eSPI peripheral channel for private
channel2 and channel3.

The default port number of ESPI_PERIPHERAL_HOST_IO_PVT2_PORT_NUM and
ESPI_PERIPHERAL_HOST_IO_PVT3_PORT_NUM are 0x68 and 0x70.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-08-06 21:35:24 -04:00
James Smith
70b3e7a178 drivers: entropy: add support for EFR32MG22 SoCs
Use CRYPTO_ACC_GECKO_TRNG for entropy on all xG22 SoCs.

Signed-off-by: James Smith <james@loopj.com>
2025-08-06 21:34:11 -04:00
Arunmani Alagarsamy
a9dd0c932d drivers: wifi: siwx91x: Support max TX power configuration via Device Tree
Add support for configuring the maximum TX power for STA and AP modes using
a Device Tree property (`max-tx-power`). If unspecified, the default value
is set to 31 dBm.

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-08-06 12:03:39 -04:00
Tahsin Mutlugun
a5ea4c2dc0 drivers: counter: max32_wut: Add missing include
Include adi_max32_clock.h to resolve undeclared ADI_MAX32_PRPH_CLK_SRC_*
errors.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
2025-08-06 12:03:12 -04:00
Tomasz Moń
66b938f93a drivers: udc_dwc2: Add nRF54LM20A vendor quirks
Initial implementation of nRF54L quirks necessary for nRF54LM20A.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2025-08-06 12:01:34 -04:00
Johann Fischer
efaaad0a09 usb: mark new stack as unstable and set it as the default
Document that the legacy stack is now deprecated.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2025-08-06 11:57:39 -04:00
Johann Fischer
4af7549d72 usb: deprecate legacy USB device support
Deprecate legacy USB device support.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2025-08-06 11:57:39 -04:00
Muzaffar Ahmed
ce6ef6ac95 drivers: wifi: siwx91x: Add support for link mode query
Mapped the link mode (wireless mode) from wireless info to the wifi
status API.

Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
2025-08-06 16:20:14 +02:00
Bjarki Arge Andreasen
c326bf6bc7 drivers: counter: counter_nrfx_timer: fix fast instance clock ctrl
Update handling of fast instances to take into account whether
CONFIG_CLOCK_CONTROL is enabled or not.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
2025-08-06 17:13:11 +03:00
Gaetan Perrot
13a6dc5391 drivers: wifi: nrf_wifi: add NULL check in parse_sband
Ensure event is not NULL before accessing its members in
nrf_wifi_parse_sband().

This adds a defensive check to avoid potential null dereference and ensures
the function returns early when event data is invalid (i.e., zero channels
or bitrates).

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2025-08-06 17:12:51 +03:00
Tomasz Moń
382c0dea69 drivers: udc_dwc2: Periodic Transfer Interrupt support
Add Kconfig option to enable Periodic Transfer Interrupt mode for
isochronous endpoints. The tradeoff is reduced CPU usage in exchange for
not timing out isochronous transfers.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-08-06 17:10:40 +03:00
Tim Lin
ff293bb61a drivers/flash: it51xxx: Add the M1K flash driver
The flash M1K driver supports read (up to 1K), write (1K), and
erase (4K) operations, which can be accessed via DLM.
Accessible flash regions include internal e-Flash or external SPI
flash via FSCE# or FSCE1#.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-08-06 17:09:46 +03:00
Johann Fischer
9d06111346 Revert "drivers: counter: sam_tc: Big fix for alarm 1"
This reverts commit 8f5daca5e5.
The CI is failing on sam4l_wm400_cape after this commit.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2025-08-06 17:09:26 +03:00
Yunshao Chiang
db02fdc8ef drivers: adc: it51xxx: fix the ADC channels sampling flow
The original code process causes the following two issues:

1. The first sample is always 0 because the `ctx` sequence in `data` is
   assigned the input sequence until the `adc_context_start_read`. As a
   result, the `while (channels) { ... }` loop is not executed, and
   `adc_enable_measurement` is not called.

2. Since the `ctx` sequence in `data` is assigned in
   `adc_context_start_read`, which occurs after the `while (channels) {
   ... }` loop, the ADC samples the previously set channel.

Signed-off-by: Yunshao Chiang <Yunshao.Chiang@ite.com.tw>
2025-08-06 12:16:30 +03:00
Dmitrii Sharshakov
5eecc55398 drivers: ipm: esp32: properly handle send wait parameter
As clarified by the subsystem maintainers, wait should be treated as a
boolean, not a duration.

Signed-off-by: Dmitrii Sharshakov <d3dx12.xx@gmail.com>
2025-08-06 12:14:28 +03:00
Wai-Hong Tam
b4404b0340 input: it8xxx2_kbd: Respect kso_ignore_mask for all KSO pins
The kso_ignore_mask DTS property was not being fully applied in the
ITE IT8xxx2 keyboard driver:
 1. The driver performed direct writes to the KBS_KSOH2 register,
    which controls KSO[17:16]. This did not account for the
    kso_ignore_mask and could overwrite bits in the register that
    are used for other GPIO functions.
 2. The driver would attempt to initialize the GPIOs for KSO16 and
    KSO17 based solely on the col-size property. It ignored the
    kso_ignore_mask, which could lead to reconfiguring a pin that
    is intended for another purpose.

Signed-off-by: Wai-Hong Tam <waihong@google.com>
2025-08-06 12:13:16 +03:00
Pieter De Gendt
8495e30726 drivers: display: elcdif: Fix zero-length array warning
When setting CONFIG_MCUX_ELCDIF_FB_NUM=0 we can't assign the active pointer
to any framebuffer.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-08-06 12:12:47 +03:00
Declan Snyder
b901daa8e2 eth_nxp_enet_qos: Fixup logging in driver
Some of the logging was not very useful and missing info, some were the
wrong level. Such as routine drops of packets, this happens sometimes
and is not ideal but not going to cause things to fall apart, so demote
those messages. RX buffer underrun for example is pretty unavoidable
with enough traffic going on the local network.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-08-06 12:11:38 +03:00
Declan Snyder
6267ec59ef drivers: eth_nxp_enet_qos: Move RX underrun code
Extract the RX underrun handle code to a separate function.

Named the function like "dma_rx_resume" to make it clear what the
function is really supposed to do.

Demote the error about not being a first descriptor to a warning.
Because most likely we already got an error about something else which
caused us to drop the packet in the first place. The rest of the frames
are expected to be dropped. And make the string shorter.

Also remove the debug message because the control bits do not tell us
any more information than we don't know already. They only tell us that
we own the descriptor (known since we are processing the frame), that it
is not a first descriptor (known since that is the reason we would drop
it at this point, as indicated by the warning).

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-08-06 12:11:38 +03:00
Declan Snyder
735412b59c drivers: eth_nxp_enet_qos: Update as many desc as possible
Instead of looping through only the amount of descriptors there are,
maybe it is possible to get some more things received in one work item
than even the max number of descriptors if RX is processed fast enough,
instead of waiting for work to be scheduled again.

So change to go around the ring until we actually hit a DMA owned
descriptor.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-08-06 12:11:38 +03:00
Declan Snyder
17db8f7975 eth_nxp_enet_qos: Turn on interrupt after init
Don't enable interrupt until after init because there can be a interrupt
mistakenly happen during the init process which can cause various
problems.

Along similar lines, avoid issue for sporadic TX interrupt with no
packet in tx done handler.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-08-06 12:11:38 +03:00
Declan Snyder
3db8bf7689 drivers: eth_nxp_enet_qos: Don't block TX send
Instead of blocking forever if TX is busy, return an error. This can
avoid deadlock situations.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-08-06 12:11:38 +03:00
Declan Snyder
02eafc19a1 drivers: eth_nxp_enet_qos: Fix deadlock in system workqueue
There was a deadlock occurring, exposed by http server sample because of
situations like this caused by tx done work being blocked in deadlock:
1) The TX would be started by some thread and the driver TX sem would be
   taken.
2) The http server socket would get scheduled on the system workqueue to
   send something, claim the network TX interface mutex,
   and be blocked taking the semaphore.
3) The RX traffic class handler would get blocked trying to claim the
   network interface TX mutex, while trying to send an ACK in the TCP
   callback. This means the RX packets would not be processed.
4) Lots of RX unable to allocate packets errors would happen, and all RX
   would be dropped. This was the main symptom of the deadlock, which
   made it look like a memory leak but actually had nothing to do with
   the RX code nor any memory leak.
5) The TX DMA would finish and schedule the TX DMA done work onto the
   system work queue, behind the http server socket which is blocked on
   the waiting for the driver TX semaphore.
6) If the TX DMA done work would have ran, that's what gives the TX
   driver semaphore. So this is the reason for the deadlock of all these
   different threads and work items, the misqueue in the system
   workqueue.

Fix by just calling the TX DMA done code directly from the ISR, it
should be ISR safe, and really not a lot of code to execute, just
freeing some net buffers and the packet and updating the stats.
An optimization can be made later if needed, but for now,
solving the deadlock is a more urgent priority.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-08-06 12:11:38 +03:00
Raffael Rostagno
99b8333b8e drivers: bt: esp32c2: Add support
Add BT-HCI support to ESP32-C2 and ESP8684.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-08-06 12:10:59 +03:00
Andrej Butok
e17918b2f8 drivers: flash_mcux_flexspi: nxp: add CONFIG_FLASH_PAGE_LAYOUT check
- Adds CONFIG_FLASH_PAGE_LAYOUT check to the flash_mcux_flexspi
  drivers.
- Saves some memory if FLASH_PAGE_LAYOUT is disabled.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2025-08-06 12:10:36 +03:00
Michał Stasiak
ab3ef4ade4 drivers: hwinfo: nrf: extend supported reset reasons
Added missing supported reset reasons based on conditional
guards.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-08-05 13:27:10 -04:00