Commit graph

23353 commits

Author SHA1 Message Date
Mika Braunschweig
2b7db7f395 drivers: interrupt-controller: vim: Fix wrong address
On startup the VIM interrupt controller driver had a sys_read32 call with a
bitmask instead of an address. This has been fixed.

Signed-off-by: Mika Braunschweig <mika.braunschweig@siemens.com>
2025-04-17 00:56:59 +02:00
Julien Panis
45895ecfea drivers: spi: Add support for cc23x0 SPI
Add support for SPI to cc23x0 SoC. Only controller mode is implemented.

Signed-off-by: Julien Panis <jpanis@baylibre.com>
Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-04-17 00:55:56 +02:00
Anders Nielsen
b2b597aa6e drivers: stepper: adi_tmc: adi_tmc50xx_stepper_controller.c
Replace stall guard retry error log on EAGAIN with enable/disable info log.
Log position, sg result and sg status on each rampstat_work_handler() call.
Treat only negative return values from tmc_spi_write_register() and
tmc_spi_read_register() as an error.

Signed-off-by: Anders Nielsen <anders.nielsen@prevas.dk>
2025-04-16 20:37:04 +02:00
Jukka Rissanen
f1c83bca8f drivers: nxp: wifi: Disable softap mode by default
Do not enable CONFIG_NXP_WIFI_SOFTAP_SUPPORT by default as
that should be let for the user to decide whether the AP
mode is compiled or not.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-04-16 20:36:37 +02:00
Hao Luo
a499afde23 drivers: pinctrl: Update ambiq nce definitions in pinctrl
Updated nce definitions in pinctrl structure to be consistent
with ambiq HAL.

Signed-off-by: Hao Luo <hluo@ambiq.com>
2025-04-16 17:07:51 +02:00
Valerio Setti
65a7e79eab drivers: charger: add charger support in X-Powers AXP2101
AXP2101 is MFD device. Zephyr already support the regulator part. This
commit introduces intial support for the charger one.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-04-16 17:07:20 +02:00
Ravi Dondaputi
ba5b897cb6 wifi: nrf_wifi: Add control pool specific APIs
Memory allocations in HAL are using data pool. These operations
are in control plane. Add APIs for allocation/free operations on
control pool.

Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
2025-04-16 14:51:59 +02:00
Huaqi Fang
a7f9ebe9d5 driver: interrupt_controller: intc_clic: support 32 and 64 bit riscv cpu
This patch is used to provide clic(eclic) in 64 bit riscv cpu support,
since in 64 bit riscv cpu, the clic irq table entry is also 64 bit,
so we need to use ld/sd to do irq entry load and store

Signed-off-by: Huaqi Fang <578567190@qq.com>
2025-04-16 08:10:47 +02:00
Derek Snell
331e0cef3f drivers: i2s_mcux_sai: control MCLK direction with DT property
For the SAI peripheral, the MCLK signal input/output direction is
independent from the TX or RX bit clocks directions (TCR2[BCD] and
RCR2[BCD]). Introduces mclk-output property.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-04-16 08:09:41 +02:00
Chaitanya Tata
5293155588 drivers: nrf_wifi: Fix log level of a print
This is just for developers, so, convert to a debug.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-04-16 01:10:37 +02:00
Chaitanya Tata
37d774e908 drivers: nrf_wifi: Fix co-ex configs
They all depends on main COEX feature flag.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-04-16 01:10:37 +02:00
Marcio Ribeiro
a5d69a5b63 drivers: i2s: esp32 fix warnings and errors due to variable declarations
Fixes warnings and errors due to misplacement of variable declarations

Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
2025-04-16 01:10:26 +02:00
Arnaud Pouliquen
42463cbee8 drivers: hwinfo: stm32: add support for STM32MP13
Adds the support for the STM32MP13 series to the existing STM32
Hardware Information driver.

Note that there is no  LL_GetUID_Word<x> functions for the STM32MP13
series. to allow to use HAL_GetUIDw<x> functions create macros to
fill the stm32_uid structure.

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
2025-04-16 01:09:56 +02:00
IBEN EL HADJ MESSAOUD Marwa
60835568fc drivers: usb: device: resolve USB build error for STM32N6
- Removing the unused declaration of 'ret'
  in the usb_dc_stm32_init function for STM32N6.
