18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/display/panel/advantech,idk-2121wr.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Advantech IDK-2121WR 21.5" Full-HD dual-LVDS panel
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
118c2ecf20Sopenharmony_ci  - Thierry Reding <thierry.reding@gmail.com>
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_cidescription: |
148c2ecf20Sopenharmony_ci  The IDK-2121WR from Advantech is a Full-HD dual-LVDS panel.
158c2ecf20Sopenharmony_ci  A dual-LVDS interface is a dual-link connection with even pixels traveling
168c2ecf20Sopenharmony_ci  on one link, and with odd pixels traveling on the other link.
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci  The panel expects odd pixels on the first port, and even pixels on the
198c2ecf20Sopenharmony_ci  second port, therefore the ports must be marked accordingly (with either
208c2ecf20Sopenharmony_ci  dual-lvds-odd-pixels or dual-lvds-even-pixels).
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ciproperties:
238c2ecf20Sopenharmony_ci  compatible:
248c2ecf20Sopenharmony_ci    items:
258c2ecf20Sopenharmony_ci      - const: advantech,idk-2121wr
268c2ecf20Sopenharmony_ci      - {} # panel-lvds, but not listed here to avoid false select
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci  width-mm:
298c2ecf20Sopenharmony_ci    const: 476
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci  height-mm:
328c2ecf20Sopenharmony_ci    const: 268
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci  data-mapping:
358c2ecf20Sopenharmony_ci    const: vesa-24
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci  panel-timing: true
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci  ports:
408c2ecf20Sopenharmony_ci    type: object
418c2ecf20Sopenharmony_ci    properties:
428c2ecf20Sopenharmony_ci      port@0:
438c2ecf20Sopenharmony_ci        type: object
448c2ecf20Sopenharmony_ci        description: The sink for odd pixels.
458c2ecf20Sopenharmony_ci        properties:
468c2ecf20Sopenharmony_ci          reg:
478c2ecf20Sopenharmony_ci            const: 0
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci          dual-lvds-odd-pixels: true
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ci        required:
528c2ecf20Sopenharmony_ci          - reg
538c2ecf20Sopenharmony_ci          - dual-lvds-odd-pixels
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_ci      port@1:
568c2ecf20Sopenharmony_ci        type: object
578c2ecf20Sopenharmony_ci        description: The sink for even pixels.
588c2ecf20Sopenharmony_ci        properties:
598c2ecf20Sopenharmony_ci          reg:
608c2ecf20Sopenharmony_ci            const: 1
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ci          dual-lvds-even-pixels: true
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ci        required:
658c2ecf20Sopenharmony_ci          - reg
668c2ecf20Sopenharmony_ci          - dual-lvds-even-pixels
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ciadditionalProperties: false
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_cirequired:
718c2ecf20Sopenharmony_ci  - compatible
728c2ecf20Sopenharmony_ci  - width-mm
738c2ecf20Sopenharmony_ci  - height-mm
748c2ecf20Sopenharmony_ci  - data-mapping
758c2ecf20Sopenharmony_ci  - panel-timing
768c2ecf20Sopenharmony_ci  - ports
778c2ecf20Sopenharmony_ci
788c2ecf20Sopenharmony_ciexamples:
798c2ecf20Sopenharmony_ci  - |+
808c2ecf20Sopenharmony_ci    panel-lvds {
818c2ecf20Sopenharmony_ci      compatible = "advantech,idk-2121wr", "panel-lvds";
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ci      width-mm = <476>;
848c2ecf20Sopenharmony_ci      height-mm = <268>;
858c2ecf20Sopenharmony_ci
868c2ecf20Sopenharmony_ci      data-mapping = "vesa-24";
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ci      panel-timing {
898c2ecf20Sopenharmony_ci        clock-frequency = <148500000>;
908c2ecf20Sopenharmony_ci        hactive = <1920>;
918c2ecf20Sopenharmony_ci        vactive = <1080>;
928c2ecf20Sopenharmony_ci        hsync-len = <44>;
938c2ecf20Sopenharmony_ci        hfront-porch = <88>;
948c2ecf20Sopenharmony_ci        hback-porch = <148>;
958c2ecf20Sopenharmony_ci        vfront-porch = <4>;
968c2ecf20Sopenharmony_ci        vback-porch = <36>;
978c2ecf20Sopenharmony_ci        vsync-len = <5>;
988c2ecf20Sopenharmony_ci      };
998c2ecf20Sopenharmony_ci
1008c2ecf20Sopenharmony_ci      ports {
1018c2ecf20Sopenharmony_ci        #address-cells = <1>;
1028c2ecf20Sopenharmony_ci        #size-cells = <0>;
1038c2ecf20Sopenharmony_ci
1048c2ecf20Sopenharmony_ci        port@0 {
1058c2ecf20Sopenharmony_ci          reg = <0>;
1068c2ecf20Sopenharmony_ci          dual-lvds-odd-pixels;
1078c2ecf20Sopenharmony_ci          panel_in0: endpoint {
1088c2ecf20Sopenharmony_ci            remote-endpoint = <&lvds0_out>;
1098c2ecf20Sopenharmony_ci          };
1108c2ecf20Sopenharmony_ci        };
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ci        port@1 {
1138c2ecf20Sopenharmony_ci          reg = <1>;
1148c2ecf20Sopenharmony_ci          dual-lvds-even-pixels;
1158c2ecf20Sopenharmony_ci          panel_in1: endpoint {
1168c2ecf20Sopenharmony_ci            remote-endpoint = <&lvds1_out>;
1178c2ecf20Sopenharmony_ci          };
1188c2ecf20Sopenharmony_ci        };
1198c2ecf20Sopenharmony_ci      };
1208c2ecf20Sopenharmony_ci    };
1218c2ecf20Sopenharmony_ci
1228c2ecf20Sopenharmony_ci...
123