Commit graph

11,885 commits

Author SHA1 Message Date
Richard Mc Sweeney
506884dda1 dts: move pse84 power states from board to dts
- Moved PSE84 power states generic to the dts
rather that only supporting CM55 on the board

Signed-off-by: Richard Mc Sweeney <Richard.McSweeney@infineon.com>
2026-05-20 20:05:00 -04:00
Richard Mc Sweeney
7120a9d72e drivers: Add pse84 PTComp
Added PTComp support to PSE84.

This implementation uses the shared autonomous controller (MFD)
with other autanalog drivers.

The PTComp is a programmable threshold comparator inside the
autonomous (aut) analog subsystem. It is controlled using the
autonomous controller (AC), which is a programmable state machine.
The AC is shared across all autonomous analog peripherals including
the SAR, PRB, PTComp, CTB, and CTDAC.

The PTComp block contains two comparators for edge detection and
with a capability for boolean post-processing. These two comparator
instances need to be configured together and accessed using the AC.
A PTComp MFD is used to bring together the two comparator
configurations. AC MFD then references the combined PTComp MFD
configuration, and brings together all other autanalog peripherals
into a single AC setup for the application.

Assisted-by: Claude:claude-opus-4.6
Signed-off-by: Richard Mc Sweeney <Richard.McSweeney@infineon.com>
2026-05-20 20:02:35 -04:00
Robert Budai
c6c84446c4 drivers: dac: add ad5529r driver
Add DAC driver for the Analog Devices AD5529R 16-channel, 16-bit
voltage output DAC. The driver supports multiple output voltage
ranges, SPI communication, and optional reset/LDAC/clear GPIOs.

Signed-off-by: Robert Budai <robert.budai@analog.com>
Co-authored-by: Radu Ciobanu <raduciobanu096@gmail.com>
2026-05-20 20:02:09 -04:00
Muhammad Waleed Badar
3dbbb8773d drivers: display: sdl: move SDL pixel format configuration to devicetree
Replace the SDL display driver's default pixel format Kconfig
selection with a devicetree property and initialize the display
using the DT-provided format.

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2026-05-20 20:01:00 -04:00
Jordan Yates
f1b0880612 dts: bindings: vendor-prefixes: add Trasna
Add `Trasna` to the list of vendor prefixes, which is already used
in-tree for the `lexi-r10` LTE modem.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2026-05-20 14:11:01 +02:00
Shan Pen
ee4b636d5c eth: phy: rtl8211f: make RGMII delay configurable
Follow the pattern used by other PHY drivers and expose the
RTL8211F RGMII clock delay mode in devicetree.

Some MAC drivers, such as Renesas RA RMAC, can provide part of
the RGMII delay themselves. Boards then need a way to avoid
enabling the same delay in the PHY.

Keep the fallback at RX and TX delay enabled, matching the old
driver behavior for existing users.

Signed-off-by: Shan Pen <bricle031@gmail.com>
2026-05-20 14:09:01 +02:00
Tim Pambor
0ac5e8ab62 drivers bindings: ethernet: Add PTP clock for native_sim
Add a PTP clock binding for the native_sim platform.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-05-20 14:08:19 +02:00
Guillaume Legoupil
50d3221d81 soc: nxp: mcxw7x: reserve zb factory settings in IFR0
Reserve zb_settings & zb_secured in the Information Flash Region 0
(IFR0) node to the MCXW7x common devicetree include file.

These factory settings are accessed using nvmem to soc independant.

Signed-off-by: Guillaume Legoupil <guillaume.legoupil@nxp.com>
2026-05-20 14:07:54 +02:00
Guillaume Legoupil
a63034734e drivers: ieee802154: mcxw_get_eui64() get IEEE802154 address using NVMEM
The IEEE 802.15.4 address is moved from flash hw_params_partition
to internal IFR0.
Abstraction layer is done by using CONFIG_NVMEM.

