Commit graph

24538 commits

Author SHA1 Message Date
Jiafei Pan
c006dbea8e drivers: ethernet: netc_psi: add MMIPO mapping support
In order to support MMU mapping on Cortex-A core, added MMIO mapping
support in imx_netc_psi driver.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-07-29 11:20:48 +01:00
Jiafei Pan
e98a2c3d70 drivers: mdio: imx_netc: add mmio mapping support
Added MMIO memory mapping for NETC MDIO driver.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-07-29 11:20:48 +01:00
Jiafei Pan
4caf2efec9 drivers: ethernet: imx_netc: add netc block driver
Add NETC block driver, it could do some block memory region MMIO mapping
and also so dome block initialization, moved some netc related
configuration form board_init() to block driver so that it could be reused
between different platforms, although some configuration is different for
different platform, but put all NETC related code in the same driver to
make it easier to be maintained.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-07-29 11:20:48 +01:00
Jiafei Pan
30b6adf42d drivers: ethernet: imx_netc: add GIC MSI support
It could use GIC ITS as MSI controller on Cortex-A Core, so added
GIC ITS MSI support for NETC drivers.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-07-29 11:20:48 +01:00
The Nguyen
9ae5b7efd9 drivers: input: initial support for renesas,ra-ctsu
First commit to add support for Renesas RA Capasitive Sensing Unit

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-07-29 11:19:20 +01:00
Jiafei Pan
b210fa0237 drivers: intc_gicv3_its: fix sleep issue in pre-kernel
GIC v3 ITS is initialized in pre-kernel stage in which sleep function
can't work yet, so use busy delay in pre-kernel stage and use sleep
delay in post-kernel stage.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-07-29 11:18:50 +01:00
Jiafei Pan
970e0181f1 drivers: intc_gicv3_its: fix incorrect RDbase when PE number is used
For RDbase used by its command, When GITS_TYPER.PTA = 1, physicall address
is used, the RDbase field consist of bits[51:16] of the address, so need
to left shift the address by 16 bits. But when GITS_TYPER.PTA = 0, PE
number is used, no need to shit anymore.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-07-29 11:18:50 +01:00
Jiafei Pan
9bb6a82a86 drivers: gicv3_its: enable dma noncoherent support
Add DMA noncoherent support on GICv3 ITS driver.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-07-29 11:18:50 +01:00
Jiafei Pan
83c88cee19 drivers: intc_gicv3: enable dma-noncoherent support
GIC redistributor on Some platform are connected to a non-coherent
downstream interconnect, it need to use Non-cahable and Non-shareable
access atttributes to access external memory. And also flush the
data cache after CPU update related memory.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-07-29 11:18:50 +01:00
Dmitrii Sharshakov
5c1d4db845 drivers: udc_rpi_pico: move control endpoint enable/disable
Move control endpoint enable/disable calls to udc_enable()/udc_disable().
It does not change much during USB device support initialization, but
it seems to resolve an issue when starting from RAM, though the real
cause is unknown.

Signed-off-by: Dmitrii Sharshakov <d3dx12.xx@gmail.com>
2025-07-29 11:18:28 +01:00
Tahsin Mutlugun
3885278b96 drivers: i3c: shell: Add shell support to MAX32 I3C
Enables shell support for MAX32 I3C driver.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
2025-07-28 21:06:00 -04:00
Tahsin Mutlugun
d1d983dfdb drivers: i3c: Introduce MAX32 I3C driver
Add I3C driver for ADI MAX32 microcontrollers.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
2025-07-28 21:06:00 -04:00
Phi Bang Nguyen
d69bea3c5e drivers: display: dcnano_elcdif: Fix RGB565/BGR565 format mismatch
Format is incorrectly forced from RGB565 to BGR565. Fix it.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2025-07-28 16:45:33 -04:00
Phi Bang Nguyen
d9513095d9 drivers: display: elcdif: Fix RGB565/BGR565 format mismatch
Format is incorrectly forced from RGB565 to BGR565. Fix it.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2025-07-28 16:45:33 -04:00
Jordan Yates
3698507585 disk: sdmmc: support L4 series with shared DMA channel
Update the driver to support DMA operations on L4 series devices, with
a shared DMA channel. Split channels do not work on these chips, since
there is no dedicated TX and RX channels on the DMA, so configuring two
channels with SDMMC as the peripheral results in a non-functional
configuration.

