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