1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: NXP i.MX8MP HDMI blk-ctrl
8
9maintainers:
10  - Lucas Stach <l.stach@pengutronix.de>
11
12description:
13  The i.MX8MP HDMMI blk-ctrl is a top-level peripheral providing access to
14  the NoC and ensuring proper power sequencing of the display pipeline
15  peripherals located in the HDMI domain of the SoC.
16
17properties:
18  compatible:
19    items:
20      - const: fsl,imx8mp-hdmi-blk-ctrl
21      - const: syscon
22
23  reg:
24    maxItems: 1
25
26  '#power-domain-cells':
27    const: 1
28
29  power-domains:
30    minItems: 8
31    maxItems: 8
32
33  power-domain-names:
34    items:
35      - const: bus
36      - const: irqsteer
37      - const: lcdif
38      - const: pai
39      - const: pvi
40      - const: trng
41      - const: hdmi-tx
42      - const: hdmi-tx-phy
43
44  clocks:
45    minItems: 4
46    maxItems: 4
47
48  clock-names:
49    items:
50      - const: apb
51      - const: axi
52      - const: ref_266m
53      - const: ref_24m
54
55  interconnects:
56    maxItems: 3
57
58  interconnect-names:
59    items:
60      - const: hrv
61      - const: lcdif-hdmi
62      - const: hdcp
63
64required:
65  - compatible
66  - reg
67  - power-domains
68  - power-domain-names
69  - clocks
70  - clock-names
71
72additionalProperties: false
73
74examples:
75  - |
76    #include <dt-bindings/clock/imx8mp-clock.h>
77    #include <dt-bindings/power/imx8mp-power.h>
78
79    blk-ctrl@32fc0000 {
80        compatible = "fsl,imx8mp-hdmi-blk-ctrl", "syscon";
81        reg = <0x32fc0000 0x23c>;
82        clocks = <&clk IMX8MP_CLK_HDMI_APB>,
83                 <&clk IMX8MP_CLK_HDMI_ROOT>,
84                 <&clk IMX8MP_CLK_HDMI_REF_266M>,
85                 <&clk IMX8MP_CLK_HDMI_24M>;
86        clock-names = "apb", "axi", "ref_266m", "ref_24m";
87        power-domains = <&pgc_hdmimix>, <&pgc_hdmimix>, <&pgc_hdmimix>,
88                        <&pgc_hdmimix>, <&pgc_hdmimix>, <&pgc_hdmimix>,
89                        <&pgc_hdmimix>, <&pgc_hdmi_phy>;
90        power-domain-names = "bus", "irqsteer", "lcdif", "pai", "pvi", "trng",
91                             "hdmi-tx", "hdmi-tx-phy";
92        #power-domain-cells = <1>;
93    };
94