Fixes #91216.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-07-28 16:44:33 -04:00
Armando Visconti
792b7e3570 rtio: add helper function rtio_read_transaction()
Add a helper function that constructs a rtio SQE chain with the purpose
to perform a bus read operation on a list of registers.

Usage:

  struct rtio_regs regs;
  struct rtio_reg_list regs_list[] = {{regs_addr1, mem_addr_1, mem_len_1},
                                      {regs_addr2, mem_addr_2, mem_len_2},
                                      ...
                                     };
  regs.rtio_regs_list = regs_list;
  regs.rtio_regs_num = ARRAY_SIZE(regs_list);

  rtio_read_regs_async(rtio,
                       iodev,
                       RTIO_BUS_SPI,
                       &regs,
                       sqe,
                       dev,
                       op_cb);

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2025-07-28 16:44:17 -04:00
Van Petrosyan
7c845f14d4 drivers: led: Implemented PCA9533 driver with PM support
• Supports led_on/off, led_set_brightness (0–100 %, 152 Hz default),
  and led_blink (7 ms – 1.685 s) with automatic sharing of the two
  on-chip PWM engines; returns –EBUSY when a third distinct pair is
  requested.

• Includes basic runtime-PM boilerplate to honour power-domain control;
  the device itself has no dedicated low-power states.

Signed-off-by: Van Petrosyan <van.petrosyan@sensirion.com>
2025-07-28 16:43:48 -04:00
Holt Sun
4618e86edd drivers: irtc: Updated rtc driver to support NXP RT700 device.
1. Update nxp irtc driver to fix issue in init and alarm function.
2. Update RTC device tree binding to support "share-counter".
3. Update RT700 dtsi to support rtc0 for cpu0 and rtc1 for cpu1.
4. Update readme.
5. Update unit test project conf for RT700.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2025-07-28 16:42:30 -04:00
Georgij Černyšiov
e0899d347e drivers: mipi_dbi: stm32: fmc: add bank address property
The driver gets FMC bank address using
`FMC_BANK1_<parent_register_value>` define.

This approach has some flaws:
- The parent (bank) register's value might not correspond
  sequentially to the expected bank number.
  For example: `STM32_FMC_NOSRAM_BANK3` maps to `FMC_BANK1_4`,
  instead of `FMC_BANK1_3`.
- Some families don't even define the necessary `FMC_BANK1_x` macros.

To address this, the commit adds an optional `bank-address` property,
providing a direct way to define the FMC bank address for the driver.

Signed-off-by: Georgij Černyšiov <geo.cgv@gmail.com>
2025-07-28 16:41:30 -04:00
Luis Ubieda
49a1b2417e icm4268x: Fix typos on has_trigger API
Missed during icm42688 to icm4268x refactoring as it was mispelled
in the first-place.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-07-28 16:38:52 -04:00
Luis Ubieda
4e1add203f icm4268x: fix typo on ODR attribute for 16k
Otherwise this setting will be ineligible through run-time
attribute configuration.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-07-28 16:38:52 -04:00
Cla Mattia Galliard
a1f66f05d2 drivers: mdio: shell: Fix argument count
Need to have correct argument count to avoid crash.

Signed-off-by: Cla Mattia Galliard <cla-mattia.galliard@zuehlke.com>
2025-07-28 08:57:14 -04:00
Luis Ubieda
b9099918fa paa3905: Send led-control disabled sequence
Otherwise, a previous firmware build could have run into the chip and
keep led control enabled in spite of disabling it through
dts-property.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-07-28 08:55:56 -04:00
Pavlo Hamov
684ff2b3c8 drivers: display: stm32_ltdc: mask irq if necessary
LTDC interrupt routine is used to reload frame buffer pointer
once full frame is finished flushing. As long as there is no
need to change buffer - there is no need to disturb CPU.
Thus: Enable LTDC interrupt only when new buffer is pending

Signed-off-by: Pavlo Hamov <pasha.gamov@gmail.com>
2025-07-28 08:55:06 -04:00
Maochen Wang
eeabf28d02 drivers: wifi: nxp: IW610 aligns with RW612's config
Keep IW610 kconfig same as RW612, as it has similar Wi-Fi FW.
Remove NXP_WIFI_CAU_TEMPERATURE as it's not used.
NXP_WIFI_MEM_ACCESS, NXP_WIFI_REG_ACCESS and NXP_WIFI_OWE should not be
enabled by default.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2025-07-28 08:45:21 -04:00
Kavita Sharma
006302dc99 drivers: wifi: nxp: add calibration config for IW61x
Added the below config to overide default calibration data and
select 2Ant Isolation.
NXP_OVERRIDE_CALIBRATION_DATA
WLAN_CALDATA_2ANT_HI_ISO
WLAN_CALDATA_2ANT_LO_ISO

