Documentation / devicetree / bindings / display / bridge / fsl,ldb.yaml


Based on kernel version 7.2. Page generated on 2026-08-20 08:41 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/bridge/fsl,ldb.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Freescale i.MX8MP DPI to LVDS bridge chip

maintainers:
  - Marek Vasut <marex@denx.de>

description: |
  The i.MX8MP mediamix contains two registers which are responsible
  for configuring the on-SoC DPI-to-LVDS serializer. This describes
  those registers as bridge within the DT.

properties:
  compatible:
    enum:
      - fsl,imx6sx-ldb
      - fsl,imx8mp-ldb
      - fsl,imx93-ldb

  clocks:
    maxItems: 1

  clock-names:
    const: ldb

  reg:
    maxItems: 2

  reg-names:
    items:
      - const: ldb
      - const: lvds

  nxp,enable-termination-resistor:
    type: boolean
    description:
      Indicates that the built-in 100 Ohm termination resistor on the LVDS
      output is enabled. This property is optional and controlled via the
      HS_EN bit in the LVDS_CTRL register. Enabling it can improve signal
      quality and prevent visual artifacts on some boards, but increases
      power consumption.

  ports:
    $ref: /schemas/graph.yaml#/properties/ports

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/properties/port
        description: Video port for DPI input.

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
        description: Video port for LVDS Channel-A output (panel or bridge).

      port@2:
        $ref: /schemas/graph.yaml#/properties/port
        description: Video port for LVDS Channel-B output (panel or bridge).

    required:
      - port@0
      - port@1

required:
  - compatible
  - clocks
  - ports
  - reg

allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - fsl,imx6sx-ldb
              - fsl,imx93-ldb
    then:
      properties:
        ports:
          properties:
            port@2: false
  - if:
      not:
        properties:
          compatible:
            contains:
              const: fsl,imx6sx-ldb
    then:
      required:
        - reg-names

  - if:
      properties:
        compatible:
          contains:
            const: fsl,imx6sx-ldb
    then:
      properties:
        nxp,enable-termination-resistor: false

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/imx8mp-clock.h>
 
    blk-ctrl {
        #address-cells = <1>;
        #size-cells = <1>;
 
        bridge@5c {
            compatible = "fsl,imx8mp-ldb";
            clocks = <&clk IMX8MP_CLK_MEDIA_LDB>;
            clock-names = "ldb";
            reg = <0x5c 0x4>, <0x128 0x4>;
            reg-names = "ldb", "lvds";
 
            ports {
                #address-cells = <1>;
                #size-cells = <0>;
 
                port@0 {
                    reg = <0>;
 
                    ldb_from_lcdif2: endpoint {
                        remote-endpoint = <&lcdif2_to_ldb>;
                    };
                };
 
                port@1 {
                    reg = <1>;
 
                    ldb_lvds_ch0: endpoint {
                        remote-endpoint = <&ldb_to_lvdsx4panel>;
                    };
                };
 
                port@2 {
                    reg = <2>;
 
                    ldb_lvds_ch1: endpoint {
                    };
                };
            };
        };
    };