Re: [PATCH v2] dt-bindings: arm: omap: Convert L4 interconnect to DT schema

Rob Herring <[email protected]> Mon, 3 Aug 2026 16:07:00 -0500
Newsgroups org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
On Thu, Jul 23, 2026 at 10:05:40AM +0000, Eduard Bostina wrote:
> 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 <[email protected]>
> ---
> 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
> 
> 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/arm/omap/ti,omap-l4.yaml b/Documentation/devicetree/bindings/arm/omap/ti,omap-l4.yaml
> new file mode 100644
> index 000000000000..de3f5f9da3fc
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/omap/ti,omap-l4.yaml
> @@ -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
> +        - 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.


> +
> +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>;
> +    };
> -- 
> 2.43.0
> 
>