xref: /openbmc/linux/Documentation/devicetree/bindings/display/panel/display-timings.yaml (revision 7ae9fb1b7ecbb5d85d07857943f677fd1a559b18)
14dd23a47SSam Ravnborg# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
24dd23a47SSam Ravnborg%YAML 1.2
34dd23a47SSam Ravnborg---
44dd23a47SSam Ravnborg$id: http://devicetree.org/schemas/display/panel/display-timings.yaml#
54dd23a47SSam Ravnborg$schema: http://devicetree.org/meta-schemas/core.yaml#
64dd23a47SSam Ravnborg
7*84e85359SKrzysztof Kozlowskititle: display timings
84dd23a47SSam Ravnborg
94dd23a47SSam Ravnborgmaintainers:
104dd23a47SSam Ravnborg  - Thierry Reding <thierry.reding@gmail.com>
114dd23a47SSam Ravnborg  - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
124dd23a47SSam Ravnborg  - Sam Ravnborg <sam@ravnborg.org>
134dd23a47SSam Ravnborg
144dd23a47SSam Ravnborgdescription: |
154dd23a47SSam Ravnborg  A display panel may be able to handle several display timings,
164dd23a47SSam Ravnborg  with different resolutions.
1792e513fbSSam Ravnborg  The display-timings node makes it possible to specify the timings
184dd23a47SSam Ravnborg  and to specify the timing that is native for the display.
194dd23a47SSam Ravnborg
204dd23a47SSam Ravnborgproperties:
214dd23a47SSam Ravnborg  $nodename:
224dd23a47SSam Ravnborg    const: display-timings
234dd23a47SSam Ravnborg
244dd23a47SSam Ravnborg  native-mode:
254dd23a47SSam Ravnborg    $ref: /schemas/types.yaml#/definitions/phandle
264dd23a47SSam Ravnborg    description: |
274dd23a47SSam Ravnborg      The default display timing is the one specified as native-mode.
2892e513fbSSam Ravnborg      If no native-mode is specified then the first node is assumed
2992e513fbSSam Ravnborg      to be the native mode.
304dd23a47SSam Ravnborg
314dd23a47SSam RavnborgpatternProperties:
324dd23a47SSam Ravnborg  "^timing":
334dd23a47SSam Ravnborg    type: object
34dca66935SRob Herring    $ref: panel-timing.yaml#
354dd23a47SSam Ravnborg
364dd23a47SSam RavnborgadditionalProperties: false
374dd23a47SSam Ravnborg
384dd23a47SSam Ravnborgexamples:
394dd23a47SSam Ravnborg  - |+
404dd23a47SSam Ravnborg
414dd23a47SSam Ravnborg    /*
424dd23a47SSam Ravnborg     * Example that specifies panel timing using minimum, typical,
434dd23a47SSam Ravnborg     * maximum values as commonly used in datasheet description.
444dd23a47SSam Ravnborg     * timing1 is the native-mode.
454dd23a47SSam Ravnborg     */
464dd23a47SSam Ravnborg    display-timings {
474dd23a47SSam Ravnborg        native-mode = <&timing1>;
484dd23a47SSam Ravnborg        timing0 {
494dd23a47SSam Ravnborg            /* 1920x1080p24 */
504dd23a47SSam Ravnborg            clock-frequency = <148500000>;
514dd23a47SSam Ravnborg            hactive = <1920>;
524dd23a47SSam Ravnborg            vactive = <1080>;
534dd23a47SSam Ravnborg            hsync-len = <0 44 60>;
544dd23a47SSam Ravnborg            hfront-porch = <80 88 95>;
554dd23a47SSam Ravnborg            hback-porch = <100 148 160>;
564dd23a47SSam Ravnborg            vfront-porch = <0 4 6>;
574dd23a47SSam Ravnborg            vback-porch = <0 36 50>;
584dd23a47SSam Ravnborg            vsync-len = <0 5 6>;
594dd23a47SSam Ravnborg        };
604dd23a47SSam Ravnborg        timing1 {
614dd23a47SSam Ravnborg            /* 1920x1080p24 */
624dd23a47SSam Ravnborg            clock-frequency = <52000000>;
634dd23a47SSam Ravnborg            hactive = <1920>;
644dd23a47SSam Ravnborg            vactive = <1080>;
654dd23a47SSam Ravnborg            hfront-porch = <25>;
664dd23a47SSam Ravnborg            hback-porch = <25>;
674dd23a47SSam Ravnborg            hsync-len = <0 25 25>;
684dd23a47SSam Ravnborg            vback-porch = <2>;
694dd23a47SSam Ravnborg            vfront-porch = <2>;
704dd23a47SSam Ravnborg            vsync-len = <2>;
714dd23a47SSam Ravnborg            hsync-active = <1>;
724dd23a47SSam Ravnborg            pixelclk-active = <1>;
734dd23a47SSam Ravnborg        };
744dd23a47SSam Ravnborg    };
754dd23a47SSam Ravnborg
764dd23a47SSam Ravnborg...
77