From f963a45a11520a7113d16f467953cf786f51c53f Mon Sep 17 00:00:00 2001 From: Eduard Bostina Date: Mon, 10 Aug 2026 13:40:51 +0000 Subject: [PATCH] dt-bindings: arm: omap: Convert L4 interconnect to DT schema Convert the Texas Instruments OMAP L4 interconnect bus bindings to DT schema. During the conversion, several updates were made: - Defined the compatible property as an array to require the TI-specific string first, followed by either 'simple-bus' or 'simple-pm-bus'. - Added a 'select' block to ensure this schema is only applied to TI-specific nodes, preventing duplicate schema warnings against the core simple-pm-bus.yaml. - Added the L4 compatible strings used by the boards but missing from the text binding, and corrected the 'ti,am3-l4-wkup' typo to 'ti,am33xx-l4-wkup'. - Made 'reg' and 'reg-names' optional. Signed-off-by: Eduard Bostina Link: https://patch.msgid.link/20260810134051.380538-1-egbostina@gmail.com [robh: move to bindings/bus/] Signed-off-by: Rob Herring (Arm) --- .../devicetree/bindings/arm/omap/l4.txt | 37 ----- .../devicetree/bindings/bus/ti,omap-l4.yaml | 140 ++++++++++++++++++ 2 files changed, 140 insertions(+), 37 deletions(-) delete mode 100644 Documentation/devicetree/bindings/arm/omap/l4.txt create mode 100644 Documentation/devicetree/bindings/bus/ti,omap-l4.yaml diff --git a/Documentation/devicetree/bindings/arm/omap/l4.txt b/Documentation/devicetree/bindings/arm/omap/l4.txt deleted file mode 100644 index 6816adcdc15f..000000000000 --- a/Documentation/devicetree/bindings/arm/omap/l4.txt +++ /dev/null @@ -1,37 +0,0 @@ -L4 interconnect bindings - -These bindings describe the OMAP SoCs L4 interconnect bus. - -Required properties: -- compatible : Should be "ti,omap2-l4" for OMAP2 family l4 core bus - Should be "ti,omap2-l4-wkup" for OMAP2 family l4 wkup bus - Should be "ti,omap3-l4-core" for OMAP3 family l4 core bus - Should be "ti,omap4-l4-cfg" for OMAP4 family l4 cfg bus - Should be "ti,omap4-l4-per" for OMAP4 family l4 per bus - Should be "ti,omap4-l4-wkup" for OMAP4 family l4 wkup bus - Should be "ti,omap5-l4-cfg" for OMAP5 family l4 cfg bus - Should be "ti,omap5-l4-wkup" for OMAP5 family l4 wkup bus - Should be "ti,dra7-l4-cfg" for DRA7 family l4 cfg bus - Should be "ti,dra7-l4-wkup" for DRA7 family l4 wkup bus - Should be "ti,am3-l4-wkup" for AM33xx family l4 wkup bus - Should be "ti,am4-l4-wkup" for AM43xx family l4 wkup bus -- ranges : contains the IO map range for the bus -- reg : registers link agent and interconnect agent and access protection -- reg-names : "la" for link agent, "ia0" to "ia3" for one to three - interconnect agent instances, "ap" for access if it exists - -Examples: - -l4: interconnect@48000000 { - compatible "ti,omap4-l4-per", "simple-bus"; - reg = <0x48000000 0x800>, - <0x48000800 0x800>, - <0x48001000 0x400>, - <0x48001400 0x400>, - <0x48001800 0x400>, - <0x48001c00 0x400>; - reg-names = "ap", "la", "ia0", "ia1", "ia2", "ia3"; - #address-cells = <1>; - #size-cells = <1>; - ranges = <0 0x48000000 0x100000>; -}; diff --git a/Documentation/devicetree/bindings/bus/ti,omap-l4.yaml b/Documentation/devicetree/bindings/bus/ti,omap-l4.yaml new file mode 100644 index 000000000000..0b09fb91934a --- /dev/null +++ b/Documentation/devicetree/bindings/bus/ti,omap-l4.yaml @@ -0,0 +1,140 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/bus/ti,omap-l4.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: TI OMAP SoCs L4 interconnect bus + +maintainers: + - Eduard Bostina + +description: + These bindings describe the OMAP SoCs L4 interconnect bus. + +select: + properties: + compatible: + contains: + enum: + - ti,omap2-l4 + - ti,omap2-l4-wkup + - ti,omap3-l4-core + - ti,omap4-l4-abe + - ti,omap4-l4-cfg + - ti,omap4-l4-per + - ti,omap4-l4-wkup + - ti,omap5-l4-abe + - ti,omap5-l4-cfg + - ti,omap5-l4-per + - ti,omap5-l4-wkup + - ti,dra7-l4-cfg + - ti,dra7-l4-per1 + - ti,dra7-l4-per2 + - ti,dra7-l4-per3 + - ti,dra7-l4-wkup + - ti,am33xx-l4-fast + - ti,am33xx-l4-fw + - ti,am33xx-l4-mpuss + - ti,am33xx-l4-per + - ti,am33xx-l4-wkup + - ti,am4-l4-fast + - ti,am4-l4-per + - ti,am4-l4-wkup + - ti,dm814-l4hs + - ti,dm814-l4ls + required: + - compatible + +properties: + compatible: + items: + - enum: + - ti,omap2-l4 + - ti,omap2-l4-wkup + - ti,omap3-l4-core + - ti,omap4-l4-abe + - ti,omap4-l4-cfg + - ti,omap4-l4-per + - ti,omap4-l4-wkup + - ti,omap5-l4-abe + - ti,omap5-l4-cfg + - ti,omap5-l4-per + - ti,omap5-l4-wkup + - ti,dra7-l4-cfg + - ti,dra7-l4-per1 + - ti,dra7-l4-per2 + - ti,dra7-l4-per3 + - ti,dra7-l4-wkup + - ti,am33xx-l4-fast + - ti,am33xx-l4-fw + - ti,am33xx-l4-mpuss + - ti,am33xx-l4-per + - ti,am33xx-l4-wkup + - ti,am4-l4-fast + - ti,am4-l4-per + - ti,am4-l4-wkup + - ti,dm814-l4hs + - ti,dm814-l4ls + - enum: + - simple-bus + - simple-pm-bus + + reg: + minItems: 1 + maxItems: 6 + + reg-names: + minItems: 1 + maxItems: 6 + items: + enum: + - ap + - la + - ia0 + - ia1 + - ia2 + - ia3 + + ranges: true + + dma-ranges: true + + clocks: + maxItems: 1 + + clock-names: + items: + - const: fck + + power-domains: + maxItems: 1 + + "#address-cells": + const: 1 + + "#size-cells": + const: 1 + +required: + - compatible + - ranges + +additionalProperties: + type: object + +examples: + - | + bus@48000000 { + compatible = "ti,omap4-l4-per", "simple-bus"; + reg = <0x48000000 0x800>, + <0x48000800 0x800>, + <0x48001000 0x400>, + <0x48001400 0x400>, + <0x48001800 0x400>, + <0x48001c00 0x400>; + reg-names = "ap", "la", "ia0", "ia1", "ia2", "ia3"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x48000000 0x100000>; + };