xref: /freebsd/sys/contrib/device-tree/Bindings/display/panel/display-timings.yaml (revision b197d4b893974c9eb4d7b38704c6d5c486235d6f)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/display/panel/display-timings.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: display timings bindings
8
9maintainers:
10  - Thierry Reding <thierry.reding@gmail.com>
11  - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
12  - Sam Ravnborg <sam@ravnborg.org>
13
14description: |
15  A display panel may be able to handle several display timings,
16  with different resolutions.
17  The display-timings node makes it possible to specify the timings
18  and to specify the timing that is native for the display.
19
20properties:
21  $nodename:
22    const: display-timings
23
24  native-mode:
25    $ref: /schemas/types.yaml#/definitions/phandle
26    description: |
27      The default display timing is the one specified as native-mode.
28      If no native-mode is specified then the first node is assumed
29      to be the native mode.
30
31patternProperties:
32  "^timing":
33    type: object
34    $ref: panel-timing.yaml#
35
36additionalProperties: false
37
38examples:
39  - |+
40
41    /*
42     * Example that specifies panel timing using minimum, typical,
43     * maximum values as commonly used in datasheet description.
44     * timing1 is the native-mode.
45     */
46    display-timings {
47        native-mode = <&timing1>;
48        timing0 {
49            /* 1920x1080p24 */
50            clock-frequency = <148500000>;
51            hactive = <1920>;
52            vactive = <1080>;
53            hsync-len = <0 44 60>;
54            hfront-porch = <80 88 95>;
55            hback-porch = <100 148 160>;
56            vfront-porch = <0 4 6>;
57            vback-porch = <0 36 50>;
58            vsync-len = <0 5 6>;
59        };
60        timing1 {
61            /* 1920x1080p24 */
62            clock-frequency = <52000000>;
63            hactive = <1920>;
64            vactive = <1080>;
65            hfront-porch = <25>;
66            hback-porch = <25>;
67            hsync-len = <0 25 25>;
68            vback-porch = <2>;
69            vfront-porch = <2>;
70            vsync-len = <2>;
71            hsync-active = <1>;
72            pixelclk-active = <1>;
73        };
74    };
75
76...
77