- Ensuring the 'ret' variable is used correctly
  in the pinctrl_apply_state function call.

Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
2025-04-15 19:10:28 +02:00
Krzysztof Chruściński
e0f5241b28 drivers: serial: nrfx_uarte: Fix use of PM_DEVICE_ISR_SAFE
PM_DEVICE_ISR_SAFE shall not be used when non-asynchronous API is used
because RX is disabled in suspend action and that takes relatively
long time. In case of PM_DEVICE_ISR_SAFE it is done with interrupts
disabled. RX is not used at all if disable-rx property is set and in
that case PM_DEVICE_ISR_SAFE can be used.

Added macro which determines if ISR safe mode can be used.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-04-15 19:09:43 +02:00
Francois Ramu
a60d7741b5 drivers: flash: stm32wba6x add flash driver support
-The stm32wba6x has Dual Bank memory. Change the flash driver
 to support this OPTion given by presence of the
 DUAL_BANK bit (21) in the FLASH_OPTR register.

-Flash erase with 2 banks: Add the control of the BKER
 bit of the FLASH_NSCR1 to select BANK1 or 2 of
 the internal flash depending
 on the page number >127 for BANK2

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2025-04-15 15:33:15 +02:00
Jordan Yates
6c989dee10 wifi: nrf_wifi: add alignment requirement to buffers
The nRF lower levels (`spim_addr_check` and `qspi_addr_check`) do
address alignment validation before sending or receiving data. If the
buffer sizes are not aligned, errors like this are printed to the
console when the interface is powered up.

```
<err> : spim_addr_check : Unaligned address ee0b2 2002b020 1 0 0
<err> : spim_addr_check : Unaligned address eeb3e 2002bb40 1 0 0
<err> : spim_addr_check : Unaligned address ef5ca 2002c660 1 0 0
<err> : spim_addr_check : Unaligned address f0056 2002d180 1 0 0
```

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-15 09:28:44 +02:00
Ruibin Chang
41bc8efbee drivers/watchdog/it51xxx: implement watchdog driver
Implement watchdog driver for ITE it51xxx series chip.

Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw>
2025-04-15 09:28:19 +02:00
Jhan BoChao
482d17f235 driver: sensor: add tachometer driver for rts5912
Add tachometer driver for Realtek rts5912.

Signed-off-by: Jhan BoChao <jhan_bo_chao@realtek.com>
2025-04-15 09:28:01 +02:00
Luis Ubieda
d7ebf672bd drivers: i2c_rtio: MCUX LPflexcomm determine by inst
Determine if lpflexcomm wrapped lpi2c by instance and connect
irq differently dependending on that to support platforms with
both flexcomm wrapped and unwrapped lpi2c's.

Applying c1286a8d8d425805fcceb3b872325fb4c439a572 to RTIO version.

Authored-by: Declan Snyder <declan.snyder@nxp.com>
Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-04-14 23:06:53 +02:00
Luis Ubieda
c7a00248a6 drivers: i2c_rtio: Use the NXP Flexcomm driver for interrupt handling
The Low Power Flexcomm driver manages the interrupt handling
and provides an API to register interrupt callbacks.
Register the NXP LPI2C interrupt handler.

Applying dca6e64c93f26db254089f20225854bb1f8fe9b4 on RTIO-version.

Authored-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-04-14 23:06:53 +02:00
Luis Ubieda
797772fc41 drivers: i2c_rtio: Use flexcomm interface to manage interrupts
Some NXP SoC's have a FlexComm interface that manages the
interrupts.

Applying 482e39ea9556f53adbb7f67d0d0da3d17bbbae90 on RTIO-version.

Authored-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-04-14 23:06:53 +02:00
Luis Ubieda
0f0bb7e6e9 drivers: i2c_rtio: Use MCUX variations when using instance number
Update the driver to account for variations in the SDK driver
when it uses the instance number instead of the base address.

Applying 49bdcd2ef2fd5c91ab36f08d29e5183df5437843 on RTIO-version.

Co-authored-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-04-14 23:06:53 +02:00
Nitin Pandey
50e36095dd driver: wifi: siwx91x: Add roaming configuration
- Defined Kconfig macros for Roam config
- Added set roam configuration API call
  after BGSCAN

