linux/Documentation/devicetree/bindings/video/display-timing.txt
<<
>>
Prefs
   1display-timing bindings
   2=======================
   3
   4display-timings node
   5--------------------
   6
   7required properties:
   8 - none
   9
  10optional properties:
  11 - native-mode: The native mode for the display, in case multiple modes are
  12                provided. When omitted, assume the first node is the native.
  13
  14timing subnode
  15--------------
  16
  17required properties:
  18 - hactive, vactive: display resolution
  19 - hfront-porch, hback-porch, hsync-len: horizontal display timing parameters
  20   in pixels
  21   vfront-porch, vback-porch, vsync-len: vertical display timing parameters in
  22   lines
  23 - clock-frequency: display clock in Hz
  24
  25optional properties:
  26 - hsync-active: hsync pulse is active low/high/ignored
  27 - vsync-active: vsync pulse is active low/high/ignored
  28 - de-active: data-enable pulse is active low/high/ignored
  29 - pixelclk-active: with
  30                        - active high = drive pixel data on rising edge/
  31                                        sample data on falling edge
  32                        - active low  = drive pixel data on falling edge/
  33                                        sample data on rising edge
  34                        - ignored     = ignored
  35 - interlaced (bool): boolean to enable interlaced mode
  36 - doublescan (bool): boolean to enable doublescan mode
  37
  38All the optional properties that are not bool follow the following logic:
  39    <1>: high active
  40    <0>: low active
  41    omitted: not used on hardware
  42
  43There are different ways of describing the capabilities of a display. The
  44devicetree representation corresponds to the one commonly found in datasheets
  45for displays. If a display supports multiple signal timings, the native-mode
  46can be specified.
  47
  48The parameters are defined as:
  49
  50  +----------+-------------------------------------+----------+-------+
  51  |          |        \xE2\x86\x91                            |          |       |
  52  |          |        |vback_porch                 |          |       |
  53  |          |        \xE2\x86\x93                            |          |       |
  54  +----------#######################################----------+-------+
  55  |          #        \xE2\x86\x91                            #          |       |
  56  |          #        |                            #          |       |
  57  |  hback   #        |                            #  hfront  | hsync |
  58  |   porch  #        |       hactive              #  porch   |  len  |
  59  |<-------->#<-------+--------------------------->#<-------->|<----->|
  60  |          #        |                            #          |       |
  61  |          #        |vactive                     #          |       |
  62  |          #        |                            #          |       |
  63  |          #        \xE2\x86\x93                            #          |       |
  64  +----------#######################################----------+-------+
  65  |          |        \xE2\x86\x91                            |          |       |
  66  |          |        |vfront_porch                |          |       |
  67  |          |        \xE2\x86\x93                            |          |       |
  68  +----------+-------------------------------------+----------+-------+
  69  |          |        \xE2\x86\x91                            |          |       |
  70  |          |        |vsync_len                   |          |       |
  71  |          |        \xE2\x86\x93                            |          |       |
  72  +----------+-------------------------------------+----------+-------+
  73
  74Example:
  75
  76        display-timings {
  77                native-mode = <&timing0>;
  78                timing0: 1080p24 {
  79                        /* 1920x1080p24 */
  80                        clock-frequency = <52000000>;
  81                        hactive = <1920>;
  82                        vactive = <1080>;
  83                        hfront-porch = <25>;
  84                        hback-porch = <25>;
  85                        hsync-len = <25>;
  86                        vback-porch = <2>;
  87                        vfront-porch = <2>;
  88                        vsync-len = <2>;
  89                        hsync-active = <1>;
  90                };
  91        };
  92
  93Every required property also supports the use of ranges, so the commonly used
  94datasheet description with minimum, typical and maximum values can be used.
  95
  96Example:
  97
  98        timing1: timing {
  99                /* 1920x1080p24 */
 100                clock-frequency = <148500000>;
 101                hactive = <1920>;
 102                vactive = <1080>;
 103                hsync-len = <0 44 60>;
 104                hfront-porch = <80 88 95>;
 105                hback-porch = <100 148 160>;
 106                vfront-porch = <0 4 6>;
 107                vback-porch = <0 36 50>;
 108                vsync-len = <0 5 6>;
 109        };
 110