Signed-off-by: Guillaume Legoupil <guillaume.legoupil@nxp.com>
2026-05-20 14:07:54 +02:00
Axel Le Bourhis
2bdb6dcc78 soc: nxp: mcxw7x: add IFR0 flash region to devicetree
Add the Information Flash Region 0 (IFR0) node to the MCXW7x common
devicetree include file.

The IFR0 region is located at offset 0x2000000 with a size of 32KB.

This node uses the nxp,mcxw-ifr binding.

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2026-05-20 14:07:54 +02:00
Muhammad Waleed Badar
d4855a0cad dts: broadcom: bcm2711: use DT clock-frequency and enable cache management
Add CPU clock-frequency to the bcm2711 device tree and use it to
derive SYS_CLOCK_HW_CYCLES_PER_SEC instead of relying on a
hard-coded value.

Also enable cache management by default for the BCM2711 SoC.

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2026-05-20 14:07:04 +02:00
Muhammad Waleed Badar
79a6368540 drivers: firmware: add raspberry pi videocore firmware
The firmware provides an interface between the ARM CPU and the
VideoCore GPU for system management and platform services on
Raspberry Pi devices. It allows the ARM to communicate with the
VideoCore firmware through mailbox property channels to perform
operations such as framebuffer allocation, display configuration,
clock and power management, thermal queries, memory configuration,
and other board-specific services.

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2026-05-20 14:07:04 +02:00
Muhammad Waleed Badar
220a6fa003 dts: broadcom: add mbox device node
Add mbox device node for Broadcom BCM2711
and BCM2712 SoC.

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2026-05-20 14:07:04 +02:00
Muhammad Waleed Badar
07597ffcf6 drivers: mbox: broadcom: add bcm2711 mbox driver support
Add support for Broadcom VideoCore mailbox controller driver
for BCM2711 (Raspberry Pi 4). This driver exposes two mailbox
instances, mbox0 and mbox1, where mbox0 is used by the VideoCore
GPU to signal the ARM CPU, and mbox1 is used by the ARM CPU to
signal the VideoCore GPU.

Parts of the driver is based on Yoan Dumas pull request that was
https://github.com/zephyrproject-rtos/zephyr/pull/88501

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
Signed-off-by: Yoan Dumas <yo_dumas@hotmail.fr>
2026-05-20 14:07:04 +02:00
Etienne Carriere
3e851aa63b dts: arm: st: stm32wba: add AES node to WBA2xx
Factorize aes node that is present on all WBAxx series with same resources
but the NVIC line that is 58 on WBA5xx and WBA6xx, and 52 on WBA2xx.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2026-05-20 10:56:21 +02:00
Haoran Jiang
116b8d1032 dts: arm: sifli: add SF32LB52x peripheral LDO regulators
Add the PMUC peripheral LDO regulators as a child 'regulators' node.

Signed-off-by: Haoran Jiang <halfsweet@halfsweet.cn>
Signed-off-by: Zhengyu Yan <859361238@qq.com>
2026-05-20 10:55:16 +02:00
Haoran Jiang
33a79b02ff dts: bindings: sifli: add SF32LB52x PMUC and LDO bindings
Rename PMUC compatible to be SF32LB52x specific.

Add devicetree bindings and dt-bindings
helpers for the SF32LB52x peripheral LDO regulators

Signed-off-by: Haoran Jiang <halfsweet@halfsweet.cn>
Signed-off-by: Zhengyu Yan <859361238@qq.com>
2026-05-20 10:55:16 +02:00
cyliang tw
7c67d553e6 dts: arm: nuvoton: add spi nodes for numaker m335x
Update m335x.dtsi to include spi configuration.

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2026-05-20 10:55:12 +02:00
Zhaoxiang Jin
e099a0634f dts: arm: nxp: add RT7xx LCDIF clock specifiers
Describe the RT7xx LCDIF clock connection in devicetree and allow
both DCNano LCDIF bindings to carry a clocks property.