Signed-off-by: Nitin Pandey <nitin.pandey@silabs.com>
2025-04-14 23:06:20 +02:00
Nitin Pandey
bf22b61540 driver: wifi: siwx91x: Implement scan dwell time
- Verified and configured scan
  dwell time for active, passive
  and advance scan

Signed-off-by: Nitin Pandey <nitin.pandey@silabs.com>
2025-04-14 23:06:20 +02:00
Nitin Pandey
4c5dd7384b driver: wifi: siwx91x: Add support for BG Scan
- Added support for background scan
  and configured the default values
  of BG scan configuration

Signed-off-by: Nitin Pandey <nitin.pandey@silabs.com>
2025-04-14 23:06:20 +02:00
Luis Ubieda
d1b79aa5bc drivers: i2c_nrfx_twi_rtio: Fix multi-writes with OP_TRANSACTION flag
This patch establishes proper handling of RTIO OPs with multiple write
requests in the same transfer (as in: including OP_TRANSACTION flag).
An example of this is captured in test_ram_rtio_write_with_transaction
test). This patch makes that testcase pass for i2c_nrfx_twi_rtio.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-04-14 20:04:47 +02:00
Peter Wang
7b2c92f0a0 boards: frdm_mcxa166, frdm_mcxa276: add flash support
1. enable flash support
2. verified test/driver/flash

Signed-off-by: Peter Wang <chaoyi.wang@nxp.com>
2025-04-14 20:03:54 +02:00
Hao Luo
5d62f96d8d drivers: i2c: ambiq: Optimized i2c_ambiq_transfer to handle frame header
Need to send the device address together with data in one transaction,
instead of splitting into two.

Signed-off-by: Hao Luo <hluo@ambiq.com>
2025-04-14 16:07:54 +02:00
Krzysztof Chruściński
8d6ab28ff7 drivers: spi: nrfx_spis: Fix spis120
ISR safe runtime PM can only be used for all instances except for
spis120 which requires standard runtime PM.

Added compilation guard against using CONFIG_PM_DEVICE_SYSTEM_MANAGED
with spis120.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-04-14 13:07:17 +02:00
Krzysztof Chruściński
9d59e03ad9 drivers: spi: nrfx_spim: Remove explicit references to SPIM instances
Add FOREACH macro which iterates over all SPIM instances and creates
device instances for each enabled instance.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-04-14 13:07:07 +02:00
Krzysztof Chruściński
d8dc24165a drivers: spi: nrfx_spim: Detect wrong configuration
Add compile time detection if fast SPIM instances are used
and system managed device PM is enabled. This configuration is
not supported.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-04-14 13:07:07 +02:00
Krzysztof Chruściński
fc77abc8ae drivers: pwm: nrfx: Add protection against wrong configuration
Do not allow CONFIG_PM_DEVICE_SYSTEM_MANAGED when fast PWM instance
is used.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-04-14 13:06:54 +02:00
Karol Lasończyk
68f6cfb382 drivers: clock_control: Add support for XOTUNE in nRF54L
Adding support for handling XOTUNE event in clock_control.
Right now XOTUNE event reflects situation when HFCLK is stable and tuned.

Signed-off-by: Karol Lasończyk <karol.lasonczyk@nordicsemi.no>
2025-04-14 11:48:57 +02:00
IBEN EL HADJ MESSAOUD Marwa
1844e98d96 drivers: usb: Enhance USB and UDC drivers for STM32 OTG configurations
- Unified the handling of USB OTG HS and USB OTG FS
  by removing redundant preprocessor conditionals.
- Introduced a new macro `UDC_STM32_BASE_ADDRESS`
  to dynamically set the USB base address.

Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
2025-04-14 11:48:54 +02:00
IBEN EL HADJ MESSAOUD Marwa
6f005fdf7d drivers: usb: Add STM32N6 family support to UDC driver
Add STM32N6 family support to UDC driver

Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
2025-04-14 11:48:54 +02:00
IBEN EL HADJ MESSAOUD Marwa
2b56eb6393 drivers: usb: Add STM32N6 USB support
Enable clock and power for the OTG HS peripheral
of the STM32N6x serie

Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
2025-04-14 11:48:54 +02:00
Peter van der Perk
886a99e736 kinetis-tpm: Implement pulse_cycles directly instead of duty cycle
When using low PWM frequency i.e 50Hz the resolution of pulse_cycles
got lost from converting pulse_cycles to duty cycle % and then back to
pulse_cycles again.

