162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/display/bridge/fsl,ldb.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Freescale i.MX8MP DPI to LVDS bridge chip
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Marek Vasut <marex@denx.de>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription: |
1362306a36Sopenharmony_ci  The i.MX8MP mediamix contains two registers which are responsible
1462306a36Sopenharmony_ci  for configuring the on-SoC DPI-to-LVDS serializer. This describes
1562306a36Sopenharmony_ci  those registers as bridge within the DT.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciproperties:
1862306a36Sopenharmony_ci  compatible:
1962306a36Sopenharmony_ci    enum:
2062306a36Sopenharmony_ci      - fsl,imx6sx-ldb
2162306a36Sopenharmony_ci      - fsl,imx8mp-ldb
2262306a36Sopenharmony_ci      - fsl,imx93-ldb
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci  clocks:
2562306a36Sopenharmony_ci    maxItems: 1
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci  clock-names:
2862306a36Sopenharmony_ci    const: ldb
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci  reg:
3162306a36Sopenharmony_ci    maxItems: 2
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci  reg-names:
3462306a36Sopenharmony_ci    items:
3562306a36Sopenharmony_ci      - const: ldb
3662306a36Sopenharmony_ci      - const: lvds
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci  ports:
3962306a36Sopenharmony_ci    $ref: /schemas/graph.yaml#/properties/ports
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci    properties:
4262306a36Sopenharmony_ci      port@0:
4362306a36Sopenharmony_ci        $ref: /schemas/graph.yaml#/properties/port
4462306a36Sopenharmony_ci        description: Video port for DPI input.
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci      port@1:
4762306a36Sopenharmony_ci        $ref: /schemas/graph.yaml#/properties/port
4862306a36Sopenharmony_ci        description: Video port for LVDS Channel-A output (panel or bridge).
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci      port@2:
5162306a36Sopenharmony_ci        $ref: /schemas/graph.yaml#/properties/port
5262306a36Sopenharmony_ci        description: Video port for LVDS Channel-B output (panel or bridge).
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci    required:
5562306a36Sopenharmony_ci      - port@0
5662306a36Sopenharmony_ci      - port@1
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_cirequired:
5962306a36Sopenharmony_ci  - compatible
6062306a36Sopenharmony_ci  - clocks
6162306a36Sopenharmony_ci  - ports
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ciallOf:
6462306a36Sopenharmony_ci  - if:
6562306a36Sopenharmony_ci      properties:
6662306a36Sopenharmony_ci        compatible:
6762306a36Sopenharmony_ci          contains:
6862306a36Sopenharmony_ci            enum:
6962306a36Sopenharmony_ci              - fsl,imx6sx-ldb
7062306a36Sopenharmony_ci              - fsl,imx93-ldb
7162306a36Sopenharmony_ci    then:
7262306a36Sopenharmony_ci      properties:
7362306a36Sopenharmony_ci        ports:
7462306a36Sopenharmony_ci          properties:
7562306a36Sopenharmony_ci            port@2: false
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ciadditionalProperties: false
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ciexamples:
8062306a36Sopenharmony_ci  - |
8162306a36Sopenharmony_ci    #include <dt-bindings/clock/imx8mp-clock.h>
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ci    blk-ctrl {
8462306a36Sopenharmony_ci        #address-cells = <1>;
8562306a36Sopenharmony_ci        #size-cells = <1>;
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci        bridge@5c {
8862306a36Sopenharmony_ci            compatible = "fsl,imx8mp-ldb";
8962306a36Sopenharmony_ci            clocks = <&clk IMX8MP_CLK_MEDIA_LDB>;
9062306a36Sopenharmony_ci            clock-names = "ldb";
9162306a36Sopenharmony_ci            reg = <0x5c 0x4>, <0x128 0x4>;
9262306a36Sopenharmony_ci            reg-names = "ldb", "lvds";
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci            ports {
9562306a36Sopenharmony_ci                #address-cells = <1>;
9662306a36Sopenharmony_ci                #size-cells = <0>;
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ci                port@0 {
9962306a36Sopenharmony_ci                    reg = <0>;
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci                    ldb_from_lcdif2: endpoint {
10262306a36Sopenharmony_ci                        remote-endpoint = <&lcdif2_to_ldb>;
10362306a36Sopenharmony_ci                    };
10462306a36Sopenharmony_ci                };
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_ci                port@1 {
10762306a36Sopenharmony_ci                    reg = <1>;
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ci                    ldb_lvds_ch0: endpoint {
11062306a36Sopenharmony_ci                        remote-endpoint = <&ldb_to_lvdsx4panel>;
11162306a36Sopenharmony_ci                    };
11262306a36Sopenharmony_ci                };
11362306a36Sopenharmony_ci
11462306a36Sopenharmony_ci                port@2 {
11562306a36Sopenharmony_ci                    reg = <2>;
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_ci                    ldb_lvds_ch1: endpoint {
11862306a36Sopenharmony_ci                    };
11962306a36Sopenharmony_ci                };
12062306a36Sopenharmony_ci            };
12162306a36Sopenharmony_ci        };
12262306a36Sopenharmony_ci    };
123