Skip to contentSkip to conversation

dt-bindings: arm: omap: Convert L4 interconnect to DT schema

PATCH Superseded Eduard Bostina 2 participants 2 messages Jul 23 – Aug 3 Device tree bindings

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 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.

---
Changes in v2:
- Renamed the example bus node so it matches the simple-bus schema, fixing the 'make dt_binding_check' nodename error.
- 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'.

Link to v1:
https://lore.kernel.org/all/[email protected]/

 .../devicetree/bindings/arm/omap/l4.txt       |  37 ------
 .../bindings/arm/omap/ti,omap-l4.yaml         | 121 ++++++++++++++++++
 2 files changed, 121 insertions(+), 37 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/arm/omap/l4.txt
 create mode 100644 Documentation/devicetree/bindings/arm/omap/ti,omap-l4.yaml
Documentation/devicetree/bindings/arm/omap/l4.txt deleted +0 -37
deleted file mode 100644
index 6816adcdc15f..000000000000
@@ -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>;
-};
Documentation/devicetree/bindings/arm/omap/ti,omap-l4.yaml new file +121 -0

121 lines not on this page · raw message

Signature · 1 line
2.43.0
maintainer
#1 lore raw
Quoted 177 lines · Eduard Bostina

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.

---
Changes in v2:
- Renamed the example bus node so it matches the simple-bus schema, fixing the 'make dt_binding_check' nodename error.
- 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'.

Link to v1:
https://lore.kernel.org/all/[email protected]/

 .../devicetree/bindings/arm/omap/l4.txt       |  37 ------
 .../bindings/arm/omap/ti,omap-l4.yaml         | 121 ++++++++++++++++++
 2 files changed, 121 insertions(+), 37 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/arm/omap/l4.txt
 create mode 100644 Documentation/devicetree/bindings/arm/omap/ti,omap-l4.yaml
Documentation/devicetree/bindings/arm/omap/l4.txt deleted +0 -37
deleted file mode 100644
index 6816adcdc15f..000000000000
@@ -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>;
-};
Documentation/devicetree/bindings/arm/omap/ti,omap-l4.yaml new file +95 -0
new file mode 100644
index 000000000000..de3f5f9da3fc
@@ -0,0 +1,121 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/omap/ti,omap-l4.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: TI OMAP SoCs L4 interconnect bus
+
+maintainers:
+  - Eduard Bostina <[email protected]>
+
+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

Documentation/devicetree/bindings/arm/omap/ti,omap-l4.yaml line 105

Quoted 10 lines
Documentation/devicetree/bindings/arm/omap/ti,omap-l4.yaml new file +10 -0
+        - ia2
+        - ia3
+
+  ranges: true
+
+required:
+  - compatible
+  - ranges
+
+additionalProperties: true

Restrict anything else to nodes:

additionalProperties:
type: object

You'll need to define #address-cells and #size-cells.

Quoted 20 lines
Documentation/devicetree/bindings/arm/omap/ti,omap-l4.yaml new file +16 -0
+
+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>;
+    };
Signature · 1 line
2.43.0