xref: /freebsd-src/sys/contrib/device-tree/Bindings/soc/imx/fsl,imx8mp-media-blk-ctrl.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
1d5b0e70fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2d5b0e70fSEmmanuel Vadot%YAML 1.2
3d5b0e70fSEmmanuel Vadot---
4d5b0e70fSEmmanuel Vadot$id: http://devicetree.org/schemas/soc/imx/fsl,imx8mp-media-blk-ctrl.yaml#
5d5b0e70fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6d5b0e70fSEmmanuel Vadot
7d5b0e70fSEmmanuel Vadottitle: NXP i.MX8MP Media Block Control
8d5b0e70fSEmmanuel Vadot
9d5b0e70fSEmmanuel Vadotmaintainers:
10d5b0e70fSEmmanuel Vadot  - Paul Elder <paul.elder@ideasonboard.com>
11d5b0e70fSEmmanuel Vadot
12d5b0e70fSEmmanuel Vadotdescription:
13d5b0e70fSEmmanuel Vadot  The i.MX8MP Media Block Control (MEDIA BLK_CTRL) is a top-level peripheral
14d5b0e70fSEmmanuel Vadot  providing access to the NoC and ensuring proper power sequencing of the
15d5b0e70fSEmmanuel Vadot  peripherals within the MEDIAMIX domain.
16d5b0e70fSEmmanuel Vadot
17d5b0e70fSEmmanuel Vadotproperties:
18d5b0e70fSEmmanuel Vadot  compatible:
19d5b0e70fSEmmanuel Vadot    items:
20d5b0e70fSEmmanuel Vadot      - const: fsl,imx8mp-media-blk-ctrl
21d5b0e70fSEmmanuel Vadot      - const: syscon
22d5b0e70fSEmmanuel Vadot
23d5b0e70fSEmmanuel Vadot  reg:
24d5b0e70fSEmmanuel Vadot    maxItems: 1
25d5b0e70fSEmmanuel Vadot
26*fac71e4eSEmmanuel Vadot  '#address-cells':
27*fac71e4eSEmmanuel Vadot    const: 1
28*fac71e4eSEmmanuel Vadot
29*fac71e4eSEmmanuel Vadot  '#size-cells':
30*fac71e4eSEmmanuel Vadot    const: 1
31*fac71e4eSEmmanuel Vadot
32d5b0e70fSEmmanuel Vadot  '#power-domain-cells':
33d5b0e70fSEmmanuel Vadot    const: 1
34d5b0e70fSEmmanuel Vadot
35d5b0e70fSEmmanuel Vadot  power-domains:
36d5b0e70fSEmmanuel Vadot    maxItems: 10
37d5b0e70fSEmmanuel Vadot
38d5b0e70fSEmmanuel Vadot  power-domain-names:
39d5b0e70fSEmmanuel Vadot    items:
40d5b0e70fSEmmanuel Vadot      - const: bus
41d5b0e70fSEmmanuel Vadot      - const: mipi-dsi1
42d5b0e70fSEmmanuel Vadot      - const: mipi-csi1
43d5b0e70fSEmmanuel Vadot      - const: lcdif1
44d5b0e70fSEmmanuel Vadot      - const: isi
45d5b0e70fSEmmanuel Vadot      - const: mipi-csi2
46d5b0e70fSEmmanuel Vadot      - const: lcdif2
47d5b0e70fSEmmanuel Vadot      - const: isp
48d5b0e70fSEmmanuel Vadot      - const: dwe
49d5b0e70fSEmmanuel Vadot      - const: mipi-dsi2
50d5b0e70fSEmmanuel Vadot
51d5b0e70fSEmmanuel Vadot  clocks:
52d5b0e70fSEmmanuel Vadot    items:
53d5b0e70fSEmmanuel Vadot      - description: The APB clock
54d5b0e70fSEmmanuel Vadot      - description: The AXI clock
55d5b0e70fSEmmanuel Vadot      - description: The pixel clock for the first CSI2 receiver (aclk)
56d5b0e70fSEmmanuel Vadot      - description: The pixel clock for the second CSI2 receiver (aclk)
57d5b0e70fSEmmanuel Vadot      - description: The pixel clock for the first LCDIF (pix_clk)
58d5b0e70fSEmmanuel Vadot      - description: The pixel clock for the second LCDIF (pix_clk)
59d5b0e70fSEmmanuel Vadot      - description: The core clock for the ISP (clk)
60d5b0e70fSEmmanuel Vadot      - description: The MIPI-PHY reference clock used by DSI
61d5b0e70fSEmmanuel Vadot
62d5b0e70fSEmmanuel Vadot  clock-names:
63d5b0e70fSEmmanuel Vadot    items:
64d5b0e70fSEmmanuel Vadot      - const: apb
65d5b0e70fSEmmanuel Vadot      - const: axi
66d5b0e70fSEmmanuel Vadot      - const: cam1
67d5b0e70fSEmmanuel Vadot      - const: cam2
68d5b0e70fSEmmanuel Vadot      - const: disp1
69d5b0e70fSEmmanuel Vadot      - const: disp2
70d5b0e70fSEmmanuel Vadot      - const: isp
71d5b0e70fSEmmanuel Vadot      - const: phy
72d5b0e70fSEmmanuel Vadot
737ef62cebSEmmanuel Vadot  interconnects:
747ef62cebSEmmanuel Vadot    maxItems: 8
757ef62cebSEmmanuel Vadot
767ef62cebSEmmanuel Vadot  interconnect-names:
777ef62cebSEmmanuel Vadot    items:
787ef62cebSEmmanuel Vadot      - const: lcdif-rd
797ef62cebSEmmanuel Vadot      - const: lcdif-wr
807ef62cebSEmmanuel Vadot      - const: isi0
817ef62cebSEmmanuel Vadot      - const: isi1
827ef62cebSEmmanuel Vadot      - const: isi2
837ef62cebSEmmanuel Vadot      - const: isp0
847ef62cebSEmmanuel Vadot      - const: isp1
857ef62cebSEmmanuel Vadot      - const: dwe
867ef62cebSEmmanuel Vadot
87*fac71e4eSEmmanuel Vadot  bridge@5c:
88*fac71e4eSEmmanuel Vadot    type: object
89*fac71e4eSEmmanuel Vadot    $ref: /schemas/display/bridge/fsl,ldb.yaml#
90*fac71e4eSEmmanuel Vadot    unevaluatedProperties: false
91*fac71e4eSEmmanuel Vadot
92d5b0e70fSEmmanuel Vadotrequired:
93d5b0e70fSEmmanuel Vadot  - compatible
94d5b0e70fSEmmanuel Vadot  - reg
95*fac71e4eSEmmanuel Vadot  - '#address-cells'
96*fac71e4eSEmmanuel Vadot  - '#size-cells'
97d5b0e70fSEmmanuel Vadot  - '#power-domain-cells'
98d5b0e70fSEmmanuel Vadot  - power-domains
99d5b0e70fSEmmanuel Vadot  - power-domain-names
100d5b0e70fSEmmanuel Vadot  - clocks
101d5b0e70fSEmmanuel Vadot  - clock-names
102d5b0e70fSEmmanuel Vadot
103d5b0e70fSEmmanuel VadotadditionalProperties: false
104d5b0e70fSEmmanuel Vadot
105d5b0e70fSEmmanuel Vadotexamples:
106d5b0e70fSEmmanuel Vadot  - |
107d5b0e70fSEmmanuel Vadot    #include <dt-bindings/clock/imx8mp-clock.h>
108d5b0e70fSEmmanuel Vadot    #include <dt-bindings/power/imx8mp-power.h>
109d5b0e70fSEmmanuel Vadot
110*fac71e4eSEmmanuel Vadot    blk-ctrl@32ec0000 {
111d5b0e70fSEmmanuel Vadot        compatible = "fsl,imx8mp-media-blk-ctrl", "syscon";
112d5b0e70fSEmmanuel Vadot        reg = <0x32ec0000 0x138>;
113d5b0e70fSEmmanuel Vadot        power-domains = <&mediamix_pd>, <&mipi_phy1_pd>, <&mipi_phy1_pd>,
114d5b0e70fSEmmanuel Vadot                        <&mediamix_pd>, <&mediamix_pd>, <&mipi_phy2_pd>,
115d5b0e70fSEmmanuel Vadot                        <&mediamix_pd>, <&ispdwp_pd>, <&ispdwp_pd>,
116d5b0e70fSEmmanuel Vadot                        <&mipi_phy2_pd>;
117d5b0e70fSEmmanuel Vadot        power-domain-names = "bus", "mipi-dsi1", "mipi-csi1", "lcdif1", "isi",
118d5b0e70fSEmmanuel Vadot                             "mipi-csi2", "lcdif2", "isp", "dwe", "mipi-dsi2";
119d5b0e70fSEmmanuel Vadot        clocks = <&clk IMX8MP_CLK_MEDIA_APB_ROOT>,
120d5b0e70fSEmmanuel Vadot                 <&clk IMX8MP_CLK_MEDIA_AXI_ROOT>,
121d5b0e70fSEmmanuel Vadot                 <&clk IMX8MP_CLK_MEDIA_CAM1_PIX_ROOT>,
122d5b0e70fSEmmanuel Vadot                 <&clk IMX8MP_CLK_MEDIA_CAM2_PIX_ROOT>,
123d5b0e70fSEmmanuel Vadot                 <&clk IMX8MP_CLK_MEDIA_DISP1_PIX_ROOT>,
124d5b0e70fSEmmanuel Vadot                 <&clk IMX8MP_CLK_MEDIA_DISP2_PIX_ROOT>,
125d5b0e70fSEmmanuel Vadot                 <&clk IMX8MP_CLK_MEDIA_ISP_ROOT>,
126d5b0e70fSEmmanuel Vadot                 <&clk IMX8MP_CLK_MEDIA_MIPI_PHY1_REF_ROOT>;
127d5b0e70fSEmmanuel Vadot        clock-names = "apb", "axi", "cam1", "cam2", "disp1", "disp2",
128d5b0e70fSEmmanuel Vadot                      "isp", "phy";
129d5b0e70fSEmmanuel Vadot        #power-domain-cells = <1>;
130*fac71e4eSEmmanuel Vadot        #address-cells = <1>;
131*fac71e4eSEmmanuel Vadot        #size-cells = <1>;
132*fac71e4eSEmmanuel Vadot
133*fac71e4eSEmmanuel Vadot        bridge@5c {
134*fac71e4eSEmmanuel Vadot            compatible = "fsl,imx8mp-ldb";
135*fac71e4eSEmmanuel Vadot            reg = <0x5c 0x4>, <0x128 0x4>;
136*fac71e4eSEmmanuel Vadot            reg-names = "ldb", "lvds";
137*fac71e4eSEmmanuel Vadot            clocks = <&clk IMX8MP_CLK_MEDIA_LDB>;
138*fac71e4eSEmmanuel Vadot            clock-names = "ldb";
139*fac71e4eSEmmanuel Vadot
140*fac71e4eSEmmanuel Vadot            ports {
141*fac71e4eSEmmanuel Vadot                #address-cells = <1>;
142*fac71e4eSEmmanuel Vadot                #size-cells = <0>;
143*fac71e4eSEmmanuel Vadot
144*fac71e4eSEmmanuel Vadot                port@0 {
145*fac71e4eSEmmanuel Vadot                    reg = <0>;
146*fac71e4eSEmmanuel Vadot
147*fac71e4eSEmmanuel Vadot                    ldb_from_lcdif2: endpoint {
148*fac71e4eSEmmanuel Vadot                        remote-endpoint = <&lcdif2_to_ldb>;
149*fac71e4eSEmmanuel Vadot                    };
150*fac71e4eSEmmanuel Vadot                };
151*fac71e4eSEmmanuel Vadot
152*fac71e4eSEmmanuel Vadot                port@1 {
153*fac71e4eSEmmanuel Vadot                    reg = <1>;
154*fac71e4eSEmmanuel Vadot
155*fac71e4eSEmmanuel Vadot                    ldb_lvds_ch0: endpoint {
156*fac71e4eSEmmanuel Vadot                        remote-endpoint = <&ldb_to_lvdsx4panel>;
157*fac71e4eSEmmanuel Vadot                    };
158*fac71e4eSEmmanuel Vadot                };
159*fac71e4eSEmmanuel Vadot
160*fac71e4eSEmmanuel Vadot                port@2 {
161*fac71e4eSEmmanuel Vadot                    reg = <2>;
162*fac71e4eSEmmanuel Vadot
163*fac71e4eSEmmanuel Vadot                    ldb_lvds_ch1: endpoint {
164*fac71e4eSEmmanuel Vadot                    };
165*fac71e4eSEmmanuel Vadot                };
166*fac71e4eSEmmanuel Vadot            };
167*fac71e4eSEmmanuel Vadot        };
168d5b0e70fSEmmanuel Vadot    };
169d5b0e70fSEmmanuel Vadot...
170