summaryrefslogtreecommitdiffstats
path: root/dts/Bindings/display/panel/advantech,idk-2121wr.yaml
blob: 67682fe77f1014216144d935c51db2424ba5bcb7 (plain)
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
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/advantech,idk-2121wr.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Advantech IDK-2121WR 21.5" Full-HD dual-LVDS panel

maintainers:
  - Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
  - Thierry Reding <thierry.reding@gmail.com>

description: |
  The IDK-2121WR from Advantech is a Full-HD dual-LVDS panel.
  A dual-LVDS interface is a dual-link connection with even pixels traveling
  on one link, and with odd pixels traveling on the other link.

  The panel expects odd pixels on the first port, and even pixels on the
  second port, therefore the ports must be marked accordingly (with either
  dual-lvds-odd-pixels or dual-lvds-even-pixels).

properties:
  compatible:
    items:
      - const: advantech,idk-2121wr
      - {} # panel-lvds, but not listed here to avoid false select

  width-mm:
    const: 476

  height-mm:
    const: 268

  data-mapping:
    const: vesa-24

  panel-timing: true

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

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/$defs/port-base
        unevaluatedProperties: false
        description: The sink for odd pixels.
        properties:
          dual-lvds-odd-pixels: true

        required:
          - dual-lvds-odd-pixels

      port@1:
        $ref: /schemas/graph.yaml#/$defs/port-base
        unevaluatedProperties: false
        description: The sink for even pixels.
        properties:
          dual-lvds-even-pixels: true

        required:
          - dual-lvds-even-pixels

    required:
      - port@0
      - port@1

additionalProperties: false

required:
  - compatible
  - width-mm
  - height-mm
  - data-mapping
  - panel-timing
  - ports

examples:
  - |+
    panel-lvds {
      compatible = "advantech,idk-2121wr", "panel-lvds";

      width-mm = <476>;
      height-mm = <268>;

      data-mapping = "vesa-24";

      panel-timing {
        clock-frequency = <148500000>;
        hactive = <1920>;
        vactive = <1080>;
        hsync-len = <44>;
        hfront-porch = <88>;
        hback-porch = <148>;
        vfront-porch = <4>;
        vback-porch = <36>;
        vsync-len = <5>;
      };

      ports {
        #address-cells = <1>;
        #size-cells = <0>;

        port@0 {
          reg = <0>;
          dual-lvds-odd-pixels;
          panel_in0: endpoint {
            remote-endpoint = <&lvds0_out>;
          };
        };

        port@1 {
          reg = <1>;
          dual-lvds-even-pixels;
          panel_in1: endpoint {
            remote-endpoint = <&lvds1_out>;
          };
        };
      };
    };

...