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 <egbostina@gmail.com>
Link: https://patch.msgid.link/20260810134051.380538-1-egbostina@gmail.com
[robh: move to bindings/bus/]
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
This commit is contained in:
Eduard Bostina 2026-08-10 13:40:51 +00:00 committed by Rob Herring (Arm)
parent 9d56904975
commit f963a45a11
2 changed files with 140 additions and 37 deletions

View File

@ -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>;
};

View File

@ -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 <egbostina@gmail.com>
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>;
};