xref: /linux/Documentation/devicetree/bindings/soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml (revision c7ebd54158d36a5b451743afac2376bdd0b2ba61)
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:
33*c7ebd541SPeng Fan    maxItems: 4
34*c7ebd541SPeng Fan
35*c7ebd541SPeng Fan  clocks:
36*c7ebd541SPeng Fan    maxItems: 3
37*c7ebd541SPeng Fan
38*c7ebd541SPeng Fan  clock-names:
39*c7ebd541SPeng Fan    maxItems: 3
40*c7ebd541SPeng Fan
41*c7ebd541SPeng Fan  interconnects:
42*c7ebd541SPeng Fan    maxItems: 3
43*c7ebd541SPeng Fan
44*c7ebd541SPeng Fan  interconnect-names:
45*c7ebd541SPeng Fan    maxItems: 3
46*c7ebd541SPeng Fan
47*c7ebd541SPeng Fanrequired:
48*c7ebd541SPeng Fan  - compatible
49*c7ebd541SPeng Fan  - reg
50*c7ebd541SPeng Fan  - power-domains
51*c7ebd541SPeng Fan  - power-domain-names
52*c7ebd541SPeng Fan  - clocks
53*c7ebd541SPeng Fan  - clock-names
54*c7ebd541SPeng Fan
55*c7ebd541SPeng FanallOf:
56*c7ebd541SPeng Fan  - if:
57*c7ebd541SPeng Fan      properties:
58*c7ebd541SPeng Fan        compatible:
59*c7ebd541SPeng Fan          contains:
60*c7ebd541SPeng Fan            const: fsl,imx8mm-vpu-blk-ctrl
61*c7ebd541SPeng Fan    then:
62*c7ebd541SPeng Fan      properties:
63*c7ebd541SPeng Fan        power-domains:
64*c7ebd541SPeng Fan          items:
65*c7ebd541SPeng Fan            - description: bus power domain
66*c7ebd541SPeng Fan            - description: G1 decoder power domain
67*c7ebd541SPeng Fan            - description: G2 decoder power domain
68*c7ebd541SPeng Fan            - description: H1 encoder power domain
69*c7ebd541SPeng Fan
70*c7ebd541SPeng Fan        power-domain-names:
717fd530beSLucas Stach          items:
727fd530beSLucas Stach            - const: bus
737fd530beSLucas Stach            - const: g1
747fd530beSLucas Stach            - const: g2
757fd530beSLucas Stach            - const: h1
767fd530beSLucas Stach
777fd530beSLucas Stach        clocks:
78*c7ebd541SPeng Fan          items:
79*c7ebd541SPeng Fan            - description: G1 decoder clk
80*c7ebd541SPeng Fan            - description: G2 decoder clk
81*c7ebd541SPeng Fan            - description: H1 encoder clk
827fd530beSLucas Stach
837fd530beSLucas Stach        clock-names:
847fd530beSLucas Stach          items:
857fd530beSLucas Stach            - const: g1
867fd530beSLucas Stach            - const: g2
877fd530beSLucas Stach            - const: h1
887fd530beSLucas Stach
892345fc8dSPeng Fan        interconnects:
902345fc8dSPeng Fan          items:
912345fc8dSPeng Fan            - description: G1 decoder interconnect
922345fc8dSPeng Fan            - description: G2 decoder interconnect
932345fc8dSPeng Fan            - description: H1 encoder power domain
942345fc8dSPeng Fan
952345fc8dSPeng Fan        interconnect-names:
962345fc8dSPeng Fan          items:
972345fc8dSPeng Fan            - const: g1
982345fc8dSPeng Fan            - const: g2
992345fc8dSPeng Fan            - const: h1
1002345fc8dSPeng Fan
101*c7ebd541SPeng Fan  - if:
102*c7ebd541SPeng Fan      properties:
103*c7ebd541SPeng Fan        compatible:
104*c7ebd541SPeng Fan          contains:
105*c7ebd541SPeng Fan            const: fsl,imx8mp-vpu-blk-ctrl
106*c7ebd541SPeng Fan    then:
107*c7ebd541SPeng Fan      properties:
108*c7ebd541SPeng Fan        power-domains:
109*c7ebd541SPeng Fan          items:
110*c7ebd541SPeng Fan            - description: bus power domain
111*c7ebd541SPeng Fan            - description: G1 decoder power domain
112*c7ebd541SPeng Fan            - description: G2 decoder power domain
113*c7ebd541SPeng Fan            - description: VC8000E encoder power domain
114*c7ebd541SPeng Fan
115*c7ebd541SPeng Fan        power-domain-names:
116*c7ebd541SPeng Fan          items:
117*c7ebd541SPeng Fan            - const: bus
118*c7ebd541SPeng Fan            - const: g1
119*c7ebd541SPeng Fan            - const: g2
120*c7ebd541SPeng Fan            - const: vc8000e
121*c7ebd541SPeng Fan
122*c7ebd541SPeng Fan        clocks:
123*c7ebd541SPeng Fan          items:
124*c7ebd541SPeng Fan            - description: G1 decoder clk
125*c7ebd541SPeng Fan            - description: G2 decoder clk
126*c7ebd541SPeng Fan            - description: VC8000E encoder clk
127*c7ebd541SPeng Fan
128*c7ebd541SPeng Fan        clock-names:
129*c7ebd541SPeng Fan          items:
130*c7ebd541SPeng Fan            - const: g1
131*c7ebd541SPeng Fan            - const: g2
132*c7ebd541SPeng Fan            - const: vc8000e
133*c7ebd541SPeng Fan
134*c7ebd541SPeng Fan        interconnects:
135*c7ebd541SPeng Fan          items:
136*c7ebd541SPeng Fan            - description: G1 decoder interconnect
137*c7ebd541SPeng Fan            - description: G2 decoder interconnect
138*c7ebd541SPeng Fan            - description: VC8000E encoder interconnect
139*c7ebd541SPeng Fan
140*c7ebd541SPeng Fan        interconnect-names:
141*c7ebd541SPeng Fan          items:
142*c7ebd541SPeng Fan            - const: g1
143*c7ebd541SPeng Fan            - const: g2
144*c7ebd541SPeng Fan            - const: vc8000e
1457fd530beSLucas Stach
1467fd530beSLucas StachadditionalProperties: false
1477fd530beSLucas Stach
1487fd530beSLucas Stachexamples:
1497fd530beSLucas Stach  - |
1507fd530beSLucas Stach    #include <dt-bindings/clock/imx8mm-clock.h>
1517fd530beSLucas Stach    #include <dt-bindings/power/imx8mm-power.h>
1527fd530beSLucas Stach
1537fd530beSLucas Stach    vpu_blk_ctrl: blk-ctrl@38330000 {
1547fd530beSLucas Stach      compatible = "fsl,imx8mm-vpu-blk-ctrl", "syscon";
1557fd530beSLucas Stach      reg = <0x38330000 0x100>;
1567fd530beSLucas Stach      power-domains = <&pgc_vpumix>, <&pgc_vpu_g1>,
1577fd530beSLucas Stach                      <&pgc_vpu_g2>, <&pgc_vpu_h1>;
1587fd530beSLucas Stach      power-domain-names = "bus", "g1", "g2", "h1";
1597fd530beSLucas Stach      clocks = <&clk IMX8MM_CLK_VPU_G1_ROOT>,
1607fd530beSLucas Stach               <&clk IMX8MM_CLK_VPU_G2_ROOT>,
1617fd530beSLucas Stach               <&clk IMX8MM_CLK_VPU_H1_ROOT>;
1627fd530beSLucas Stach      clock-names = "g1", "g2", "h1";
1637fd530beSLucas Stach      #power-domain-cells = <1>;
1647fd530beSLucas Stach    };
165