Merge tag 'devicetree-for-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux

Pull devicetree updates from Rob Herring:
 "DT core:

   - Sync dtc/libfdt with upstream v1.7.2-62-ga26ef6400bd8

   - Add a for_each_compatible_node_scoped() loop and convert users in
     cpufreq, dmaengine, clk, cdx, powerpc and Arm

   - Simplify of/platform.c with scoped loop helpers

   - Add fw_devlink tracking for "mmc-pwrseq"

   - Optimize fw_devlink callback code size for pinctrl-N properties

   - Replace strcmp_suffix() with strends()

  DT bindings:

   - Support building single binding targets

   - Convert google,goldfish-fb, cznic,turris-mox-rwtm, ti,prm-inst

   - Add bindings for Freescale AVIC, Realtek RTD1xxx system
     controllers, Microchip 25AA010A EEPROM, OnSemi FIN3385, IEI
     WT61P803 PUZZLE, Delta Electronics DPS-800-AB power supply,
     Infineon IR35221 Digital Multi-phase Controller, Infineon PXE1610
     Digital Dual Output 6+1 VR12.5 & VR13 CPU Controller,
     socionext,uniphier-smpctrl, and xlnx,zynqmp-firmware

   - Lots of trivial binding fixes to address warnings in DTS files.
     These are mostly for arm64 platforms which is getting closer to be
     warning free. Some public shaming has helped.

   - Fix I2C bus node names in examples

   - Drop obsolete brcm,vulcan-soc binding

   - Drop unreferenced binding headers"

* tag 'devicetree-for-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (60 commits)
  dt-bindings: interrupt-controller: Add compatiblie string fsl,imx(1|25|27|31|35)-avic
  dt-bindings: soc: imx: add fsl,aips and fsl,emi compatible strings
  dt-bindings: display: bridge: lt8912b: Drop reset gpio requirement
  dt-bindings: firmware: fsl,scu: Mark multi-channel MU layouts as deprecated
  cpufreq: s5pv210: Simplify with scoped for each OF child loop
  dmaengine: fsl_raid: Simplify with scoped for each OF child loop
  clk: imx: imx31: Simplify with scoped for each OF child loop
  clk: imx: imx27: Simplify with scoped for each OF child loop
  cdx: Use mutex guard to simplify error handling
  cdx: Simplify with scoped for each OF child loop
  powerpc/wii: Simplify with scoped for each OF child loop
  powerpc/fsp2: Simplify with scoped for each OF child loop
  ARM: exynos: Simplify with scoped for each OF child loop
  ARM: at91: Simplify with scoped for each OF child loop
  of: Add for_each_compatible_node_scoped() helper
  dt-bindings: Fix emails with spaces or missing brackets
  scripts/dtc: Update to upstream version v1.7.2-62-ga26ef6400bd8
  dt-bindings: crypto: inside-secure,safexcel: Mandate only ring IRQs
  dt-bindings: crypto: inside-secure,safexcel: Add SoC compatibles
  of: reserved_mem: Fix placement of __free() annotation
  ...
