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