Commit graph

11,885 commits

Author SHA1 Message Date
Amneesh Singh
197b68a8d2 dts: ti: am64x_{main/mcu}.dtsi: wrap pinctrl with ti,control-module
Allow providing an unlock configuration for unlocking the padcfg region as
part of the ti,control-module node.

Map the child pinctrl node using the `ranges` property to the base address
space.

Signed-off-by: Amneesh Singh <amneesh@ti.com>
2026-03-12 12:08:25 -04:00
Amneesh Singh
7af410d897 dts: bindings: syscon: introduce ti,control-module
This binding is for TI devices that use control modules for configuring
registers and information related to control MMRs, power, reset and
clocking.

These control modules consist of regions that require writing specific
values to specific kick registers to unlock that region. This is provided
as ti,unlock-offsets property.

Signed-off-by: Amneesh Singh <amneesh@ti.com>
2026-03-12 12:08:25 -04:00
Martí Bolívar
1baacb5ce0 dts: bindings: adc: clean up a file
This 'base' file is just an include file, it doesn't actually refer to
a concrete binding. There's a specific binding for the 4050 in another
file that has the right name.

Signed-off-by: Martí Bolívar <marti.bolivar@oss.qualcomm.com>
2026-03-12 12:07:57 -04:00
Martí Bolívar
066164ac3a dts: bindings: cpu: factor out riscv-common.yaml
We have:

- sifive-common.yaml that wants to be a generic include
  file for CPUs by that vendor

- riscv.yaml that is *both* a generic include file for CPUs of that
  architecture *and* a specific binding with compatible "riscv"

This is a problem for multiple reasons:

1. It means that both sifive-common.yaml and riscv.yaml are different
   YAML files with the same "compatible", i.e. "riscv".

   This should be a hard error. The only reason this isn't causing build
   errors seems to be because of an edtlib optimization (see the
   "dt_compats_search" in edtlib.py for details)

2. It means that sifive-common.yaml is a valid binding whose file
   name doesn't match its compatible, which is a violation of the
   rules for upstream bindings.

Fix both of these problems by factoring out the common properties into
a new "riscv-common.yaml" that doesn't have any "compatible: " set.
That lets sifive-common.yaml just include riscv-common.yaml, allowing
it to be "just" an include file, without breaking any of the common
property definitions expected by CPU bindings for that vendor.

Note that there does appear to be one file
in-tree (dts/riscv/raspberrypi/hazard3.dtsi) that actually uses
"riscv" as a bare compatible. I'm going to take that as a hint that
out-of-tree users are probably doing the same, making it important to
continue to allow riscv.yaml to be a "real" binding and not "just" an
include file.

Signed-off-by: Martí Bolívar <marti.bolivar@oss.qualcomm.com>
2026-03-12 12:07:57 -04:00
Martí Bolívar
baafa51041 drivers: display: clean up ILI9806E DT compatible
The main problem I want to fix here is that the DT binding's file name
doesn't match its compatible, which is a violation of our upstream
bindings rules.

The "dsi" suffix here is not a good practice, DT-wise. The compatible
string represents the programming model for the device in vnd,device
format. We don't put the "-spi" at the end of compatibles for SPI
devices, and we don't put "-pcie" on the compatibles for PCIe devices.
The bus has no place in the DT compatible. So in this case, the
file name seems fine, but the compatible itself is off.

(The other option would have been to change the suffix to "mipi-dsi"
(or "mipi_dsi") as necessary to match the relevant "on-bus:" value in
the binding -- but let's simplify and better align with DT best
practices here.)

Signed-off-by: Martí Bolívar <marti.bolivar@oss.qualcomm.com>
2026-03-12 12:07:57 -04:00
Martí Bolívar
b4e8af1028 dts: bindings: delete stray compatibles
A YAML file with a "compatible:" set is able to be interpreted by the
bindings system as a "real" binding and should have enough information
to feed a driver. YAML files without "compatible:" are meant to be
used with the "include:" feature.

Delete some stray "compatible:" lines that are in YAML files seemingly
meant only to be used as include files.