This commit is contained in:
Linus Torvalds
2026-02-11 18:27:08 -08:00
97 changed files with 1255 additions and 1838 deletions
+1
View File
@@ -259,6 +259,7 @@ ForEachMacros:
- 'for_each_collection'
- 'for_each_comp_order'
- 'for_each_compatible_node'
- 'for_each_compatible_node_scoped'
- 'for_each_component_dais'
- 'for_each_component_dais_safe'
- 'for_each_conduit'
+4 -2
View File
@@ -56,7 +56,6 @@ DT_DOCS = $(patsubst $(srctree)/%,%,$(shell $(find_all_cmd)))
override DTC_FLAGS := \
-Wno-avoid_unnecessary_addr_size \
-Wno-graph_child_address \
-Wno-unique_unit_address \
-Wunique_unit_address_if_enabled
@@ -82,5 +81,8 @@ clean-files = $(shell find $(obj) \( -name '*.example.dts' -o \
dt_compatible_check: $(obj)/processed-schema.json
$(Q)$(srctree)/scripts/dtc/dt-extract-compatibles $(srctree) | xargs dt-check-compatible -v -s $<
PHONY += dt_binding_check_one
dt_binding_check_one: $(obj)/.dt-binding.checked $(obj)/.yamllint.checked
PHONY += dt_binding_check
dt_binding_check: $(obj)/.dt-binding.checked $(obj)/.yamllint.checked $(CHK_DT_EXAMPLES)
dt_binding_check: dt_binding_check_one $(CHK_DT_EXAMPLES)
@@ -157,6 +157,12 @@ patternProperties:
- const: simple-bus
- const: simple-bus
"#interrupt-cells":
const: 1
interrupt-map: true
interrupt-map-mask: true
patternProperties:
'^motherboard-bus@':
type: object
@@ -1,24 +0,0 @@
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/bcm/brcm,vulcan-soc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Broadcom Vulcan
maintainers:
- Robert Richter <rrichter@marvell.com>
properties:
$nodename:
const: '/'
compatible:
items:
- enum:
- brcm,vulcan-eval
- cavium,thunderx2-cn9900
- const: brcm,vulcan-soc
additionalProperties: true
...
@@ -65,6 +65,11 @@ properties:
gpio-line-names:
minItems: 8
patternProperties:
'-hog$':
required:
- gpio-hog
required:
- compatible
- gpio-controller
@@ -87,6 +92,9 @@ properties:
- compatible
- "#reset-cells"
power:
$ref: /schemas/power/raspberrypi,bcm2835-power.yaml#
pwm:
type: object
additionalProperties: false
@@ -1,31 +0,0 @@
OMAP PRM instance bindings
Power and Reset Manager is an IP block on OMAP family of devices which
handle the power domains and their current state, and provide reset
handling for the domains and/or separate IP blocks under the power domain
hierarchy.
Required properties:
- compatible: Must contain one of the following:
"ti,am3-prm-inst"
"ti,am4-prm-inst"
"ti,omap4-prm-inst"
"ti,omap5-prm-inst"
"ti,dra7-prm-inst"
and additionally must contain:
"ti,omap-prm-inst"
- reg: Contains PRM instance register address range
(base address and length)
Optional properties:
- #power-domain-cells: Should be 0 if the instance is a power domain provider.
- #reset-cells: Should be 1 if the PRM instance in question supports resets.
Example:
prm_dsp2: prm@1b00 {
compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
reg = <0x1b00 0x40>;
#power-domain-cells = <0>;
#reset-cells = <1>;
};
@@ -0,0 +1,55 @@
# SPDX-License-Identifier: GPL-2.0-only
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/ti/ti,omap-prm-inst.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: OMAP PRM instances
maintainers:
- Aaro Koskinen <aaro.koskinen@iki.fi>
- Andreas Kemnade <andreas@kemnade.info>
- Kevin Hilman <khilman@baylibre.com>
- Roger Quadros <rogerq@kernel.org>
- Tony Lindgren <tony@atomide.com>
description:
Power and Reset Manager is an IP block on OMAP family of devices which
handle the power domains and their current state, and provide reset
handling for the domains and/or separate IP blocks under the power domain
hierarchy.
properties:
compatible:
items:
- enum:
- ti,am3-prm-inst
- ti,am4-prm-inst
- ti,omap4-prm-inst
- ti,omap5-prm-inst
- ti,dra7-prm-inst
- const: ti,omap-prm-inst
reg:
maxItems: 1
"#power-domain-cells":
const: 0
"#reset-cells":
const: 1
required:
- compatible
- reg
additionalProperties: false
examples:
- |
reset-controller@1b00 {
compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
reg = <0x1b00 0x40>;
#power-domain-cells = <0>;
#reset-cells = <1>;
};
@@ -103,7 +103,7 @@ required:
- arm,vexpress,config-bridge
patternProperties:
'clk[0-9]*$':
'^clock-controller.*$':
type: object
description:
clocks
@@ -137,7 +137,7 @@ patternProperties:
- arm,vexpress-sysreg,func
- "#clock-cells"
"^volt-.+$":
"^regulator-.+$":
$ref: /schemas/regulator/regulator.yaml#
properties:
compatible:
@@ -272,7 +272,7 @@ examples:
compatible = "arm,vexpress,config-bus";
arm,vexpress,config-bridge = <&v2m_sysreg>;
clk0 {
clock-controller {
compatible = "arm,vexpress-osc";
arm,vexpress-sysreg,func = <1 0>;
#clock-cells = <0>;
@@ -17,8 +17,10 @@ description: |
properties:
compatible:
enum:
- aspeed,ast2600-ahbc
items:
- enum:
- aspeed,ast2600-ahbc
- const: syscon
reg:
maxItems: 1
@@ -32,6 +34,6 @@ additionalProperties: false
examples:
- |
ahbc@1e600000 {
compatible = "aspeed,ast2600-ahbc";
compatible = "aspeed,ast2600-ahbc", "syscon";
reg = <0x1e600000 0x100>;
};
@@ -19,21 +19,29 @@ description: |
the SDMA can access. There are no special clocks for the bus, because
the SDMA controller itself has its interrupt and clock assignments.
EMI (External Memory Interface) for legacy i.MX35.
select:
properties:
compatible:
contains:
const: fsl,spba-bus
enum:
- fsl,aips
- fsl,emi
- fsl,spba-bus
required:
- compatible
properties:
$nodename:
pattern: "^spba-bus(@[0-9a-f]+)?$"
pattern: "^((spba|emi)-bus|bus)(@[0-9a-f]+)?$"
compatible:
items:
- const: fsl,spba-bus
- enum:
- fsl,aips
- fsl,emi
- fsl,spba-bus
- const: simple-bus
'#address-cells':
@@ -54,7 +54,7 @@ properties:
const: 1
"#size-cells":
const: 1
enum: [ 1, 2 ]
ranges: true
@@ -30,11 +30,17 @@ properties:
interrupts:
maxItems: 1
aspeed,ahbc:
$ref: /schemas/types.yaml#/definitions/phandle
description:
A phandle to the AHB controller node, which must be a syscon
required:
- compatible
- reg
- clocks
- interrupts
- aspeed,ahbc
additionalProperties: false
@@ -46,4 +52,5 @@ examples:
reg = <0x1e6fa000 0x400>, <0x1e710000 0x1800>;
interrupts = <160>;
clocks = <&syscon ASPEED_CLK_GATE_RSACLK>;
aspeed,ahbc = <&ahbc>;
};
@@ -12,6 +12,14 @@ maintainers:
properties:
compatible:
oneOf:
- items:
- const: marvell,armada-cp110-crypto
- const: inside-secure,safexcel-eip197b
- items:
- enum:
- marvell,armada-3700-crypto
- mediatek,mt7986-crypto
- const: inside-secure,safexcel-eip97ies
- const: inside-secure,safexcel-eip197b
- const: inside-secure,safexcel-eip197d
- const: inside-secure,safexcel-eip97ies
@@ -26,9 +34,11 @@ properties:
maxItems: 1
interrupts:
minItems: 4
maxItems: 6
interrupt-names:
minItems: 4
items:
- const: ring0
- const: ring1
@@ -65,6 +75,18 @@ allOf:
minItems: 2
required:
- clock-names
- if:
properties:
compatible:
not:
contains:
const: mediatek,mt7986-crypto
then:
properties:
interrupts:
minItems: 6
interrupt-names:
minItems: 6
additionalProperties: false
@@ -59,6 +59,7 @@ required:
- compatible
- clocks
- ports
- reg
allOf:
- if:
@@ -73,6 +74,15 @@ allOf:
ports:
properties:
port@2: false
- if:
not:
properties:
compatible:
contains:
const: fsl,imx6sx-ldb
then:
required:
- reg-names
additionalProperties: false
@@ -79,7 +79,6 @@ properties:
required:
- compatible
- reg
- reset-gpios
- ports
additionalProperties: false
@@ -33,6 +33,7 @@ properties:
oneOf:
- items:
- enum:
- onnn,fin3385 # OnSemi FIN3385
- ti,ds90c185 # For the TI DS90C185 FPD-Link Serializer
- ti,ds90c187 # For the TI DS90C187 FPD-Link Serializer
- ti,sn75lvds83 # For the TI SN75LVDS83 FlatLink transmitter
@@ -19,6 +19,9 @@ properties:
interrupts:
maxItems: 1
clocks:
maxItems: 1
video-ports:
$ref: /schemas/types.yaml#/definitions/uint32
default: 0x230145
@@ -117,7 +117,7 @@ properties:
- 1 # 3.5dB pre-emphasis
- 2 # 6dB pre-emphasis
oneOf:
anyOf:
- required:
- port@0
- required:
@@ -1,17 +0,0 @@
Android Goldfish framebuffer
Android Goldfish framebuffer device used by Android emulator.
Required properties:
- compatible : should contain "google,goldfish-fb"
- reg : <registers mapping>
- interrupts : <interrupt mapping>
Example:
display-controller@1f008000 {
compatible = "google,goldfish-fb";
interrupts = <0x10>;
reg = <0x1f008000 0x100>;
};
@@ -0,0 +1,38 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/google,goldfish-fb.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Android Goldfish Framebuffer
maintainers:
- Kuan-Wei Chiu <visitorckw@gmail.com>
description:
Android Goldfish framebuffer device used by Android emulator.
properties:
compatible:
const: google,goldfish-fb
reg:
maxItems: 1
interrupts:
maxItems: 1
required:
- compatible
- reg
- interrupts
additionalProperties: false
examples:
- |
display@1f008000 {
compatible = "google,goldfish-fb";
reg = <0x1f008000 0x100>;
interrupts = <16>;
};

Some files were not shown because too many files have changed in this diff Show More