This wires the LCDIF node to the shared MCUX SYSCON clock control
provider so the drivers can request the gate directly.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-05-20 10:54:37 +02:00
Zhaoxiang Jin
e1b292d39b dts: arm: nxp: rt7xx: add reset specifier for lcdif
add reset specifier for lcdif

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-05-20 10:54:37 +02:00
James Bennion-Pedley
978db60595 dts: wch: update dts to use ranges mapping
Add ranges mapping to flash nodes

Signed-off-by: James Bennion-Pedley <james@bojit.org>
2026-05-20 10:54:28 +02:00
James Bennion-Pedley
60df44b1bf dts: wch: move 20x_30x peripherals to common location.
Currently there are a handful of inconsistencies between DTS for SOCs
in this series. Adds a new common peripheral file with /delete-node/
used to remove inactive peripherals.

Signed-off-by: James Bennion-Pedley <james@bojit.org>
2026-05-20 10:54:28 +02:00
Albort Xue
e076682661 drivers: clock_control: Add NXP MCXW clock control driver
This commit introduces a new clock control driver for NXP MCXW series
microcontrollers, replacing the previous hardcoded clock initialization
in soc.c with a devicetree-based approach.

Signed-off-by: Albort Xue <yao.xue@nxp.com>
2026-05-20 10:54:22 +02:00
Sven Hädrich
bad5a0b5d1 drivers: dali: Add driver for Zephyr PWMs
Implementation of a DALI driver for mcus
that provide a PWM interface for zephyr.
The Zephyr specific PWM, counter, and gpio
nodes handle the work. Hence, the `zephyr`
vendor prefix is used for the binding.
The code is tested for the STM32F091 mcu and
for the nRF52840 mcu.

Signed-off-by: Sven Hädrich <sven.haedrich@sevenlab.de>
2026-05-20 10:54:05 +02:00
Ryan McClelland
78dfbf1833 drivers: sensor: bmp581: make INT pin polarity and drive type configurable
The streaming code previously hard-coded the INT pin as active-high
push-pull when writing INT_CONFIG. Add two boolean DT properties,
int-active-low and int-open-drain, and thread them through
bmp581_config so boards with active-low or open-drain INT wiring can
be supported without patching the driver.

Defaults preserve the previous hard-coded behavior (active-high,
push-pull) so existing in-tree boards do not need DT changes. Boards
with active-low INT wiring set int-active-low, which programs
BMP5_INT_POL_ACTIVE_LOW into INT_CONFIG. Note that the GPIO flags on
int-gpios must agree with the chip-side polarity setting.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2026-05-19 17:49:34 -04:00
Ryan McClelland
3106896eab drivers: sensor: bmp581: add SPI and I3C bus support
The BMP581 driver previously only supported I2C. Add SPI and I3C
transports by extending the existing RTIO-based bus abstraction with
two new bus types (BMP581_BUS_TYPE_SPI, BMP581_BUS_TYPE_I3C),
following the pattern established by the icm45686 driver.

For SPI, the read register address is OR'd with bit 7 (BMP5_SPI_RD_MASK)
per the datasheet, and bmp581_init() performs the SPI activation dummy
read both before and after soft-reset (the device boots and reverts to
I2C/I3C mode on reset and requires a 16-SCK transaction with CSB
asserted to switch to SPI). For I3C, RTIO_IODEV_I3C_STOP/RESTART flags
are set on the read/write SQEs.

The BMP581_INIT macro now uses COND_CODE_1 to dispatch on the bus type
and instantiate the appropriate I2C/SPI/I3C iodev. Kconfig selects
I2C/SPI/I3C and the corresponding *_RTIO option conditionally based
on which buses the matching DT nodes use.

