xref: /freebsd/sys/contrib/device-tree/Bindings/display/bridge/fsl,ldb.yaml (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
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/display/bridge/fsl,ldb.yaml#
5d5b0e70fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6d5b0e70fSEmmanuel Vadot
7d5b0e70fSEmmanuel Vadottitle: Freescale i.MX8MP DPI to LVDS bridge chip
8d5b0e70fSEmmanuel Vadot
9d5b0e70fSEmmanuel Vadotmaintainers:
10d5b0e70fSEmmanuel Vadot  - Marek Vasut <marex@denx.de>
11d5b0e70fSEmmanuel Vadot
12d5b0e70fSEmmanuel Vadotdescription: |
13d5b0e70fSEmmanuel Vadot  The i.MX8MP mediamix contains two registers which are responsible
14d5b0e70fSEmmanuel Vadot  for configuring the on-SoC DPI-to-LVDS serializer. This describes
15d5b0e70fSEmmanuel Vadot  those registers as bridge within the DT.
16d5b0e70fSEmmanuel Vadot
17d5b0e70fSEmmanuel Vadotproperties:
18d5b0e70fSEmmanuel Vadot  compatible:
19*cb7aa33aSEmmanuel Vadot    enum:
20*cb7aa33aSEmmanuel Vadot      - fsl,imx8mp-ldb
21*cb7aa33aSEmmanuel Vadot      - fsl,imx93-ldb
22d5b0e70fSEmmanuel Vadot
23d5b0e70fSEmmanuel Vadot  clocks:
24d5b0e70fSEmmanuel Vadot    maxItems: 1
25d5b0e70fSEmmanuel Vadot
26d5b0e70fSEmmanuel Vadot  clock-names:
27d5b0e70fSEmmanuel Vadot    const: ldb
28d5b0e70fSEmmanuel Vadot
29b97ee269SEmmanuel Vadot  reg:
30b97ee269SEmmanuel Vadot    maxItems: 2
31b97ee269SEmmanuel Vadot
32b97ee269SEmmanuel Vadot  reg-names:
33b97ee269SEmmanuel Vadot    items:
34b97ee269SEmmanuel Vadot      - const: ldb
35b97ee269SEmmanuel Vadot      - const: lvds
36b97ee269SEmmanuel Vadot
37d5b0e70fSEmmanuel Vadot  ports:
38d5b0e70fSEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
39d5b0e70fSEmmanuel Vadot
40d5b0e70fSEmmanuel Vadot    properties:
41d5b0e70fSEmmanuel Vadot      port@0:
42d5b0e70fSEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
43d5b0e70fSEmmanuel Vadot        description: Video port for DPI input.
44d5b0e70fSEmmanuel Vadot
45d5b0e70fSEmmanuel Vadot      port@1:
46d5b0e70fSEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
47d5b0e70fSEmmanuel Vadot        description: Video port for LVDS Channel-A output (panel or bridge).
48d5b0e70fSEmmanuel Vadot
49d5b0e70fSEmmanuel Vadot      port@2:
50d5b0e70fSEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
51d5b0e70fSEmmanuel Vadot        description: Video port for LVDS Channel-B output (panel or bridge).
52d5b0e70fSEmmanuel Vadot
53d5b0e70fSEmmanuel Vadot    required:
54d5b0e70fSEmmanuel Vadot      - port@0
55d5b0e70fSEmmanuel Vadot      - port@1
56d5b0e70fSEmmanuel Vadot
57d5b0e70fSEmmanuel Vadotrequired:
58d5b0e70fSEmmanuel Vadot  - compatible
59d5b0e70fSEmmanuel Vadot  - clocks
60d5b0e70fSEmmanuel Vadot  - ports
61d5b0e70fSEmmanuel Vadot
62*cb7aa33aSEmmanuel VadotallOf:
63*cb7aa33aSEmmanuel Vadot  - if:
64*cb7aa33aSEmmanuel Vadot      properties:
65*cb7aa33aSEmmanuel Vadot        compatible:
66*cb7aa33aSEmmanuel Vadot          contains:
67*cb7aa33aSEmmanuel Vadot            const: fsl,imx93-ldb
68*cb7aa33aSEmmanuel Vadot    then:
69*cb7aa33aSEmmanuel Vadot      properties:
70*cb7aa33aSEmmanuel Vadot        ports:
71*cb7aa33aSEmmanuel Vadot          properties:
72*cb7aa33aSEmmanuel Vadot            port@2: false
73*cb7aa33aSEmmanuel Vadot
74d5b0e70fSEmmanuel VadotadditionalProperties: false
75d5b0e70fSEmmanuel Vadot
76d5b0e70fSEmmanuel Vadotexamples:
77d5b0e70fSEmmanuel Vadot  - |
78d5b0e70fSEmmanuel Vadot    #include <dt-bindings/clock/imx8mp-clock.h>
79d5b0e70fSEmmanuel Vadot
80d5b0e70fSEmmanuel Vadot    blk-ctrl {
81b97ee269SEmmanuel Vadot        #address-cells = <1>;
82b97ee269SEmmanuel Vadot        #size-cells = <1>;
83b97ee269SEmmanuel Vadot
84b97ee269SEmmanuel Vadot        bridge@5c {
85d5b0e70fSEmmanuel Vadot            compatible = "fsl,imx8mp-ldb";
86d5b0e70fSEmmanuel Vadot            clocks = <&clk IMX8MP_CLK_MEDIA_LDB>;
87d5b0e70fSEmmanuel Vadot            clock-names = "ldb";
88b97ee269SEmmanuel Vadot            reg = <0x5c 0x4>, <0x128 0x4>;
89b97ee269SEmmanuel Vadot            reg-names = "ldb", "lvds";
90d5b0e70fSEmmanuel Vadot
91d5b0e70fSEmmanuel Vadot            ports {
92d5b0e70fSEmmanuel Vadot                #address-cells = <1>;
93d5b0e70fSEmmanuel Vadot                #size-cells = <0>;
94d5b0e70fSEmmanuel Vadot
95d5b0e70fSEmmanuel Vadot                port@0 {
96d5b0e70fSEmmanuel Vadot                    reg = <0>;
97d5b0e70fSEmmanuel Vadot
98d5b0e70fSEmmanuel Vadot                    ldb_from_lcdif2: endpoint {
99d5b0e70fSEmmanuel Vadot                        remote-endpoint = <&lcdif2_to_ldb>;
100d5b0e70fSEmmanuel Vadot                    };
101d5b0e70fSEmmanuel Vadot                };
102d5b0e70fSEmmanuel Vadot
103d5b0e70fSEmmanuel Vadot                port@1 {
104d5b0e70fSEmmanuel Vadot                    reg = <1>;
105d5b0e70fSEmmanuel Vadot
106d5b0e70fSEmmanuel Vadot                    ldb_lvds_ch0: endpoint {
107d5b0e70fSEmmanuel Vadot                        remote-endpoint = <&ldb_to_lvdsx4panel>;
108d5b0e70fSEmmanuel Vadot                    };
109d5b0e70fSEmmanuel Vadot                };
110d5b0e70fSEmmanuel Vadot
111d5b0e70fSEmmanuel Vadot                port@2 {
112d5b0e70fSEmmanuel Vadot                    reg = <2>;
113d5b0e70fSEmmanuel Vadot
114d5b0e70fSEmmanuel Vadot                    ldb_lvds_ch1: endpoint {
115d5b0e70fSEmmanuel Vadot                    };
116d5b0e70fSEmmanuel Vadot                };
117d5b0e70fSEmmanuel Vadot            };
118d5b0e70fSEmmanuel Vadot        };
119d5b0e70fSEmmanuel Vadot    };
120