166651867SMarek Vasut# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
266651867SMarek Vasut%YAML 1.2
366651867SMarek Vasut---
466651867SMarek Vasut$id: http://devicetree.org/schemas/display/bridge/fsl,ldb.yaml#
566651867SMarek Vasut$schema: http://devicetree.org/meta-schemas/core.yaml#
666651867SMarek Vasut
766651867SMarek Vasuttitle: Freescale i.MX8MP DPI to LVDS bridge chip
866651867SMarek Vasut
966651867SMarek Vasutmaintainers:
1066651867SMarek Vasut  - Marek Vasut <marex@denx.de>
1166651867SMarek Vasut
1266651867SMarek Vasutdescription: |
1366651867SMarek Vasut  The i.MX8MP mediamix contains two registers which are responsible
1466651867SMarek Vasut  for configuring the on-SoC DPI-to-LVDS serializer. This describes
1566651867SMarek Vasut  those registers as bridge within the DT.
1666651867SMarek Vasut
1766651867SMarek Vasutproperties:
1866651867SMarek Vasut  compatible:
195e68a0caSLiu Ying    enum:
20*f85f2ce5SFabio Estevam      - fsl,imx6sx-ldb
215e68a0caSLiu Ying      - fsl,imx8mp-ldb
225e68a0caSLiu Ying      - fsl,imx93-ldb
2366651867SMarek Vasut
2466651867SMarek Vasut  clocks:
2566651867SMarek Vasut    maxItems: 1
2666651867SMarek Vasut
2766651867SMarek Vasut  clock-names:
2866651867SMarek Vasut    const: ldb
2966651867SMarek Vasut
3016c8d76aSMarek Vasut  reg:
3116c8d76aSMarek Vasut    maxItems: 2
3216c8d76aSMarek Vasut
3316c8d76aSMarek Vasut  reg-names:
3416c8d76aSMarek Vasut    items:
3516c8d76aSMarek Vasut      - const: ldb
3616c8d76aSMarek Vasut      - const: lvds
3716c8d76aSMarek Vasut
3866651867SMarek Vasut  ports:
3966651867SMarek Vasut    $ref: /schemas/graph.yaml#/properties/ports
4066651867SMarek Vasut
4166651867SMarek Vasut    properties:
4266651867SMarek Vasut      port@0:
4366651867SMarek Vasut        $ref: /schemas/graph.yaml#/properties/port
4466651867SMarek Vasut        description: Video port for DPI input.
4566651867SMarek Vasut
4666651867SMarek Vasut      port@1:
4766651867SMarek Vasut        $ref: /schemas/graph.yaml#/properties/port
4866651867SMarek Vasut        description: Video port for LVDS Channel-A output (panel or bridge).
4966651867SMarek Vasut
5066651867SMarek Vasut      port@2:
5166651867SMarek Vasut        $ref: /schemas/graph.yaml#/properties/port
5266651867SMarek Vasut        description: Video port for LVDS Channel-B output (panel or bridge).
5366651867SMarek Vasut
5466651867SMarek Vasut    required:
5566651867SMarek Vasut      - port@0
5666651867SMarek Vasut      - port@1
5766651867SMarek Vasut
5866651867SMarek Vasutrequired:
5966651867SMarek Vasut  - compatible
6066651867SMarek Vasut  - clocks
6166651867SMarek Vasut  - ports
6266651867SMarek Vasut
635e68a0caSLiu YingallOf:
645e68a0caSLiu Ying  - if:
655e68a0caSLiu Ying      properties:
665e68a0caSLiu Ying        compatible:
675e68a0caSLiu Ying          contains:
68*f85f2ce5SFabio Estevam            enum:
69*f85f2ce5SFabio Estevam              - fsl,imx6sx-ldb
70*f85f2ce5SFabio Estevam              - fsl,imx93-ldb
715e68a0caSLiu Ying    then:
725e68a0caSLiu Ying      properties:
735e68a0caSLiu Ying        ports:
745e68a0caSLiu Ying          properties:
755e68a0caSLiu Ying            port@2: false
765e68a0caSLiu Ying
7766651867SMarek VasutadditionalProperties: false
7866651867SMarek Vasut
7966651867SMarek Vasutexamples:
8066651867SMarek Vasut  - |
8166651867SMarek Vasut    #include <dt-bindings/clock/imx8mp-clock.h>
8266651867SMarek Vasut
8366651867SMarek Vasut    blk-ctrl {
8416c8d76aSMarek Vasut        #address-cells = <1>;
8516c8d76aSMarek Vasut        #size-cells = <1>;
8616c8d76aSMarek Vasut
8716c8d76aSMarek Vasut        bridge@5c {
8866651867SMarek Vasut            compatible = "fsl,imx8mp-ldb";
8966651867SMarek Vasut            clocks = <&clk IMX8MP_CLK_MEDIA_LDB>;
9066651867SMarek Vasut            clock-names = "ldb";
9116c8d76aSMarek Vasut            reg = <0x5c 0x4>, <0x128 0x4>;
9216c8d76aSMarek Vasut            reg-names = "ldb", "lvds";
9366651867SMarek Vasut
9466651867SMarek Vasut            ports {
9566651867SMarek Vasut                #address-cells = <1>;
9666651867SMarek Vasut                #size-cells = <0>;
9766651867SMarek Vasut
9866651867SMarek Vasut                port@0 {
9966651867SMarek Vasut                    reg = <0>;
10066651867SMarek Vasut
10166651867SMarek Vasut                    ldb_from_lcdif2: endpoint {
10266651867SMarek Vasut                        remote-endpoint = <&lcdif2_to_ldb>;
10366651867SMarek Vasut                    };
10466651867SMarek Vasut                };
10566651867SMarek Vasut
10666651867SMarek Vasut                port@1 {
10766651867SMarek Vasut                    reg = <1>;
10866651867SMarek Vasut
10966651867SMarek Vasut                    ldb_lvds_ch0: endpoint {
11066651867SMarek Vasut                        remote-endpoint = <&ldb_to_lvdsx4panel>;
11166651867SMarek Vasut                    };
11266651867SMarek Vasut                };
11366651867SMarek Vasut
11466651867SMarek Vasut                port@2 {
11566651867SMarek Vasut                    reg = <2>;
11666651867SMarek Vasut
11766651867SMarek Vasut                    ldb_lvds_ch1: endpoint {
11866651867SMarek Vasut                    };
11966651867SMarek Vasut                };
12066651867SMarek Vasut            };
12166651867SMarek Vasut        };
12266651867SMarek Vasut    };
123