xref: /linux/Documentation/devicetree/bindings/soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml (revision 7fd530be1b619874248b015e0c073425c9d2b42d)
1*7fd530beSLucas Stach# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*7fd530beSLucas Stach%YAML 1.2
3*7fd530beSLucas Stach---
4*7fd530beSLucas Stach$id: http://devicetree.org/schemas/soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml#
5*7fd530beSLucas Stach$schema: http://devicetree.org/meta-schemas/core.yaml#
6*7fd530beSLucas Stach
7*7fd530beSLucas Stachtitle: NXP i.MX8MM VPU blk-ctrl
8*7fd530beSLucas Stach
9*7fd530beSLucas Stachmaintainers:
10*7fd530beSLucas Stach  - Lucas Stach <l.stach@pengutronix.de>
11*7fd530beSLucas Stach
12*7fd530beSLucas Stachdescription:
13*7fd530beSLucas Stach  The i.MX8MM VPU blk-ctrl is a top-level peripheral providing access to
14*7fd530beSLucas Stach  the NoC and ensuring proper power sequencing of the VPU peripherals
15*7fd530beSLucas Stach  located in the VPU domain of the SoC.
16*7fd530beSLucas Stach
17*7fd530beSLucas Stachproperties:
18*7fd530beSLucas Stach  compatible:
19*7fd530beSLucas Stach    items:
20*7fd530beSLucas Stach      - const: fsl,imx8mm-vpu-blk-ctrl
21*7fd530beSLucas Stach      - const: syscon
22*7fd530beSLucas Stach
23*7fd530beSLucas Stach  reg:
24*7fd530beSLucas Stach    maxItems: 1
25*7fd530beSLucas Stach
26*7fd530beSLucas Stach  '#power-domain-cells':
27*7fd530beSLucas Stach    const: 1
28*7fd530beSLucas Stach
29*7fd530beSLucas Stach  power-domains:
30*7fd530beSLucas Stach    minItems: 4
31*7fd530beSLucas Stach    maxItems: 4
32*7fd530beSLucas Stach
33*7fd530beSLucas Stach  power-domain-names:
34*7fd530beSLucas Stach    items:
35*7fd530beSLucas Stach      - const: bus
36*7fd530beSLucas Stach      - const: g1
37*7fd530beSLucas Stach      - const: g2
38*7fd530beSLucas Stach      - const: h1
39*7fd530beSLucas Stach
40*7fd530beSLucas Stach  clocks:
41*7fd530beSLucas Stach    minItems: 3
42*7fd530beSLucas Stach    maxItems: 3
43*7fd530beSLucas Stach
44*7fd530beSLucas Stach  clock-names:
45*7fd530beSLucas Stach    items:
46*7fd530beSLucas Stach      - const: g1
47*7fd530beSLucas Stach      - const: g2
48*7fd530beSLucas Stach      - const: h1
49*7fd530beSLucas Stach
50*7fd530beSLucas Stachrequired:
51*7fd530beSLucas Stach  - compatible
52*7fd530beSLucas Stach  - reg
53*7fd530beSLucas Stach  - power-domains
54*7fd530beSLucas Stach  - power-domain-names
55*7fd530beSLucas Stach  - clocks
56*7fd530beSLucas Stach  - clock-names
57*7fd530beSLucas Stach
58*7fd530beSLucas StachadditionalProperties: false
59*7fd530beSLucas Stach
60*7fd530beSLucas Stachexamples:
61*7fd530beSLucas Stach  - |
62*7fd530beSLucas Stach    #include <dt-bindings/clock/imx8mm-clock.h>
63*7fd530beSLucas Stach    #include <dt-bindings/power/imx8mm-power.h>
64*7fd530beSLucas Stach
65*7fd530beSLucas Stach    vpu_blk_ctrl: blk-ctrl@38330000 {
66*7fd530beSLucas Stach      compatible = "fsl,imx8mm-vpu-blk-ctrl", "syscon";
67*7fd530beSLucas Stach      reg = <0x38330000 0x100>;
68*7fd530beSLucas Stach      power-domains = <&pgc_vpumix>, <&pgc_vpu_g1>,
69*7fd530beSLucas Stach                      <&pgc_vpu_g2>, <&pgc_vpu_h1>;
70*7fd530beSLucas Stach      power-domain-names = "bus", "g1", "g2", "h1";
71*7fd530beSLucas Stach      clocks = <&clk IMX8MM_CLK_VPU_G1_ROOT>,
72*7fd530beSLucas Stach               <&clk IMX8MM_CLK_VPU_G2_ROOT>,
73*7fd530beSLucas Stach               <&clk IMX8MM_CLK_VPU_H1_ROOT>;
74*7fd530beSLucas Stach      clock-names = "g1", "g2", "h1";
75*7fd530beSLucas Stach      #power-domain-cells = <1>;
76*7fd530beSLucas Stach    };
77