hc
2024-10-12 a5969cabbb4660eab42b6ef0412cbbd1200cf14d
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
# 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:
    type: object
    properties:
      port@0:
        type: object
        description: The sink for odd pixels.
        properties:
          reg:
            const: 0
 
          dual-lvds-odd-pixels: true
 
        required:
          - reg
          - dual-lvds-odd-pixels
 
      port@1:
        type: object
        description: The sink for even pixels.
        properties:
          reg:
            const: 1
 
          dual-lvds-even-pixels: true
 
        required:
          - reg
          - dual-lvds-even-pixels
 
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>;
          };
        };
      };
    };
 
...