Kernel-3.10.0-957.el7_display-timing

display-timing bindings

display-timings node

required properties:

  • none

optional properties:

  • native-mode: The native mode for the display, in case multiple modes are
     provided. When omitted, assume the first node is the native.
    

timing subnode

required properties:

  • hactive, vactive: display resolution
  • hfront-porch, hback-porch, hsync-len: horizontal display timing parameters
    in pixels
    vfront-porch, vback-porch, vsync-len: vertical display timing parameters in
    lines
  • clock-frequency: display clock in Hz

optional properties:

  • hsync-active: hsync pulse is active low/high/ignored
  • vsync-active: vsync pulse is active low/high/ignored
  • de-active: data-enable pulse is active low/high/ignored
  • pixelclk-active: with
         - active high = drive pixel data on rising edge/
                 sample data on falling edge
         - active low  = drive pixel data on falling edge/
                 sample data on rising edge
         - ignored     = ignored
    
  • interlaced (bool): boolean to enable interlaced mode
  • doublescan (bool): boolean to enable doublescan mode

All the optional properties that are not bool follow the following logic:
<1>: high active
<0>: low active
omitted: not used on hardware

There are different ways of describing the capabilities of a display. The
devicetree representation corresponds to the one commonly found in datasheets
for displays. If a display supports multiple signal timings, the native-mode
can be specified.

The parameters are defined as:

+———-+————————————-+———-+——-+
| | ↑ | | |
| | |vback_porch | | |
| | ↓ | | |
+———-#######################################———-+——-+
| # ↑ # | |
| # | # | |
| hback # | # hfront | hsync |
| porch # | hactive # porch | len |
|<——–>#<——-+—————————>#<——–>|<—–>|
| # | # | |
| # |vactive # | |
| # | # | |
| # ↓ # | |
+———-#######################################———-+——-+
| | ↑ | | |
| | |vfront_porch | | |
| | ↓ | | |
+———-+————————————-+———-+——-+
| | ↑ | | |
| | |vsync_len | | |
| | ↓ | | |
+———-+————————————-+———-+——-+

Example:

display-timings {
    native-mode = <&timing0>;
    timing0: 1080p24 {
        /* 1920x1080p24 */
        clock-frequency = <52000000>;
        hactive = <1920>;
        vactive = <1080>;
        hfront-porch = <25>;
        hback-porch = <25>;
        hsync-len = <25>;
        vback-porch = <2>;
        vfront-porch = <2>;
        vsync-len = <2>;
        hsync-active = <1>;
    };
};

Every required property also supports the use of ranges, so the commonly used
datasheet description with minimum, typical and maximum values can be used.

Example:

timing1: timing {
    /* 1920x1080p24 */
    clock-frequency = <148500000>;
    hactive = <1920>;
    vactive = <1080>;
    hsync-len = <0 44 60>;
    hfront-porch = <80 88 95>;
    hback-porch = <100 148 160>;
    vfront-porch = <0 4 6>;
    vback-porch = <0 36 50>;
    vsync-len = <0 5 6>;
};