Commit graph

28,390 commits

Author SHA1 Message Date
Kate Wang
6f5e752187 drivers: display: co5300: Fix pitch calculation in write function
The previous implementation incorrectly calculated the source pointer
advancement when pitch differs from width. The calculation was using
`total_bytes_sent` which accumulated across iterations, leading to
incorrect pointer arithmetic.

Replace `total_bytes_sent` with `line_each_sent` to track lines written
per iteration. Simplify the pointer advancement by:
- Calculating complete lines written from bytes_written
- Advancing by full pitch-sized lines
- Adding any remaining partial line bytes

This fixes the source pointer calculation when the buffer pitch is
greater than the display width.

Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
2026-01-21 11:19:44 +00:00
Matthias Blankertz
f58602891a drivers: watchdog: wdog32: Add missing include for k_msleep
In commit 1f9e39752a ("drivers: watchdog: wdog32: add delay before
init") a reference to k_msleep was added to
drivers/watchdog/wdt_mcux_wdog32.c without including the necessary
header. At least for the board frdm_mcxw71/mcxw716c, this causes a
compile failure in this file as soon as CONFIG_WATCHDOG is enabled.

Add the missing include to zephyr/kernel.h to fix the issue.

Signed-off-by: Matthias Blankertz <matthias.blankertz@inovex.de>
2026-01-20 20:11:49 -05:00
Arunprasath P
74bafaf20e drivers: dac: microchip: Introduce DAC G1 Driver
Add G1 DAC driver for Microchip DAC Peripherals.

Signed-off-by: Arunprasath P <arunprasath.p@microchip.com>
2026-01-20 20:11:31 -05:00
Ali Hozhabri
2bc754e581 drivers: timer: Fix a typo in the STM32WB07 radio timer
Replace one extra CONFIG_SOC_STM32WB06XX with the CONFIG_SOC_STM32WB07XX.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2026-01-20 20:11:22 -05:00
Ali Hozhabri
a32b5cfe34 drivers: timer: Fix radio timer issue on STM32WB07/STM32WB05
Due to the hardware limitation, the time between the CPU wake-up IRQ fire
(IRQ 23) and the next call of LL_RADIO_TIMER_SetCPUWakeupTime should not
be less than 16 MTU (Machine Time Unit), i.e. approximately 30us.
otherwise, the next CPU wake-up doesn't happen unless the timer wraps.

Lock IRQs while sys_clock_set_timeout is being executed.

Remove HAL_RADIO_TIMER_WakeUpCallback and it will be implemented
differently in the future.

Remove HAL_RADIO_TIMER_TimeoutCallback as it is not needed anymore.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2026-01-20 20:11:22 -05:00
Ali Hozhabri
e1257bf845 drivers: entropy: Fix STM32WB07/STM32WB05 init issue
Change the initialization priority. According to the documentation, kernel
services should not be used during device configuration with PRE_KERNEL_1.
In "entropy_stm32_rng_init", there is "start_pool_filling" which calls
"k_work_schedule". Moreover, "k_work_schedule" requires system timer which
is initialized within PRE_KERNEL_2. Therefore, the SoC gets stuck.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2026-01-20 20:11:22 -05:00
Yongxu Wang
9a8acec820 drivers: i2c: mcux_lpi2c: add PM device support
Add PM device support for the LPI2C peripheral.

Implement PM device callback to gate and ungate the device clock
during suspend and resume. No attach register save and restore as
it's preserved by hardware

Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
2026-01-20 20:11:10 -05:00
Pisit Sawangvonganan
ec2b92c1e6 drivers: spi_nxp_lpspi: prevent null pointer dereference
The condition `!spi_context_rx_buf_on(ctx) && spi_context_rx_on(ctx)`
only returns early when RX is active with a NOP buffer.
However, when `rx_len == 0`, `spi_context_rx_on(ctx)` returns false,
causing the early return to be skipped.
This leaves `ctx->rx_buf` (which can be NULL) to be dereferenced.

Since `lpspi_handle_rx_irq()` already guarantees `spi_context_rx_on(ctx)`
is true before calling this function, only check
`!spi_context_rx_buf_on(ctx)` to safely handle NOP buffers.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2026-01-20 20:11:01 -05:00
Pisit Sawangvonganan
e28b3b04ce drivers: spi_nxp_lpspi: simplify lpspi_rx_buf_write_words
Refactor `lpspi_rx_buf_write_words()` to compute `words_read` upfront
using `MIN(rx_len, max_read)`, simplifying control flow and making
the read limit explicit without changing behavior.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2026-01-20 20:11:01 -05:00
TOKITA Hiroshi
45cde341dc drivers: serial: pl011: Allows mixed IRQ settings.
Allows a mixture of IRQ-enabled and IRQ-disabled nodes.
Enabled nodes are identified by the presence or absence of
the interrupt-names property.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2026-01-20 20:10:42 -05:00
Albort Xue
d9e86ad878 drivers: can: mcux_flexcan: Add clock configuration and enable
Add explicit clock configuration and enable calls during driver
initialization.

Note: -ENOSYS is temporarily ignored as not all clock control
drivers currently implement the configure API. This handling
should be removed once all clock drivers support configure.

Signed-off-by: Albort Xue <yao.xue@nxp.com>
2026-01-20 20:10:31 -05:00
Albort Xue
dba5c5081f drivers: pwm: mcux_tpm: Add clock configuration support
Add clock_control_configure() call during initialization to properly
configure the TPM clock. The driver now attempts to configure the
clock and handles cases where configuration is not supported by the
platform (-ENOTSUP/-ENOSYS) by continuing with default settings.
Real configuration errors are logged and cause initialization to fail.

Note: -ENOSYS is temporarily ignored as not all clock control
drivers currently implement the configure API. This handling
should be removed once all clock drivers support configure.

Signed-off-by: Albort Xue <yao.xue@nxp.com>
2026-01-20 20:10:19 -05:00
Daniel Leung
61e9f9ea04 soc: intel_adsp: rename CONFIG_SOC_INTEL_ACE* to CONFIG_SOC_ACE*
Just following guidelines here.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2026-01-20 20:09:40 -05:00
Daniel Leung
1dae40fa2e soc: rename CONFIG_INTEL_CAVS_V25 to CONFIG_SOC_CAVSV25
Just following the guideline.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2026-01-20 20:09:40 -05:00
Benjamin Cabé
e6b8ffba92 drivers: modem: adopt SHELL_HELP in modem_at shell
Use SHELL_HELP macro for help strings to ensure consistency across
various shell modules.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-01-20 20:08:47 -05:00
Benjamin Cabé
114b3bd50c drivers: mdio: adopt SHELL_HELP in MDIO shell
Use SHELL_HELP macro for help strings to ensure consistency across
various shell modules.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-01-20 20:08:34 -05:00
Benjamin Cabé
39a8408b30 drivers: pm_cpu_ops: adopt SHELL_HELP in psci shell
Use SHELL_HELP macro for help strings to ensure consistency across
various shell modules.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-01-20 20:07:25 -05:00
Benjamin Cabé
8f8502c0c7 drivers: i3c: shell: adopt SHELL_HELP in I3C shell
Use SHELL_HELP macro for help strings to ensure consistency across
various shell modules and save quite a bit of flash.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-01-20 20:06:18 -05:00
Gaetan Perrot
5e16700cb2 drivers: ethernet: phy: phy_dm8806: fix error handling
The return value of gpio_pin_set_dt() and
gpio_pin_interrupt_configure_dt() was not stored before being
checked, causing the error condition to always evaluate to false.

Store the return value and properly handle potential GPIO errors
during PHY reset.

No functional change intended.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-20 20:06:06 -05:00
Eden Uhde
98573a57cd drivers: display: ls0xx: add Kconfig setting VCOM thread priority for ls0xx
The ls0xx driver VCOM inversion thread has a hardcoded priority of 3,
while in some applications this may be considered lower priority than
time sensitive tasks, maintaining close to an even polarity balance is
best, but this change allows developers to determine the approach.

Signed-off-by: Eden Uhde <eden@rainbowtree.house>
2026-01-20 20:05:15 -05:00
Felix Wang
b7106127af drivers: counter: Support multiple interrputs
For devices like MCXE247, the FTM peripheral instance
has multiple interrupts. In this patch, add FTM_CONFIG_FUNC
macro to support single or multiple interrupts based on irq
number.

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2026-01-20 14:36:24 -05:00
Kate Wang
0e6c2aedaf drivers: input: Add TMA525B capacitive touch controller driver
This commit adds support for the Parade Tech TMA525B capacitive touch
controller. The driver supports both interrupt-driven and polling modes,
and can handle up to 4 simultaneous touch points.

Key features:
- I2C communication interface
- Multi-touch support (up to 4 touch points)
- Interrupt mode with GPIO callback support
- Polling mode with timer
- Power management support with PM notifier
- Reset and power control via GPIO
- Touch event tracking (down, contact, up)

Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
2026-01-20 14:36:06 -05:00
Camille BAUD
fd9b0b81b7 drivers: input: Add CH9350L USB keyboard driver
Adds a driver that allows using CH9350 as a USB keyboard interface chip

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-01-20 14:35:50 -05:00
Dat Nguyen Duy
abb4ca3845 drivers: can: add support canxl for s32k5
- The RX Message Descriptor in CANXL on newer SoC such as
the S32K5 supports receiving both classic and FD frames,
so enable the RX FIFO only for S32ZE SoC.

- The CANXL bare-metal driver has significant changes, the
current codebase for S32ZE need to be guarded and modified
to support newer SoC

- Expand the peripheral region to 1G to include the CANXL
area.

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2026-01-20 14:35:42 -05:00
Dat Nguyen Duy
7bb9b42c99 drivers: can_nxp_s32_canxl: switch to freeze mode before setting baudrate
Switch canxl hw to freeze mode before setting baudrate

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2026-01-20 14:35:42 -05:00
Albort Xue
c9dc320cf5 drivers: watchdog: wdt_mcux_wdog32: Support named clocks for clock sources
Add support for named clocks in the WDOG32 driver to properly handle
different clock sources. The driver now uses clock-names property to
identify which clock source is being used, based on the clk-source
property.

This change enables proper clock configuration and control for platforms
where the clock frequency is not statically defined in the device tree.
The driver will now configure and enable the appropriate clock during
initialization.

Updated all affected device tree files to include the clock-names
property aligned with their clk-source configuration.

Signed-off-by: Albort Xue <yao.xue@nxp.com>
2026-01-20 14:35:20 -05:00
Chaitanya Tata
6100817e34 drivers: nrf_wifi: Fix raw TX shell
When using shell the users input raw header as big-endian, so, add
support for both formats for the magic number.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2026-01-20 14:33:58 -05:00
Holt Sun
4138155273 drivers: uart_mcux_lpuart: refine DMA TX busy/error handling
Split DMA status error from busy state handling. Use LOG_DBG for
busy state and LOG_ERR for status query failures. Return -EBUSY
as required by async UART API when transfer is in progress.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-01-20 15:33:20 +00:00
Razvan Heghedus
8f2b245fe6 dma: mcux_edma: Fix channel gap for edma_reload_loop
`edma_reload_loop` doesn't take into account the DMA possible channel
gap. This is an issue for S32K3 series leading to system crashes when
higher DMA channels are used.

Signed-off-by: Razvan Heghedus <razvan.heghedus@protonmail.com>
2026-01-20 15:33:15 +00:00
Yongxu Wang
6df440012b drivers: power_domain: add SCMI power domain driver
Add ARM SCMI-based power domain driver for managing power domains
through the SCMI protocol.

Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
2026-01-20 15:32:32 +00:00
Vinit Mehta
46d8f1baa9 drivers: bluetooth: hci: add host wakeup for IW612 BT controller
Add wakeup IO config for IW612 shield for BT host wakeup
functionality.
Add kconfig to enable/disable BT host wakeup functionality
Add kconfig to toggle onboard LED upon detecting BT activity

Signed-off-by: Vinit Mehta <vinit.mehta@nxp.com>
2026-01-20 15:30:54 +00:00
Aiden Hu
1cbc2de20f drivers: usb: uhc: fix unused variable warning for phy_config
Remove phy_config local variable then use controller-specific
config struct for usb PHY initialization

Signed-off-by: Aiden Hu <weiwei.hu@nxp.com>
2026-01-20 15:30:03 +00:00
Biwen Li
7a1cc72efa drivers: i2s: mcux_sai: init base,mask,offset as 0
Initialize mclk_control_base,
mclk_pin_mask, mclk_pin_offset as 0
and skip mclk settings when
there is no property pinmuxes.

Signed-off-by: Biwen Li <biwen.li@nxp.com>
2026-01-20 15:29:36 +00:00
Alain Volmat
8f9e370bfb drivers: clock: h7rs: add PCLKx support
Addition of PCLKx clock source which can be used by some
peripherals.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-01-20 15:29:27 +00:00
Alain Volmat
39a60f8a0b video: st: remove soc specific dcmipp compatibles
Only st,stm32-dcmipp is described and only st,stm32n6-dcmipp
was used within the driver to decide if CSI / PIXEL_PIPES
are available. Instead of this, look at HAL provided macros
to know if the selected soc has the functionalities or not.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-01-20 15:29:27 +00:00
Mathieu Choplain
dac9d3e1c3 drivers: usb: common: stm32: pwr: add power disable support
Add code to disable the USB power supply.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-01-20 13:26:11 +00:00
Mathieu Choplain
2120eb3027 drivers: usb: udc: stm32: move power configuration to common code
Create infrastructure for shared USB common code on STM32 family, and move
the Power Controller configuration logic to common code. This removes some
midly unrelated code from the UDC driver while enabling reuse by a future
UHC driver implementation for STM32.

While at it, clean up the migrated code.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-01-20 13:26:11 +00:00
Deepika R
f1edde06f0 drivers: counter: Add Infineon counter driver
Add implementation of the Infineon PSoC4 TCPWM-based counter driver.
- Provides basic counter operations
including start, stop, read, and set alarm.
- Supports configuration and initialization through Device Tree.
- Enables alarm callback handling for
precise time-based event generation.

Signed-off-by: Deepika R <deepika@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
2026-01-20 13:25:58 +00:00
Nhut Nguyen
e200e82909 drivers: gpio: renesas: Refactor gpio for RZ family
- Decouple interrupt settings from gpio drivers, making them configured
  and handled independently by tint and ext_irq drivers.
- Remove device-specific hardware definitions in gpio_renesas_rz.h and
  take advantage of pinctrl data type and dtsi for certain series.

Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2026-01-20 13:25:13 +00:00
Nhut Nguyen
2537ee030a drivers: intc: renesas: Update external interrupt of RZ family
Added a condition to check trigger type as high-level detection is not
supported by Renesas RZ external interrupt.

Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2026-01-20 13:25:13 +00:00
Nhut Nguyen
982231a8fe drivers: intc: renesas: Add gpio interrupt (tint) for RZ family
Add support for gpio interrupt (tint) for Renesas RZ familiy.

Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2026-01-20 13:25:13 +00:00
Jamie McCrae
3a9189aa3e drivers: Update to use SOC_SERIES_NRF Kconfigs without X suffix
Updates usage of the old Kconfig to use the new Kconfig

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-01-20 13:21:38 +00:00
Gaetan Perrot
1efa88e51a drivers: ethernet: phy: phy_tja11xx: remove dead error handling
phy_tja11xx_get_link_state() always returns 0, making callers' error
checks ineffective.

Remove the unused return variable and drop the dead conditional in
invoke_link_cb() to silence static analysis warnings and simplify
the code.

No functional change.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-20 13:16:02 +00:00
Benjamin Cabé
93bf06a235 drivers: firmware: scmi: inclusive language fixes
As per coding guidelines, "sanity check" must be avoided.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-01-19 18:48:51 -06:00
Charles Hardin
fb9c9f034b drivers: ethernet: lan9250: Add promiscuous mode support
Handle both multicast packets and promiscuous mode in the driver. This
will allow the lan9250 to be added to a bridge as well as process
multicast packets being received.

Signed-off-by: Charles Hardin <ckhardin@gmail.com>
2026-01-19 18:47:57 -06:00
Pieter De Gendt
eee57d48cb drivers: pwm: mcux: Print status value on error
When PWM_SetupPwm returns an error, add the value of status to the error
log message.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-01-19 18:47:25 -06:00
Tim Knodel
e734c05d78 drivers: i2c: mcux_flexcomm: Add ip block reset to bus recovery
The bus recovery implementation did not reset the I2C block. If
a glitch on the bus looks like a start condition, the I2C block
will be stuck forever waiting for the associated stop. This adds
reset to the I2C block to address this type of error.

Signed-off-by: Tim Knodel <tbk@google.com>
2026-01-19 18:46:41 -06:00
Martin Moya
dd2dedf343 sensor: bosch: bma4xx: add attr_get to device API
This feature allows the user to get the chip's id
from the sensor's API easily

Signed-off-by: Martin Moya <moyamartin1@gmail.com>
2026-01-19 16:21:11 -06:00
Guillaume Gautier
3e7fa6c5e9 drivers: clock: stm32_f2_f4_f7: remove __unused from exported functions
Remove the __unused keyword from exported functions.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2026-01-19 16:20:44 -06:00
Guillaume Gautier
a26ad94d82 drivers: clock: stm32f2_f4_f7: extend get_ck48_frequency function
On STM32F446, F469, F479 and on STM32F7x, the CK48M mux can have either
PLL Q or PLLSAI P as input. Adds the support for the PLLSAI P input in
the driver.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2026-01-19 16:20:44 -06:00