The original bosch,bmp581.yaml is split into a common binding plus
per-bus bindings (bosch,bmp581-i2c.yaml, bosch,bmp581-spi.yaml,
bosch,bmp581-i3c.yaml) that include the bus-specific yaml. Test nodes
for SPI and I3C are added to the build_all sensor test.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2026-05-19 17:49:34 -04:00
Mathieu Choplain
ef7b2a17a5 dts: arm: st: n6: move USBPHYC clock mux cell to proper node
On STM32N6, the USB-related clock mux is in front of USBPHYC rather than
OTGHS. Move the `clocks` cell related to mux configuration to the proper
node in SoC DTSI files.

While at it, change the default OTGPHYnCKREF_SEL(1) to OTGPHYn_SEL(3) as
the former macro cannot really be used for clock configuration with the
current implementation. Both the old and new configuration are equivalent
and select `hse_div2_osc_ck` as USBPHYC clock source. Also, update the
example DTS snippet in the binding file to use OTGPHYn_SEL().

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-05-19 17:47:06 -04:00
Kyle Bonnici
d5159e8062 Style: remove \ from dts files
Lines ending with \ are not needed unless when used in #define.

This commit removes all cases of \ where this is not needed in
devicetree files.

Signed-off-by: Kyle Bonnici <kylebonnici@hotmail.com>
2026-05-19 17:46:18 -04:00
Kyle Bonnici
9fc69ebbb1 Style: remove space between block comment and > ]
Linter not ensures that > and ] have no white spaces when these are
preceded with a block comment.

Signed-off-by: Kyle Bonnici <kylebonnici@hotmail.com>
2026-05-19 17:46:18 -04:00
Kyle Bonnici
18aa188731 Style: Remove include indentations
All includes and linked comments should not be indented.

Signed-off-by: Kyle Bonnici <kylebonnici@hotmail.com>
2026-05-19 17:46:18 -04:00
Luca Impagliazzo
ac245e21e6 dts: bindings: modem: add modem binding for Telit LEx10Q1
The LEx10Q1 Telit family (LE910Q1 and LE310Q1) comprises ultra-compact
LTE Cat 1 bis modules designed for IoT and M2M applications, featuring
a full IP networking stack and are designed to support data‑centric
applications requiring reliable cellular connectivity, low power
consumption, and long product lifecycle.

The LE910Q1 and LE310Q1 share Telit’s unified xE910/xE310 form‑factor
concept, enabling pin‑to‑pin and footprint compatibility across
multiple Telit cellular modules, thereby simplifying hardware design
reuse and migration between form factors.

The binding identifies the UART device, the power GPIO and the reset
GPIO lines.

Signed-off-by: Luca Impagliazzo <Luca.Impagliazzo@telit.com>
2026-05-19 11:57:35 +01:00
Qiang Zhao
6e540a0848 dts: arm: nxp: imx943: Add #address-cells to IRQSTEER masters
Add missing #address-cells = <0> property to all IRQSTEER
interrupt-controller master nodes to eliminate devicetree warnings.

The devicetree compiler warns about missing #address-cells in
interrupt provider nodes across M33, M7_0 and M7_1 variants.

Adding #address-cells = <0> indicates that interrupt specifiers do
not contain address information, only interrupt number and flags.

Signed-off-by: Qiang Zhao <qiang.zhao@nxp.com>
2026-05-19 11:56:40 +01:00
Qiang Zhao
a64d200bdb dts: arm: nxp: imx95: Add #address-cells to IRQSTEER masters
Add missing #address-cells = <0> property to all IRQSTEER
interrupt-controller master nodes to eliminate devicetree warnings.

The devicetree compiler warns about missing #address-cells in
interrupt provider nodes:
  - irqsteer_master
  - disp_irqsteer_master

Adding #address-cells = <0> indicates that interrupt specifiers do
not contain address information, only interrupt number and flags.

