# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: NXP i.MX8MM VPU blk-ctrl

maintainers:
  - Lucas Stach <l.stach@pengutronix.de>

description:
  The i.MX8MM VPU blk-ctrl is a top-level peripheral providing access to
  the NoC and ensuring proper power sequencing of the VPU peripherals
  located in the VPU domain of the SoC.

properties:
  compatible:
    items:
      - const: fsl,imx8mm-vpu-blk-ctrl
      - const: syscon

  reg:
    maxItems: 1

  '#power-domain-cells':
    const: 1

  power-domains:
    maxItems: 4

  power-domain-names:
    maxItems: 4

  clocks:
    maxItems: 3

  clock-names:
    maxItems: 3

  interconnects:
    maxItems: 3

  interconnect-names:
    maxItems: 3

required:
  - compatible
  - reg
  - power-domains
  - power-domain-names
  - clocks
  - clock-names

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: fsl,imx8mm-vpu-blk-ctrl
    then:
      properties:
        power-domains:
          items:
            - description: bus power domain
            - description: G1 decoder power domain
            - description: G2 decoder power domain
            - description: H1 encoder power domain

        power-domain-names:
          items:
            - const: bus
            - const: g1
            - const: g2
            - const: h1

        clocks:
          items:
            - description: G1 decoder clk
            - description: G2 decoder clk
            - description: H1 encoder clk

        clock-names:
          items:
            - const: g1
            - const: g2
            - const: h1

        interconnects:
          items:
            - description: G1 decoder interconnect
            - description: G2 decoder interconnect
            - description: H1 encoder power domain

        interconnect-names:
          items:
            - const: g1
            - const: g2
            - const: h1

  - if:
      properties:
        compatible:
          contains:
            const: fsl,imx8mp-vpu-blk-ctrl
    then:
      properties:
        power-domains:
          items:
            - description: bus power domain
            - description: G1 decoder power domain
            - description: G2 decoder power domain
            - description: VC8000E encoder power domain

        power-domain-names:
          items:
            - const: bus
            - const: g1
            - const: g2
            - const: vc8000e

        clocks:
          items:
            - description: G1 decoder clk
            - description: G2 decoder clk
            - description: VC8000E encoder clk

        clock-names:
          items:
            - const: g1
            - const: g2
            - const: vc8000e

        interconnects:
          items:
            - description: G1 decoder interconnect
            - description: G2 decoder interconnect
            - description: VC8000E encoder interconnect

        interconnect-names:
          items:
            - const: g1
            - const: g2
            - const: vc8000e

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/imx8mm-clock.h>
    #include <dt-bindings/power/imx8mm-power.h>

    vpu_blk_ctrl: blk-ctrl@38330000 {
      compatible = "fsl,imx8mm-vpu-blk-ctrl", "syscon";
      reg = <0x38330000 0x100>;
      power-domains = <&pgc_vpumix>, <&pgc_vpu_g1>,
                      <&pgc_vpu_g2>, <&pgc_vpu_h1>;
      power-domain-names = "bus", "g1", "g2", "h1";
      clocks = <&clk IMX8MM_CLK_VPU_G1_ROOT>,
               <&clk IMX8MM_CLK_VPU_G2_ROOT>,
               <&clk IMX8MM_CLK_VPU_H1_ROOT>;
      clock-names = "g1", "g2", "h1";
      #power-domain-cells = <1>;
    };