Signed-off-by: Martí Bolívar <marti.bolivar@oss.qualcomm.com>
2026-03-12 12:07:57 -04:00
Martí Bolívar
a5b70992bf dts: bindings: manual bulk compatible/filename fixes
These bindings' filenames don't match their compatibles, but the fixes
weren't automated as there were multiple possible outcomes for these.
I looked around and fixed them up by hand.

Signed-off-by: Martí Bolívar <marti.bolivar@oss.qualcomm.com>
2026-03-12 12:07:57 -04:00
Martí Bolívar
34f94b98b0 dts: bindings: scripted filename/compatible mismatch fixes
Clean up various bindings whose names do not match our naming policy.
These are all unambiguous cases I found and fixed with a quick script.
As a reminder, the policy in bindings-upstream.rst is:

    Bindings which match a compatible must have file names based on
    the compatible.

    - For example, a binding for compatible ``vnd,foo`` must be named
      ``vnd,foo.yaml``.

    - If the binding is bus-specific, you can append the bus to the
      file name; for example, if the binding YAML has ``on-bus: bar``,
      you may name the file ``vnd,foo-bar.yaml``.

Signed-off-by: Martí Bolívar <marti.bolivar@oss.qualcomm.com>
2026-03-12 12:07:57 -04:00
Silesh C V
c4a713edef dts: arm: alif: Add device tree node for AE1C1F4051920PH0
Add device tree include file for the Alif Ensemble E1C SoC
variant AE1C1F4051920PH0.

The file builds upon the common peripheral definitions from
ensemble_common.dtsi and ensemble_rtss_he.dtsi and defines the
SoC specific clock frequencies, TCM configurations and MRAM
configuration.

Signed-off-by: Silesh C V <silesh@alifsemi.com>
2026-03-12 09:27:25 -05:00
Adam Kondraciuk
7b342e147d drivers: timer: nrf_grtc_timer: Introduce interval mode support
Add support for hardware-generated periodic compare events using
the GRTC interval feature. Once configured, the hardware generates
compare events at a fixed interval without CPU intervention.

The feature is available only on channels defined as
"extended-channels" in the devicetree.

Signed-off-by: Adam Kondraciuk <adam.kondraciuk@nordicsemi.no>
2026-03-12 09:24:59 -05:00
Alain Volmat
7f1f2c4468 dts: arm: st: add iwdg and wwdg nodes in stm32n6.dtsi
The STM32N6 embeds two kind of watchdogs for which this
commit adds the nodes.
 - System window watchdog (WWDG)
 - Independent watchdog (IWDG)

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-03-12 09:23:18 -05:00
Dharun krithik k
7cc68955f7 dts: arm: infineon: add dma support for psoc4100tp
Add DMA controller node to PSoC 4100TP device tree and introduce
the corresponding binding file `infineon,dmac.yaml`.

Signed-off-by: Dharun krithik k <dharunkrithik@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
2026-03-12 09:19:33 -05:00
Jiafei Pan
f5fc94b7b1 dts: imx-flexspi: add reg-names property and update dts accordingly
In order to add MMIO mapping to specified reg region by name, add
reg-names property for dts binding nxp,imx-flexspi, and then update
existing dts nodes accordingly.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2026-03-12 11:33:24 +01:00
Duy Nguyen
c69462f538 dts: arm: renesas: Add DRW nodes for RA8x1 and RA8x2 MCU
Add DRW nodes to ra8x1.dtsi and ra8x2.dtsi, add delete-node for
unsupported RA8 devices like RA8T1, RA8M1, RA8T2, RA8M2

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2026-03-12 11:30:25 +01:00
Duy Nguyen
44b5fdea66 drivers: misc: Initial support for drw driver on Renesas RA
First commit to add support for Renesas RA drw driver

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2026-03-12 11:30:25 +01:00
Fabio Baltieri
69a8ac6a02 bindings: tca954x: drop child compatible
There's no need for compatible on child nodes, they just confuse the
documentation, drop them. This also implies dropping the child node
inheriting i2c-controller.yaml, just replace it with a bus: i2c so the
node is i2c bus on an i2c bus and port over the basic properties.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2026-03-12 09:04:44 +00:00
minyuan xue
1663712875 dts: arm: add rcc bingding and nodes
Add ameba series rcc binding and notes.