Furthermore TPM_UpdateChnlEdgeLevelSelect call would restart the pwm
constantly on a mcux_tpm_set_cycles call now only call
TPM_UpdateChnlEdgeLevelSelect when changing the polarity

Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
2025-04-12 00:02:48 +02:00
Neil Chen
44f0c0389b drivers: clock_control: update syscon driver for MCXA153
Add #if check whether the PORT count is greater than 4.

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-04-12 00:02:28 +02:00
Fabrice DJIATSA
f8d1d354c5 drivers: dma: stm32: update function prototype after hal update
New HAL update changed the prototype of the check DMA flag functions.
C0 use a const parameter for these functions.

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2025-04-11 17:32:01 +02:00
Fabrice DJIATSA
0e41b07309 drivers : flash: update way to get flash size
The LL_GetFlashSize function has been removed for
this new HAL H7RS release. Retrieves the value now from
the devicetree using the DT_REG_SIZE macro.

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2025-04-11 17:32:01 +02:00
Luis Ubieda
ecbe31f59f drivers: i2c_nrfx_twi_rtio: Fix missing completion on i2c_configure
This patch adds the missing completion call to the
RTIO_OP_I2C_CONFIGURE OPs. Without this, the drivers will lock when
calling i2c_configure().

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-04-11 17:31:53 +02:00
Kevin ORourke
f68eefa6f7 drivers: ethernet: eth_stm32_hal: fix API_V2 multicast
After API_V2 auto-negotiation support was added by #86621
setup_mac_filter() was called before HAL_ETH_Init(), which resulted in
received multicast packets being discarded.

This moves the call to setup_mac_filter() to eth_iface_init(), after
HAL_ETH_Init() for both API_V1 and API_V2.

I've verified the problem and tested the fix on a Nucleo-H563ZI with a
simple application that just starts up and makes an mDNS query (which
depends on working multicast).

Signed-off-by: Kevin ORourke <kevin.orourke@ferroamp.se>
2025-04-11 17:31:43 +02:00
Scott Worley
ab071da3be drivers: serial: Microchip MEC5 add select PINCTRL to Kconfig
Zephyr has changed the rules for PINCTRL to use Kconfig select
feature at the driver level instead of setting the Kconfig
item directly in the board or application level. We updated
the MEC5 UART serial driver Kconfig to select PINCTRL.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2025-04-11 17:31:37 +02:00
Peter van der Perk
6a37f325a4 drivers: input: sbus: Fix race and infinite loop
Under certain conditions report_lock could already be used by the irq
before it was initialized, now we ensure we enable irq after report_lock
is initialized.

Furthermore in some conditions data->xfer_bytes could be equal
SBUS_FRAME_LEN resulting in a infinite loop doing zero reads when
fifo is still holding new bytes

Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
2025-04-11 16:17:56 +02:00
Jeppe Odgaard
231b2a0c19 drivers: sensor: rename tmp116 to tmp11x
The tmp116 sensor driver also supports tmp117 and tmp119. Therefore rename
to indicate that is supports a range of tmp devices.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2025-04-11 16:17:35 +02:00
Jeppe Odgaard
4ce331c1d9 drivers: sensor: add tmp119 support
Add support for TMP119. Its registers are compatible with TMP117 except for
device id register.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2025-04-11 16:17:35 +02:00
Ruibin Chang
fb35b6890d drivers/input/it51xxx: implement kbd driver
Implement kbd driver for ITE it51xxx series chip.

Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw>
2025-04-11 14:53:11 +02:00
Lucas Tamborrino
232e2c5a3c drivers: uart: espressif: Add LP UART driver
Add LP UART driver for LP Core

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2025-04-11 13:34:17 +02:00
Ren Chen
b601a357cd drivers: i3c: shell: fix the argv index for broadcast setwml ccc
For the broadcast setwml ccc, the argument vector index of the input
length is 2 instead of 3. This commit fixs this issue.

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2025-04-11 06:34:36 +02:00