Signed-off-by: Qiang Zhao <qiang.zhao@nxp.com>
2026-05-19 11:56:40 +01:00
Benjamin Cabé
98530cbf0e drivers: display: add IT8951 e-paper controller
Add support for IT8951 EPD controller, tested on reTerminal E1003

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Assisted-by: Cursor:composer-2
2026-05-19 11:56:21 +01:00
Abderrahmane JARMOUNI
baf3fe29f5 drivers: display: ili9xxx: fix orientation logic
All supported controllers (ILI9340/9341/9342C/9163C/9488) use
identical MADCTL register bit definitions. Hence the current separate
command sets CMD_SET_1/CMD_SET_2 is unnecessary. Remove it and
implement a single, datasheet-compliant orientation mapping for all
ILI9xxx controllers.

Replace rotation logic with the universal datasheet mappings:
  - 0°:   0x00
  - 90°:  MV + MX
  - 180°: MX + MY
  - 270°: MV + MY

Add devicetree properties for panel-specific corrections:
  - h-mirror/v-mirror: for mirroring variations
  - bottom-top-refresh/right-left-refresh: for non-standard scan
  directions

Fixes https://github.com/zephyrproject-rtos/zephyr/issues/105521 and
https://github.com/zephyrproject-rtos/zephyr/issues/106489

Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
2026-05-19 12:53:30 +02:00
Anuj Deshpande
a6c68a0507 drivers: haptics: Add Titan Micro TM6605 LRA driver
Add a driver for the TM6605 haptic motor driver IC from Titan Micro
Electronics, found on the DFRobot DRI0056 Gravity module. The device is
a write-only I2C peripheral exposing 44 pre-programmed effects selected
through an effect register and triggered via a control register.

The driver implements the haptics subsystem start_output/stop_output
callbacks and adds a tm6605_select_effect() extension API to choose the
active effect at runtime. A devicetree binding is included.

Tested on Seeed XIAO nRF54L15.

Signed-off-by: Anuj Deshpande <anuj@makerville.io>
2026-05-18 20:39:47 +01:00
Holt Sun
e3017d41a4 soc: nxp: mcxe24x: add power management support
Add power management support for MCXE24x SoC series with
four power states defined in device tree (runtime-idle and
three suspend-to-idle substates: STOP, PSTOP1, PSTOP2).

Implement pm_state_set() to handle state transitions using
the SMC (System Mode Controller) for STOP mode configuration.
When CONFIG_XIP=y, the WFI is executed from a __ramfunc so the
core does not fetch instructions from internal program flash
across the low power entry boundary.

Implement pm_state_exit_post_ops() to restore normal operation
after wakeup. No wake-up controller is required to wake the
core from these substates on this part.

Enable HAS_PM capability for the SoC series. Applications that
opt in to PM should also designate lptmr0 as the system timer
via the 'zephyr,system-timer' chosen property and enable the
node, so the LPTMR tickless driver keeps time across
STOP/PSTOPx without needing a SysTick + LPTMR companion-timer
arrangement.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-05-18 18:38:53 +02:00
Muhammed Asif
6110821d73 dts: arm: microchip: pic32cm_jh: Adds TCC nodes
- Adds node in dts
- Updates the binding yaml of tcc driver with the supported tcc ip
  version

Signed-off-by: Muhammed Asif <muhammed.asif@microchip.com>
2026-05-18 15:22:39 +01:00
Mathieu Choplain
4f28a732d4 dts: arm: st: n6: fix address of RTC
Found by dtc: "unit address and first address in 'reg' (0x46004000)
don't match for /soc/peripherals@40000000/rtc@6004000"

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-05-18 15:21:47 +01:00
Tim Lin
e089b913eb dts: it51xxx: Add RTC device node for it51xxx series
The RTC hardware is compatible with the it82xx2 series, so it reuses
the same compatible and driver implementation.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2026-05-18 15:21:24 +01:00
James Growden
33a95b8f6b dts: arm: st: u3: Add I3C
Add I3c nodes to the STM32U3

Signed-off-by: James Growden <jgrowden@tenstorrent.com>
2026-05-18 15:21:00 +01:00
Dong Wang
e8da36b326 drivers: i2c_sedi: add DTS timing config
Add optional devicetree properties to configure SEDI I2C bus timing and
program those values during driver initialization.

