Commit graph

24538 commits

Author SHA1 Message Date
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
Derek Valleroy
ead1cfb1aa drivers: sensors: lsm6dsv16x: Fix bug in decoder
The lsm6dsv16x driver is using an incorrect value for the index
into the acceleration range. This results in using the wrong
range. The issue was found to be a bug in a MACRO in
lsm6dsv16x_decoder.h that was used to find the index in the
acceleration range. The MACRO was improperly counting zeros from the
leading edge, instead of the trailing edge.

Signed-off-by: Derek Valleroy <derekvalleroy@fb.com>
2025-04-11 06:34:24 +02:00
Darren Lu
129ccf981c drivers: sdhc: add sdhc driver for Ambiq MCU
Add SDHC/SDIO driver support for Ambiq Apollo4 MCU.

Signed-off-by: Darren Lu <dlu@ambiq.com>
2025-04-11 06:33:24 +02:00
Marcio Ribeiro
faea025cd4 drivers: i2s: esp32: remove block size limitation from rx channel
Removes block size limitation from rx channel

Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
2025-04-11 06:32:40 +02:00
Stefan Giroux
651ecab53e drivers: gpio: gpio_mcux_igpio: add pull strength configuration
The i.MXRT10xx series have configurable GPIO pull strengths.

These are available for configuration in the pinctrl system, but not for
regular GPIO use.

This commit adds SOC-series specific GPIO configuration bits for selecting
weak or strong GPIO pulls, similar to drive strengths available from other
GPIO pin configuration examples.

This has been tested on a custom i.MXRT1062 product.

Signed-off-by: Stefan Giroux <stefan.g@feniex.com>
2025-04-10 18:05:26 +02:00
Chaitanya Tata
5f67471532 drivers: nrf_wifi: Fix SR co-ex RF switch configuration
This was not getting enabled because label was passed instead of path
and dependency was not met.

Fix the DT function to use label.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-04-10 18:02:28 +02:00
Chaitanya Tata
260c4f6878 drivers: nrf_wifi: Extend the help on modes
These nRF70 driver operational modes are important, so, extend the help
to clearly communicate the mode's purpose.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-04-10 18:02:20 +02:00
Kiara Navarro
77c1414082 drivers: charger: add driver for bq25713
Create a driver implementation for the battery charge controller
TI BQ25713.

It includes the ability to enable / disable the controller and also
to setup max current and voltage charge parameters at initialization
time but also at run time.

On the other hand, it is possible to assign / obtain input voltage
and current regulation.

Signed-off-by: Kiara Navarro <knavarro@paltatech.com>
2025-04-10 18:01:02 +02:00
Isaac Yuki
94655d2a13 drivers: display_mcux_elcdif: enable RGB_888 pixel format
Add missing define in order to enable RGB_888 pixel format support
on the mcux_elcdif driver. Tested with TM070JVHG33 display

Signed-off-by: Isaac Yuki <isaaclucas.delimayuki@tq-group.com>
2025-04-10 15:51:27 +02:00
Armando Visconti
4f8572c35a sensor: lsm6dsv16x: fix building in rtio config
Fix build error which happens when LSM6DSV16X_STREAM=y and there
are no lsm6dsv16x driver instances on i3c bus.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2025-04-10 14:43:53 +02:00
cyliang tw
ea1129ee1a drivers: ethernet: support for numaker m55m1x series
Add support for Nuvoton numaker m55m1x series EMAC controller.
Also include NOCACHE_MEMORY allocation.
Support to generate random mac address and remove emac data flash.

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2025-04-10 14:43:43 +02:00
Johann Fischer
0f4fc767be drivers: udc_rpi_pico: use atomic_t instead of k_event for value passing
Use atomic_t instead of k_event for event value passing.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2025-04-10 12:57:43 +02:00
Johann Fischer
dfe483dbcc drivers: udc_rpi_pico: fix restart of the new transaction
At high throughput, the controller sometimes fails to start a new
transaction. Clearing the corresponding endpoint bit in the BUFF_STATUS
completion register before initiating a new transaction solves this
problem.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2025-04-10 12:57:43 +02:00
Johann Fischer
6c90673a32 drivers: udc_rpi_pico: fix OUT transfer handling in ISR
Do not check if the tailroom is greater than or equal to MPS because the
controller does not write directly to the buffer and therefore cannot
write outside the buffer.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2025-04-10 12:57:43 +02:00
Johann Fischer
a2c5861568 drivers: udc_rpi_pico: fix set/clear endpoint halt
For the IN endpoint, we only need to set/reset the STALL bit in the
endpoint control register.
To set halt on the OUT endpoint, the AVAILABLE bit must also be set,
which is similar to starting a new transfer, but first any transfer in
progress must be canceled.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2025-04-10 12:57:43 +02:00
Johann Fischer
e98e774b75 drivers: udc_rpi_pico: mark endpoint as not busy after transfer canceled
Mark endpoint as not busy after transfer is canceled.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2025-04-10 12:57:43 +02:00