Signed-off-by: Kavita Sharma <kavita.sharma_1@nxp.com>
2025-07-28 08:45:21 -04:00
Arthur Gay
321ccb8889 led_strip: ws2812_spi: place buffer in __nocache for DMA
When using DMA for SPI communication, the WS2812 SPI buffer should be
placed in the __nocache section to ensure it resides in uncached memory,
which is typically required for DMA operations.

Signed-off-by: Arthur Gay <arthur.gay@marshmallow.kids>
2025-07-28 08:45:04 -04:00
Peter van der Perk
0f6e5e3f26 drivers: ethernet: eth_nxp_enet_qos: init phy callback in iface init
Initially phy_link_callback_set got called before iface init got set.
Moving to iface_init, fixes an issue that mac would set interface to up
even though it was down because startup phy down callback didn't got
through.

Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
2025-07-28 08:38:47 -04:00
Chaitanya Tata
40b7b87ad7 drivers: nrf_wifi: Fix defaults to avoid false recovery
In case of a busy environment and if STA is far, then we see many
retries for the frames that cause the RPU to be awake though host has
de-asserted wakeup_now signal, this leads to WDT interrupt and host
thinks that it has given sleep opportunity to RPU and initiates a
recovery.

To handle this, increase the sleep opportunity window to 5s to cover all
the retries, this solves the false recovery problem. While at it, also
increase the range, no reason to limit to lower window. And update the
help text with the warning about power consumption.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-07-28 08:34:49 -04:00
Matthias Alleman
947189f70a drivers: input: add chsc5x driver
Add support for the chsc5x touch controller.

Signed-off-by: Matthias Alleman <matthias.alleman@basalte.be>
2025-07-28 08:34:35 -04:00
Michał Bainczyk
2e06c4ed20 drivers: nrf: add build asserts for memory-regions property
Add build asserts for "memory-regions" property in nrf drivers which is
required on targets with DMM for saadc, pdm, pwm, twim, twim_rtio, twis,
tdm, uarte, spim and spis. On targets where the property is not required
the assertion macro expands to nothing.

Signed-off-by: Michał Bainczyk <michal.bainczyk@nordicsemi.no>
2025-07-28 04:27:25 -04:00
Chris Friedt
ccf7f72e6c drivers: hwinfo: split kconfig into separate files
Split Kconfig into separate files sorted by name.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-07-28 04:23:21 -04:00
Hanan Arshad
428eced7d0 drivers: flash: flash_rpi_pico: fix indentation and remove unused variables
Cleaned up the flash_rpi_pico driver to improve code readability and
compliance with Zephyr coding standards. Fixed inconsistent indentation
across the file and removed variables that were declared but not used.

A few improvements are credited to Manu3l0us.

Signed-off-by: Hanan Arshad <hananarshad619@gmail.com>
2025-07-27 20:11:20 -04:00
Hanan Arshad
5d36e85b99 drivers: flash: rpi_pico: add support for rp2350 flash controller
The Raspberry Pi Pico 2 uses a QMI flash controller, which differs from the
SSI controller used in the original Pico. Zephyr already has support for
the SSI controller, but lacked support for QMI.

This change adds the QMI flash controller implementation in the
flash_rpi_pico.c driver file. Additionally, the RP2350 SoC devicetree file
(rp2350.dtsi) has been updated to enable and describe the flash controller
for Pico 2.

Signed-off-by: Hanan Arshad <hananarshad619@gmail.com>
2025-07-27 20:11:20 -04:00
Luis Ubieda
1725408b59 bmp581: code-style improvements
Remove extra-parentheses when operator precedence is implicit.
Eliminate implicit integer to boolean conversions.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-07-25 23:33:47 +02:00
Luis Ubieda
e7395a90f6 bmp581: stream: Add FIFO Watermark support
Configurable through dts property: fifo-watermark.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-07-25 23:33:47 +02:00
Luis Ubieda
7e3d5679d9 bmp581: Add LOG_ERR if initialization fails
Usually, drivers failing to initialize throw a message in the log,
signaling the cause of failure. Add it to this driver so the user
isn't confused by no message yet the device being marked as disabled.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-07-25 23:33:47 +02:00
Luis Ubieda
d2c4d0c34e bmp581: fix: Add parenthesis to macro arguments
Otherwise it leads to potential incorrect expansions.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-07-25 23:33:47 +02:00
Raffael Rostagno
166bf18d30 drivers: counter: esp32: Fix alarm stops working
Fix condition in which alarm stops working after a certain amount
of time. Hardware timer is 54-bit, yet it is treated as 32-bit by
the counter driver. To allow alarm event by hardware comparators,
counter high word must be loaded into the register along with
the lower word managed by the driver.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-07-25 23:29:40 +02:00
sudarsan N
7312715975 drivers: sensor: fcx_mldx5: Fix potential buffer overflow in UART frame
Fix Coverity issue CID 363738 (CWE-120): A potential buffer overflow could
occur in fcx_mldx5_uart_send() due to unchecked memcpy() when copying
command data into a fixed-size frame buffer.

