xref: /linux/Documentation/devicetree/bindings/soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml (revision 2345fc8dc2ecf1643ea369e00af7a1b97add879d)
17fd530beSLucas Stach# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
27fd530beSLucas Stach%YAML 1.2
37fd530beSLucas Stach---
47fd530beSLucas Stach$id: http://devicetree.org/schemas/soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml#
57fd530beSLucas Stach$schema: http://devicetree.org/meta-schemas/core.yaml#
67fd530beSLucas Stach
77fd530beSLucas Stachtitle: NXP i.MX8MM VPU blk-ctrl
87fd530beSLucas Stach
97fd530beSLucas Stachmaintainers:
107fd530beSLucas Stach  - Lucas Stach <l.stach@pengutronix.de>
117fd530beSLucas Stach
127fd530beSLucas Stachdescription:
137fd530beSLucas Stach  The i.MX8MM VPU blk-ctrl is a top-level peripheral providing access to
147fd530beSLucas Stach  the NoC and ensuring proper power sequencing of the VPU peripherals
157fd530beSLucas Stach  located in the VPU domain of the SoC.
167fd530beSLucas Stach
177fd530beSLucas Stachproperties:
187fd530beSLucas Stach  compatible:
197fd530beSLucas Stach    items:
207fd530beSLucas Stach      - const: fsl,imx8mm-vpu-blk-ctrl
217fd530beSLucas Stach      - const: syscon
227fd530beSLucas Stach
237fd530beSLucas Stach  reg:
247fd530beSLucas Stach    maxItems: 1
257fd530beSLucas Stach
267fd530beSLucas Stach  '#power-domain-cells':
277fd530beSLucas Stach    const: 1
287fd530beSLucas Stach
297fd530beSLucas Stach  power-domains:
307fd530beSLucas Stach    maxItems: 4
317fd530beSLucas Stach
327fd530beSLucas Stach  power-domain-names:
337fd530beSLucas Stach    items:
347fd530beSLucas Stach      - const: bus
357fd530beSLucas Stach      - const: g1
367fd530beSLucas Stach      - const: g2
377fd530beSLucas Stach      - const: h1
387fd530beSLucas Stach
397fd530beSLucas Stach  clocks:
407fd530beSLucas Stach    maxItems: 3
417fd530beSLucas Stach
427fd530beSLucas Stach  clock-names:
437fd530beSLucas Stach    items:
447fd530beSLucas Stach      - const: g1
457fd530beSLucas Stach      - const: g2
467fd530beSLucas Stach      - const: h1
477fd530beSLucas Stach
48*2345fc8dSPeng Fan  interconnects:
49*2345fc8dSPeng Fan    items:
50*2345fc8dSPeng Fan      - description: G1 decoder interconnect
51*2345fc8dSPeng Fan      - description: G2 decoder interconnect
52*2345fc8dSPeng Fan      - description: H1 encoder power domain
53*2345fc8dSPeng Fan
54*2345fc8dSPeng Fan  interconnect-names:
55*2345fc8dSPeng Fan    items:
56*2345fc8dSPeng Fan      - const: g1
57*2345fc8dSPeng Fan      - const: g2
58*2345fc8dSPeng Fan      - const: h1
59*2345fc8dSPeng Fan
607fd530beSLucas Stachrequired:
617fd530beSLucas Stach  - compatible
627fd530beSLucas Stach  - reg
637fd530beSLucas Stach  - power-domains
647fd530beSLucas Stach  - power-domain-names
657fd530beSLucas Stach  - clocks
667fd530beSLucas Stach  - clock-names
677fd530beSLucas Stach
687fd530beSLucas StachadditionalProperties: false
697fd530beSLucas Stach
707fd530beSLucas Stachexamples:
717fd530beSLucas Stach  - |
727fd530beSLucas Stach    #include <dt-bindings/clock/imx8mm-clock.h>
737fd530beSLucas Stach    #include <dt-bindings/power/imx8mm-power.h>
747fd530beSLucas Stach
757fd530beSLucas Stach    vpu_blk_ctrl: blk-ctrl@38330000 {
767fd530beSLucas Stach      compatible = "fsl,imx8mm-vpu-blk-ctrl", "syscon";
777fd530beSLucas Stach      reg = <0x38330000 0x100>;
787fd530beSLucas Stach      power-domains = <&pgc_vpumix>, <&pgc_vpu_g1>,
797fd530beSLucas Stach                      <&pgc_vpu_g2>, <&pgc_vpu_h1>;
807fd530beSLucas Stach      power-domain-names = "bus", "g1", "g2", "h1";
817fd530beSLucas Stach      clocks = <&clk IMX8MM_CLK_VPU_G1_ROOT>,
827fd530beSLucas Stach               <&clk IMX8MM_CLK_VPU_G2_ROOT>,
837fd530beSLucas Stach               <&clk IMX8MM_CLK_VPU_H1_ROOT>;
847fd530beSLucas Stach      clock-names = "g1", "g2", "h1";
857fd530beSLucas Stach      #power-domain-cells = <1>;
867fd530beSLucas Stach    };
87