xref: /freebsd/sys/contrib/device-tree/Bindings/display/panel/display-timings.yaml (revision ec0ea6efa1ad229d75c394c1a9b9cac33af2b1d3)
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    allOf:
35      - $ref: panel-timing.yaml#
36
37additionalProperties: false
38
39examples:
40  - |+
41
42    /*
43     * Example that specifies panel timing using minimum, typical,
44     * maximum values as commonly used in datasheet description.
45     * timing1 is the native-mode.
46     */
47    display-timings {
48        native-mode = <&timing1>;
49        timing0 {
50            /* 1920x1080p24 */
51            clock-frequency = <148500000>;
52            hactive = <1920>;
53            vactive = <1080>;
54            hsync-len = <0 44 60>;
55            hfront-porch = <80 88 95>;
56            hback-porch = <100 148 160>;
57            vfront-porch = <0 4 6>;
58            vback-porch = <0 36 50>;
59            vsync-len = <0 5 6>;
60        };
61        timing1 {
62            /* 1920x1080p24 */
63            clock-frequency = <52000000>;
64            hactive = <1920>;
65            vactive = <1080>;
66            hfront-porch = <25>;
67            hback-porch = <25>;
68            hsync-len = <0 25 25>;
69            vback-porch = <2>;
70            vfront-porch = <2>;
71            vsync-len = <2>;
72            hsync-active = <1>;
73            pixelclk-active = <1>;
74        };
75    };
76
77...
78