Signed-off-by: minyuan xue <minyuan_xue@realsil.com.cn>
2026-03-12 09:04:02 +00:00
Muhammad Waleed Badar
9c9c5fca0f drivers: input: chsc6x: add CHSC6540 support
Add support for the Chipsemi CHSC6540 touch controller and refactor
the driver to support multiple compatible variants.

- Introduce a function pointer (read_data) in driver config to abstract
  controller-specific data parsing.
- Implement chsc6x_read_data() and chsc6540_read_data() with
  variant-specific register layouts.
- Switch to DT_FOREACH_STATUS_OKAY() for per-compatible device
  instantiation.
- Replace instance-based macros with node-based DEVICE_DT_DEFINE().

This change allows the driver to support both chipsemi,chsc6x and
chipsemi,chsc6540 via devicetree without duplicating core logic.

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2026-03-12 09:03:23 +00:00
Albort Xue
95399aed4f drivers: wuc: add NXP LLWU (Low-Leakage Wakeup Unit) driver
Add a Wakeup Controller driver for NXP's LLWU
peripheral found on MCX-C series MCUs.

Signed-off-by: Albort Xue <yao.xue@nxp.com>
2026-03-11 20:55:25 -04:00
Albort Xue
0cab5de544 drivers: wuc: introduce Wakeup Controller (WUC) driver API
Introduce a new Wakeup Controller (WUC) driver API to manage wakeup
sources in low-power scenarios. The WUC API provides a standardized
interface for enabling, disabling, checking, recording and clearing
wakeup sources that can bring a device out of low-power states.

Signed-off-by: Albort Xue <yao.xue@nxp.com>
2026-03-11 20:55:25 -04:00
Gerson Fernando Budke
fd8ae1e1b6 drivers: usb: udc: Add SAM USBC driver
Add Atmel SAM USBC driver for SAM4L family. The driver was tested using
CDC-ACM and testusb samples.

Fixes: #74665

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2026-03-11 20:53:53 -04:00
William Markezana
c912bdb790 dts: bflb: add SEC_ENG sub-block nodes and bindings
Add device tree nodes for the Bouffalo Lab SEC Engine sub-blocks
(SHA, AES, GMAC) across all three SoC families:

- bl60x/bl70x: individual IRQs per sub-block (SHA=30, AES=29,
  GMAC=25), peripherals at 0x40004xxx
- bl61x: shared IRQ 26 for all crypto sub-blocks
  (SEC_ENG_ID0_SHA_AES_TRNG_PKA_GMAC_IRQn), peripherals at
  0x20004xxx

Add corresponding DT binding YAML files for each compatible.

Enable SEC_ENG AES and SHA nodes on ai_m62_12f_kit,
ai_wb2_12f_kit, and dt_xt_zb1_devkit boards.

Signed-off-by: William Markezana <william.markezana@gmail.com>

# Conflicts:
#	dts/riscv/bflb/bl60x.dtsi
#	dts/riscv/bflb/bl61x.dtsi
#	dts/riscv/bflb/bl70x.dtsi
2026-03-11 20:53:43 -04:00
John Lin
b4332e55fd drivers: gpio: add Infineon CYW43 GPIO driver
Add a GPIO driver for the Infineon CYW43439 WiFi chip that exposes
WL_GPIO0-2 as standard Zephyr GPIO pins. Pin 0 is the onboard LED
on Raspberry Pi Pico W and Pico 2 W boards.

The GPIO node is a child of the AIROC WiFi device node in the
devicetree. GPIO control is performed via the WHD gpioout iovar,
serialized with a mutex. A shadow register tracks pin state since
the CYW43439 does not support GPIO readback.

Signed-off-by: John Lin <mcjelcom@gmail.com>
2026-03-11 20:53:08 -04:00
Minh Tang
9375da6e9c drivers: spi: Support DTC transfer for RX130 SPI
This commit is to add DTC transfer feature for both SPI controller mode
and peripheral mode on board RSK-RX130-512KB