Update the binding with standard, fast, fast-plus, and high-speed timing
properties so boards can provide bus-specific values from DTS instead of
relying only on built-in defaults.

Also update hal_intel revision in west.yml to get code for new changes in
the driver to work properly.

Signed-off-by: Dong Wang <dong.d.wang@intel.com>
2026-05-18 15:20:47 +01:00
Carlo Caione
6084fe8903 drivers: gpio: add PI4IOE5V6408 driver
Add a driver for the Diodes/Pericom PI4IOE5V6408 8-bit I2C-bus I/O
expander.

The chip provides eight independently configurable GPIO lines, each
with optional pull-up or pull-down resistor and an interrupt source
that fires on transitions away from a programmable default state.

Link: https://www.diodes.com/datasheet/download/PI4IOE5V6408.pdf

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2026-05-18 15:20:20 +01:00
Hake Huang
352657d628 dts: nxp_lpc11u6x: update gpio unit address
nxp_lpc11u6x interleave gpio0-2 in same base address
so fake the nit address as the base to avoid build
warning

fixes: #107642

Signed-off-by: Hake Huang <hake.huang@nxp.com>
2026-05-18 15:17:57 +01:00
Sunil Hegde
af63cd32ce dts: ti: Add RTC node and interrupts
- Add RTC node in am62-main.dtsi which can also be
   used as a counter
 - Add child counter_rtc node which can be used as a
   virtual rtc.
 - Add interrupts in am62x_a53.dtsi

Signed-off-by: Sunil Hegde <s-hegde3@ti.com>
2026-05-18 15:15:48 +01:00
Sunil Hegde
4e815d5a14 dts: bindings: counter: add TI RTC counter
- This is the counter based rtc module used in k3 devices.

Signed-off-by: Sunil Hegde <s-hegde3@ti.com>
2026-05-18 15:15:48 +01:00
Riadh Ghaddab
de9f49ab6e drivers: nrf_mram: wait until mramc is ready before write
When writes are issued to the mram controller without verifying that it
is ready, it can cause the reads to be stalled until all writes finish.
Fix this by adding a wait busy loop before each MRAM_WORD aligned write
and disable autopowerdown before starting the write.

Signed-off-by: Riadh Ghaddab <riadh.ghaddab@nordicsemi.no>
2026-05-18 15:15:30 +01:00
Ruoshan Shi
cda7c0ca5f dts: arm: nxp_imx95_m7: add ADC node
Add sar_adc node on i.MX95 M7 core

Signed-off-by: Ruoshan Shi <ruoshan.shi@nxp.com>
2026-05-18 10:17:35 +01:00
Swift Tian
b9505b84eb tests: dts: cover DESCENDANT_NUM_ON_BUS counting rules
Add devicetree API coverage for DT_(INST_)DESCENDANT_NUM_ON_BUS() and
DT_(INST_)DESCENDANT_NUM_ON_BUS_STATUS_OKAY().

The test topology validates that:

- devices nested below non-bus container nodes are still counted for the
  parent controller bus
- child nodes that are bus controllers are counted for the parent bus
- devices behind child buses are excluded from the parent count
- status-okay filtering matches generated *_STATUS_OKAY macro values

Update overlay comments to document the expected counting behavior.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2026-05-18 10:14:32 +01:00
Md Shofiqul Islam
5dda03c8f7 dts: bindings: sensor: introduce and generalize MAX3010x bindings
Add a new DT binding for the MAX30102 (two LED channels: Red + IR;
no Green/LED3) and extract shared properties from both max30101 and
max30102 into a maxim,max3010x-common.yaml base binding to eliminate
duplication and simplify future MAX3010x variants.

Signed-off-by: Md Shofiqul Islam <shofiqtest@gmail.com>
2026-05-17 10:41:33 +02:00