xref: /freebsd/sys/contrib/device-tree/Bindings/display/bridge/fsl,ldb.yaml (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
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:
19cb7aa33aSEmmanuel Vadot    enum:
20*f126890aSEmmanuel Vadot      - fsl,imx6sx-ldb
21cb7aa33aSEmmanuel Vadot      - fsl,imx8mp-ldb
22cb7aa33aSEmmanuel Vadot      - fsl,imx93-ldb
23d5b0e70fSEmmanuel Vadot
24d5b0e70fSEmmanuel Vadot  clocks:
25d5b0e70fSEmmanuel Vadot    maxItems: 1
26d5b0e70fSEmmanuel Vadot
27d5b0e70fSEmmanuel Vadot  clock-names:
28d5b0e70fSEmmanuel Vadot    const: ldb
29d5b0e70fSEmmanuel Vadot
30b97ee269SEmmanuel Vadot  reg:
31b97ee269SEmmanuel Vadot    maxItems: 2
32b97ee269SEmmanuel Vadot
33b97ee269SEmmanuel Vadot  reg-names:
34b97ee269SEmmanuel Vadot    items:
35b97ee269SEmmanuel Vadot      - const: ldb
36b97ee269SEmmanuel Vadot      - const: lvds
37b97ee269SEmmanuel Vadot
38d5b0e70fSEmmanuel Vadot  ports:
39d5b0e70fSEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
40d5b0e70fSEmmanuel Vadot
41d5b0e70fSEmmanuel Vadot    properties:
42d5b0e70fSEmmanuel Vadot      port@0:
43d5b0e70fSEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
44d5b0e70fSEmmanuel Vadot        description: Video port for DPI input.
45d5b0e70fSEmmanuel Vadot
46d5b0e70fSEmmanuel Vadot      port@1:
47d5b0e70fSEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
48d5b0e70fSEmmanuel Vadot        description: Video port for LVDS Channel-A output (panel or bridge).
49d5b0e70fSEmmanuel Vadot
50d5b0e70fSEmmanuel Vadot      port@2:
51d5b0e70fSEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
52d5b0e70fSEmmanuel Vadot        description: Video port for LVDS Channel-B output (panel or bridge).
53d5b0e70fSEmmanuel Vadot
54d5b0e70fSEmmanuel Vadot    required:
55d5b0e70fSEmmanuel Vadot      - port@0
56d5b0e70fSEmmanuel Vadot      - port@1
57d5b0e70fSEmmanuel Vadot
58d5b0e70fSEmmanuel Vadotrequired:
59d5b0e70fSEmmanuel Vadot  - compatible
60d5b0e70fSEmmanuel Vadot  - clocks
61d5b0e70fSEmmanuel Vadot  - ports
62d5b0e70fSEmmanuel Vadot
63cb7aa33aSEmmanuel VadotallOf:
64cb7aa33aSEmmanuel Vadot  - if:
65cb7aa33aSEmmanuel Vadot      properties:
66cb7aa33aSEmmanuel Vadot        compatible:
67cb7aa33aSEmmanuel Vadot          contains:
68*f126890aSEmmanuel Vadot            enum:
69*f126890aSEmmanuel Vadot              - fsl,imx6sx-ldb
70*f126890aSEmmanuel Vadot              - fsl,imx93-ldb
71cb7aa33aSEmmanuel Vadot    then:
72cb7aa33aSEmmanuel Vadot      properties:
73cb7aa33aSEmmanuel Vadot        ports:
74cb7aa33aSEmmanuel Vadot          properties:
75cb7aa33aSEmmanuel Vadot            port@2: false
76cb7aa33aSEmmanuel Vadot
77d5b0e70fSEmmanuel VadotadditionalProperties: false
78d5b0e70fSEmmanuel Vadot
79d5b0e70fSEmmanuel Vadotexamples:
80d5b0e70fSEmmanuel Vadot  - |
81d5b0e70fSEmmanuel Vadot    #include <dt-bindings/clock/imx8mp-clock.h>
82d5b0e70fSEmmanuel Vadot
83d5b0e70fSEmmanuel Vadot    blk-ctrl {
84b97ee269SEmmanuel Vadot        #address-cells = <1>;
85b97ee269SEmmanuel Vadot        #size-cells = <1>;
86b97ee269SEmmanuel Vadot
87b97ee269SEmmanuel Vadot        bridge@5c {
88d5b0e70fSEmmanuel Vadot            compatible = "fsl,imx8mp-ldb";
89d5b0e70fSEmmanuel Vadot            clocks = <&clk IMX8MP_CLK_MEDIA_LDB>;
90d5b0e70fSEmmanuel Vadot            clock-names = "ldb";
91b97ee269SEmmanuel Vadot            reg = <0x5c 0x4>, <0x128 0x4>;
92b97ee269SEmmanuel Vadot            reg-names = "ldb", "lvds";
93d5b0e70fSEmmanuel Vadot
94d5b0e70fSEmmanuel Vadot            ports {
95d5b0e70fSEmmanuel Vadot                #address-cells = <1>;
96d5b0e70fSEmmanuel Vadot                #size-cells = <0>;
97d5b0e70fSEmmanuel Vadot
98d5b0e70fSEmmanuel Vadot                port@0 {
99d5b0e70fSEmmanuel Vadot                    reg = <0>;
100d5b0e70fSEmmanuel Vadot
101d5b0e70fSEmmanuel Vadot                    ldb_from_lcdif2: endpoint {
102d5b0e70fSEmmanuel Vadot                        remote-endpoint = <&lcdif2_to_ldb>;
103d5b0e70fSEmmanuel Vadot                    };
104d5b0e70fSEmmanuel Vadot                };
105d5b0e70fSEmmanuel Vadot
106d5b0e70fSEmmanuel Vadot                port@1 {
107d5b0e70fSEmmanuel Vadot                    reg = <1>;
108d5b0e70fSEmmanuel Vadot
109d5b0e70fSEmmanuel Vadot                    ldb_lvds_ch0: endpoint {
110d5b0e70fSEmmanuel Vadot                        remote-endpoint = <&ldb_to_lvdsx4panel>;
111d5b0e70fSEmmanuel Vadot                    };
112d5b0e70fSEmmanuel Vadot                };
113d5b0e70fSEmmanuel Vadot
114d5b0e70fSEmmanuel Vadot                port@2 {
115d5b0e70fSEmmanuel Vadot                    reg = <2>;
116d5b0e70fSEmmanuel Vadot
117d5b0e70fSEmmanuel Vadot                    ldb_lvds_ch1: endpoint {
118d5b0e70fSEmmanuel Vadot                    };
119d5b0e70fSEmmanuel Vadot                };
120d5b0e70fSEmmanuel Vadot            };
121d5b0e70fSEmmanuel Vadot        };
122d5b0e70fSEmmanuel Vadot    };
123