Signed-off-by: Minh Tang <minh.tang.ue@bp.renesas.com>
2026-03-11 17:59:10 +00:00
Quy Tran
0c653acb7e dts: rx: renesas: Add dtc support for I2C and SPI on RX130
Add dtc device support for i2c and spi node

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
2026-03-11 17:59:10 +00:00
Manimaran A
173e54e54c drivers: eeprom: microchip: mec: common eeprom driver
Updated EEPROM dts for PCR and GIRQ property.
Updated pinctrl to access internal EEPROM for MEC5 part.

Signed-off-by: Manimaran A <manimaran.a@microchip.com>
2026-03-11 17:54:41 +00:00
Abderrahmane JARMOUNI
22f08c94ae dts: qemu: virt-a53: add i/dcache line size
Add L1 I/DCache line size to CPU node

Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
2026-03-11 17:54:26 +00:00
Dhanoo Surasarang
3445ec3b86 dts: riscv: nordic: nrf7120: Fix cpuflpr_mram address/size cells
Add ranges, #address-cells and #size-cells to cpuflpr_mram to
match the cpuapp_mram pattern. Without these the fixed-partitions
child node causes dtc warnings about mismatched address-cells and
default addr/size reliance.

Signed-off-by: Dhanoo Surasarang <dhanoo.surasarang@nordicsemi.no>
2026-03-11 17:49:34 +00:00
Biwen Li
f6169200d2 dts: arm: nxp: imx94x: add i2s, edma1 nodes
Add i2s, edma1 nodes and
reorder flexio3 and flexio4

Signed-off-by: Biwen Li <biwen.li@nxp.com>
2026-03-11 11:39:26 +01:00
Tom Burdick
bdcade6646 gpio: infineon: Add shared gpio ports
Infineon PSOC4 parts share many ports with a single IRQ line. Using the
SHARED_INTERRUPT handler feature of Zephyr results in a very large IRQ
vector table. Instead structure in DT the idea that the ports are
sharing an interrupt with a sort of pseudo interrupt controller.

This also rectifies the need to ifdef on CAT1C/M0+. I added a note
making it clear that in those cases we likely need to rework the way
interrupts are done anyways as there's secondary interrupt
muxes/controllers involved.

Signed-off-by: Tom Burdick <thomas.burdick@infineon.com>
2026-03-10 17:58:42 -07:00
Felix Wang
37f6d15e28 dts: arm: nxp: mcxnx4x: Add QDC peripheral nodes
Add device tree nodes for the two Quadrature Decoder (QDC) peripherals
available on NXP MCXNx4x SoCs:
- QDC0 at 0xcf000 with interrupts 124-127
- QDC1 at 0xd1000 with interrupts 128-131

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2026-03-10 22:22:28 +01:00
Felix Wang
a212a7eb89 dts: bindings: sensor: Add NXP MCUX QDC binding
Add device tree binding for NXP MCUX Quadrature Decoder (QDC).

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2026-03-10 22:22:28 +01:00
Farsin Nasar V A
83da4a0984 dts: arm: microchip: Add DAC node for PIC32CX_SG
Add device tree node

Signed-off-by: Farsin Nasar V A <farsin.nasarva@microchip.com>
2026-03-10 22:21:44 +01:00
Camille BAUD
0fdda30623 drivers: gpio: Introduce BFLB BL61x GPIO FIFO / Wire Out
Introduce a fast GPIO output system with pulse width modifications

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-03-10 22:20:46 +01:00
Camille BAUD
358b954dda drivers: gpios: Various BL61x improvement and support GPIO > 31
Various BL61x GPIO improvements

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-03-10 22:20:46 +01:00
Fabian Blatz
3cafa5476d boards: Add SolderedElectronics Inkplate 6Color board
Adds the SolderedElectronics Inkplate 6Color board with a 6 color eink
display.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2026-03-10 14:19:44 -05:00
William Markezana
27f97c132b drivers: entropy: add BFLB SEC engine TRNG driver
Add an entropy driver for Bouffalo Lab BL70X that reads
random data from the SEC TRNG block and wires it into
Zephyr's entropy API.

