xref: /freebsd-src/sys/contrib/device-tree/Bindings/soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
18cc087a1SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28cc087a1SEmmanuel Vadot%YAML 1.2
38cc087a1SEmmanuel Vadot---
48cc087a1SEmmanuel Vadot$id: http://devicetree.org/schemas/soc/imx/fsl,imx8mm-vpu-blk-ctrl.yaml#
58cc087a1SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
68cc087a1SEmmanuel Vadot
78cc087a1SEmmanuel Vadottitle: NXP i.MX8MM VPU blk-ctrl
88cc087a1SEmmanuel Vadot
98cc087a1SEmmanuel Vadotmaintainers:
108cc087a1SEmmanuel Vadot  - Lucas Stach <l.stach@pengutronix.de>
118cc087a1SEmmanuel Vadot
128cc087a1SEmmanuel Vadotdescription:
138cc087a1SEmmanuel Vadot  The i.MX8MM VPU blk-ctrl is a top-level peripheral providing access to
148cc087a1SEmmanuel Vadot  the NoC and ensuring proper power sequencing of the VPU peripherals
158cc087a1SEmmanuel Vadot  located in the VPU domain of the SoC.
168cc087a1SEmmanuel Vadot
178cc087a1SEmmanuel Vadotproperties:
188cc087a1SEmmanuel Vadot  compatible:
198cc087a1SEmmanuel Vadot    items:
208cc087a1SEmmanuel Vadot      - const: fsl,imx8mm-vpu-blk-ctrl
218cc087a1SEmmanuel Vadot      - const: syscon
228cc087a1SEmmanuel Vadot
238cc087a1SEmmanuel Vadot  reg:
248cc087a1SEmmanuel Vadot    maxItems: 1
258cc087a1SEmmanuel Vadot
268cc087a1SEmmanuel Vadot  '#power-domain-cells':
278cc087a1SEmmanuel Vadot    const: 1
288cc087a1SEmmanuel Vadot
298cc087a1SEmmanuel Vadot  power-domains:
308cc087a1SEmmanuel Vadot    maxItems: 4
318cc087a1SEmmanuel Vadot
328cc087a1SEmmanuel Vadot  power-domain-names:
337ef62cebSEmmanuel Vadot    maxItems: 4
347ef62cebSEmmanuel Vadot
357ef62cebSEmmanuel Vadot  clocks:
367ef62cebSEmmanuel Vadot    maxItems: 3
377ef62cebSEmmanuel Vadot
387ef62cebSEmmanuel Vadot  clock-names:
397ef62cebSEmmanuel Vadot    maxItems: 3
407ef62cebSEmmanuel Vadot
417ef62cebSEmmanuel Vadot  interconnects:
427ef62cebSEmmanuel Vadot    maxItems: 3
437ef62cebSEmmanuel Vadot
447ef62cebSEmmanuel Vadot  interconnect-names:
457ef62cebSEmmanuel Vadot    maxItems: 3
467ef62cebSEmmanuel Vadot
477ef62cebSEmmanuel Vadotrequired:
487ef62cebSEmmanuel Vadot  - compatible
497ef62cebSEmmanuel Vadot  - reg
507ef62cebSEmmanuel Vadot  - power-domains
517ef62cebSEmmanuel Vadot  - power-domain-names
527ef62cebSEmmanuel Vadot  - clocks
537ef62cebSEmmanuel Vadot  - clock-names
547ef62cebSEmmanuel Vadot
557ef62cebSEmmanuel VadotallOf:
567ef62cebSEmmanuel Vadot  - if:
577ef62cebSEmmanuel Vadot      properties:
587ef62cebSEmmanuel Vadot        compatible:
597ef62cebSEmmanuel Vadot          contains:
607ef62cebSEmmanuel Vadot            const: fsl,imx8mm-vpu-blk-ctrl
617ef62cebSEmmanuel Vadot    then:
627ef62cebSEmmanuel Vadot      properties:
637ef62cebSEmmanuel Vadot        power-domains:
647ef62cebSEmmanuel Vadot          items:
657ef62cebSEmmanuel Vadot            - description: bus power domain
667ef62cebSEmmanuel Vadot            - description: G1 decoder power domain
677ef62cebSEmmanuel Vadot            - description: G2 decoder power domain
687ef62cebSEmmanuel Vadot            - description: H1 encoder power domain
697ef62cebSEmmanuel Vadot
707ef62cebSEmmanuel Vadot        power-domain-names:
718cc087a1SEmmanuel Vadot          items:
728cc087a1SEmmanuel Vadot            - const: bus
738cc087a1SEmmanuel Vadot            - const: g1
748cc087a1SEmmanuel Vadot            - const: g2
758cc087a1SEmmanuel Vadot            - const: h1
768cc087a1SEmmanuel Vadot
778cc087a1SEmmanuel Vadot        clocks:
787ef62cebSEmmanuel Vadot          items:
797ef62cebSEmmanuel Vadot            - description: G1 decoder clk
807ef62cebSEmmanuel Vadot            - description: G2 decoder clk
817ef62cebSEmmanuel Vadot            - description: H1 encoder clk
828cc087a1SEmmanuel Vadot
838cc087a1SEmmanuel Vadot        clock-names:
848cc087a1SEmmanuel Vadot          items:
858cc087a1SEmmanuel Vadot            - const: g1
868cc087a1SEmmanuel Vadot            - const: g2
878cc087a1SEmmanuel Vadot            - const: h1
888cc087a1SEmmanuel Vadot
897ef62cebSEmmanuel Vadot        interconnects:
907ef62cebSEmmanuel Vadot          items:
917ef62cebSEmmanuel Vadot            - description: G1 decoder interconnect
927ef62cebSEmmanuel Vadot            - description: G2 decoder interconnect
937ef62cebSEmmanuel Vadot            - description: H1 encoder power domain
947ef62cebSEmmanuel Vadot
957ef62cebSEmmanuel Vadot        interconnect-names:
967ef62cebSEmmanuel Vadot          items:
977ef62cebSEmmanuel Vadot            - const: g1
987ef62cebSEmmanuel Vadot            - const: g2
997ef62cebSEmmanuel Vadot            - const: h1
1007ef62cebSEmmanuel Vadot
1017ef62cebSEmmanuel Vadot  - if:
1027ef62cebSEmmanuel Vadot      properties:
1037ef62cebSEmmanuel Vadot        compatible:
1047ef62cebSEmmanuel Vadot          contains:
1057ef62cebSEmmanuel Vadot            const: fsl,imx8mp-vpu-blk-ctrl
1067ef62cebSEmmanuel Vadot    then:
1077ef62cebSEmmanuel Vadot      properties:
1087ef62cebSEmmanuel Vadot        power-domains:
1097ef62cebSEmmanuel Vadot          items:
1107ef62cebSEmmanuel Vadot            - description: bus power domain
1117ef62cebSEmmanuel Vadot            - description: G1 decoder power domain
1127ef62cebSEmmanuel Vadot            - description: G2 decoder power domain
1137ef62cebSEmmanuel Vadot            - description: VC8000E encoder power domain
1147ef62cebSEmmanuel Vadot
1157ef62cebSEmmanuel Vadot        power-domain-names:
1167ef62cebSEmmanuel Vadot          items:
1177ef62cebSEmmanuel Vadot            - const: bus
1187ef62cebSEmmanuel Vadot            - const: g1
1197ef62cebSEmmanuel Vadot            - const: g2
1207ef62cebSEmmanuel Vadot            - const: vc8000e
1217ef62cebSEmmanuel Vadot
1227ef62cebSEmmanuel Vadot        clocks:
1237ef62cebSEmmanuel Vadot          items:
1247ef62cebSEmmanuel Vadot            - description: G1 decoder clk
1257ef62cebSEmmanuel Vadot            - description: G2 decoder clk
1267ef62cebSEmmanuel Vadot            - description: VC8000E encoder clk
1277ef62cebSEmmanuel Vadot
1287ef62cebSEmmanuel Vadot        clock-names:
1297ef62cebSEmmanuel Vadot          items:
1307ef62cebSEmmanuel Vadot            - const: g1
1317ef62cebSEmmanuel Vadot            - const: g2
1327ef62cebSEmmanuel Vadot            - const: vc8000e
1337ef62cebSEmmanuel Vadot
1347ef62cebSEmmanuel Vadot        interconnects:
1357ef62cebSEmmanuel Vadot          items:
1367ef62cebSEmmanuel Vadot            - description: G1 decoder interconnect
1377ef62cebSEmmanuel Vadot            - description: G2 decoder interconnect
1387ef62cebSEmmanuel Vadot            - description: VC8000E encoder interconnect
1397ef62cebSEmmanuel Vadot
1407ef62cebSEmmanuel Vadot        interconnect-names:
1417ef62cebSEmmanuel Vadot          items:
1427ef62cebSEmmanuel Vadot            - const: g1
1437ef62cebSEmmanuel Vadot            - const: g2
1447ef62cebSEmmanuel Vadot            - const: vc8000e
1458cc087a1SEmmanuel Vadot
1468cc087a1SEmmanuel VadotadditionalProperties: false
1478cc087a1SEmmanuel Vadot
1488cc087a1SEmmanuel Vadotexamples:
1498cc087a1SEmmanuel Vadot  - |
1508cc087a1SEmmanuel Vadot    #include <dt-bindings/clock/imx8mm-clock.h>
1518cc087a1SEmmanuel Vadot    #include <dt-bindings/power/imx8mm-power.h>
1528cc087a1SEmmanuel Vadot
153*fac71e4eSEmmanuel Vadot    blk-ctrl@38330000 {
1548cc087a1SEmmanuel Vadot      compatible = "fsl,imx8mm-vpu-blk-ctrl", "syscon";
1558cc087a1SEmmanuel Vadot      reg = <0x38330000 0x100>;
1568cc087a1SEmmanuel Vadot      power-domains = <&pgc_vpumix>, <&pgc_vpu_g1>,
1578cc087a1SEmmanuel Vadot                      <&pgc_vpu_g2>, <&pgc_vpu_h1>;
1588cc087a1SEmmanuel Vadot      power-domain-names = "bus", "g1", "g2", "h1";
1598cc087a1SEmmanuel Vadot      clocks = <&clk IMX8MM_CLK_VPU_G1_ROOT>,
1608cc087a1SEmmanuel Vadot               <&clk IMX8MM_CLK_VPU_G2_ROOT>,
1618cc087a1SEmmanuel Vadot               <&clk IMX8MM_CLK_VPU_H1_ROOT>;
1628cc087a1SEmmanuel Vadot      clock-names = "g1", "g2", "h1";
1638cc087a1SEmmanuel Vadot      #power-domain-cells = <1>;
1648cc087a1SEmmanuel Vadot    };
165