This patch ensures that the length of the data being copied validated
against the remaining buffer size to prevent overruns. Also replaces a
redundant strlen() call with the precomputed cmd_data_len.

Fixes: #92634

Signed-off-by: sudarsan N <sudarsansamy2002@gmail.com>
2025-07-25 23:29:04 +02:00
Luis Ubieda
216fc8f5de sensor: icm4268x: Add support for ICM42686 variant
Now this driver supports both ICM42688 and ICM42686.
Tested with read-decode as well as streaming mode.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-07-25 23:28:47 +02:00
Luis Ubieda
8b30d11785 sensor: icm4568x: Address existing code issues by static analysis
Addressing low-hanging fruits.

Put in a separate commit in order to make it easier to keep track of
changes.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-07-25 23:28:47 +02:00
Luis Ubieda
8db851ff57 general: icm4268x: Refactor ICM42688 driver to ICM4268X
As a first step to enable the similar variants (e.g: ICM42686),
refactor common functionality into icm4268x files. As a result,
applications using the icm42688 will need to have both compatible
properties: "invensense,icm42688" and "invensense,icm4268x" defined.
In-tree boards have been modified to comply with this pattern.

This patch does not contain functional changes. The driver should
work the same as before.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-07-25 23:28:47 +02:00
Ajay Parida
3e9b7cbeb4 drivers: wifi: Pass the connection type
Firmware needs to know the connection type to be established.
use the wpa_proto field to derive the connection type.

Signed-off-by: Ajay Parida <ajay.parida@nordicsemi.no>
2025-07-25 17:03:38 +01:00
Ajay Parida
c70b3504bb net: l2: wifi: Configure BSS max idle period
Support to configure BSS max idle period at runtime.

Signed-off-by: Ajay Parida <ajay.parida@nordicsemi.no>
2025-07-25 17:03:38 +01:00
Michał Stasiak
dd8a8697e2 drivers: spi: nrfx_spi(m/s): enable cross domain pins for nRF54L15
SPI(M/S)20 and SPIM(M/S)21 instances enable usage of pins on different
port, but require request for constant latency mode. Added
handling of such scenario in the driver. Added testcase
to cover it.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-07-25 17:03:11 +01:00
Michał Stasiak
e8dd83b43d drivers: serial: nrfx_uarte: enable cross domain pins for nRF54L15
UARTE20 and UARTE21 instances enable usage of pins on different
port, but require request for constant latency mode. Added
handling of such scenario in the driver. Added testcase
to cover it.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2025-07-25 17:03:11 +01:00
Nikodem Kastelik
04f7fc5095 drivers: adc: nrfx_saadc: remove VDD and DVDD inputs for nRF54LV10A
MDK 8.72.1 does not specify VDD and DVDD internal analog inputs
for this SoC.

Signed-off-by: Nikodem Kastelik <nikodem.kastelik@nordicsemi.no>
2025-07-25 08:20:09 -04:00
Alexander Kozhinov
e01357461d drivers: rtc: rtc_ll_stm32: update to new EXTI API
integrate EXTI driver

Co-authored-by: Mathieu CHOPLAIN <mathieu.choplain@st.com>
Signed-off-by: Alexander Kozhinov <ak.alexander.kozhinov@gmail.com>
2025-07-25 08:18:48 -04:00
Alexander Kozhinov
de22c560a3 drivers: interrupt_controller: intc_gpio_stm32: update to new EXTI binding
integrate intc_exti_stm32 to intc_gpio_stm32

Co-authored-by: Mathieu CHOPLAIN <mathieu.choplain@st.com>
Signed-off-by: Alexander Kozhinov <ak.alexander.kozhinov@gmail.com>
2025-07-25 08:18:48 -04:00