Signed-off-by: William Markezana <william.markezana@gmail.com>
2026-03-10 14:18:36 -05:00
Krzysztof Chruściński
0136a51ce6 dts: nordic: Add information about channels and groups in DPPI/PPIB nodes
Extend bindings for dppic and ppib to include channels and groups property.
Set channels and groups property in devices with DPPI.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-03-10 14:18:00 -05:00
Krzysztof Chruściński
d5cc9cbb5d dts: vendor: nordic: Add PPIB nodes to nrf54h20
Add PPI bridges to nrf54h20 DT.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-03-10 14:18:00 -05:00
Clément Laigle
14ce0b69d1 drivers: ili9163c: add support for ILI9163C display
Add support for the ILI9163C display controller.

Signed-off-by: Clément Laigle <c.laigle@catie.fr>
2026-03-10 14:17:15 -05:00
Duy Dang
3d68ed92d5 driver: clock_control: Add V4H clock control driver
Support Clock Pulse Generator driver for V4H

Signed-off-by: Duy Dang <duy.dang.yw@renesas.com>
2026-03-10 14:15:49 -05:00
Duy Dang
ea36c4a661 board: rcar: Support Retronix Sparrow Hawk board
Add support for Retronix Sparrow Hawk board.
The board is based on R-Car V4H v3.0 (R8A779G3) SoC.

Signed-off-by: Duy Dang <duy.dang.yw@renesas.com>
2026-03-10 14:15:49 -05:00
Duy Dang
b69d3e1222 soc: renesas: rcar: Support V4H SoC
Add initial support for Renesas R-Car V4H SoC.
Support Zephyr RTOS on Cortex R52, 1.4GHz core.
For more information and documentation, please visit the product page:
https://www.renesas.com/en/products/r-car-v4h

Signed-off-by: Duy Dang <duy.dang.yw@renesas.com>
2026-03-10 14:15:49 -05:00
Tim Pambor
61de4becad dts: arm: st: {h5, h7rs, n6}: Move iocell out of /soc
stm32-iocell has no bus address so move it out of /soc to fix a warning

Warning (simple_bus_reg): /soc/iocell: missing or empty reg/ranges property

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-03-10 17:24:44 +01:00
Tim Pambor
b78d3c346c soc: stm32: stm32_iocell: add support for STM32H5 series
For STM32H5 series, only the cell compensation can be configured,
as the HSLV configuration is controlled on a per pin basis and
not on a per domain basis as for other STM32 series.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-03-10 17:24:44 +01:00
Raffael Rostagno
046346905a dts: soc: pm: esp32: Adjust power states
Adjust PM residency times to more realistic values. Add power
states to ESP32-C2. Mark soft-off state as disabled, as it must
be called explicitly by application.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2026-03-10 15:09:30 +01:00
Alexis Czezar Torreno
f2c8336ef6 dts: bindings: add Trinamic TMCM-3216 stepper controller
Add devicetree binding for the Trinamic TMCM-3216 3-axis stepper
motor controller. The TMCM-3216 communicates over RS485 using the
TMCL protocol and supports up to 3 stepper motors.

Signed-off-by: Alexis Czezar Torreno <alexisczezar.torreno@analog.com>
2026-03-10 15:07:27 +01:00
Josuah Demangeon
4282f14306 drivers: video: introduce Sony IMX219 sensor driver
Add support for the Sony IMX219 CSI sensor.
This sensor supports resolution of 3280x2464 in RGGB bayer format
either 8 or 10 bits and using 2 or 4 CSI lanes.
Only 10 bits on 2 CSI lanes is currently supported, and only in
1920x1080 pixel resolution using cropping using the video_set_format(),
and will need to be converted to video_set_selection() instead.

Signed-off-by: Josuah Demangeon <me@josuah.net>
Co-authored-by: Alan Shaju <alanshaju@rideltech.com>
Co-authored-by: Alain Volmat <alain.volmat@foss.st.com>
2026-03-10 15:04:02 +01:00
Fin Maaß
068569a268 drivers: sdhc: litex: add litesdcard driver
add litex litesdcard driver.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-03-10 12:33:41 +01:00
Nhut Nguyen
5eb9d75dcc drivers: gpio: renesas: Add support for RZ/T2H, N2H
Update GPIO driver to support Renesas RZ/T2H, N2H

Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2026-03-10 09:33:25 +01:00