# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/panel-timing.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: panel timing

maintainers:
  - Thierry Reding <thierry.reding@gmail.com>
  - Sam Ravnborg <sam@ravnborg.org>

description: |
  There are different ways of describing the timing data of a panel. The
  devicetree representation corresponds to the one commonly found in datasheets
  for panels.

  The parameters are defined as seen in the following illustration.

  +-------+----------+-------------------------------------+----------+
  |       |          |        ^                            |          |
  |       |          |        |vsync_len                   |          |
  |       |          |        v                            |          |
  +-------+----------+-------------------------------------+----------+
  |       |          |        ^                            |          |
  |       |          |        |vback_porch                 |          |
  |       |          |        v                            |          |
  +-------+----------#######################################----------+
  |       |          #        ^                            #          |
  |       |          #        |                            #          |
  | hsync |  hback   #        |                            #  hfront  |
  |  len  |   porch  #        |       hactive              #  porch   |
  |<----->|<-------->#<-------+--------------------------->#<-------->|
  |       |          #        |                            #          |
  |       |          #        |vactive                     #          |
  |       |          #        |                            #          |
  |       |          #        v                            #          |
  +-------+----------#######################################----------+
  |       |          |        ^                            |          |
  |       |          |        |vfront_porch                |          |
  |       |          |        v                            |          |
  +-------+----------+-------------------------------------+----------+


  The following is the panel timings shown with time on the x-axis.
  This matches the timing diagrams often found in data sheets.

              Active                 Front           Sync           Back
              Region                 Porch                          Porch
  <-----------------------><----------------><-------------><-------------->
    //////////////////////|
   ////////////////////// |
  //////////////////////  |..................               ................
                                             _______________

  Timing can be specified either as a typical value or as a tuple
  of min, typ, max values.

properties:

  clock-frequency:
    description: Panel clock in Hz

  hactive:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Horizontal panel resolution in pixels

  vactive:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Vertical panel resolution in pixels

  hfront-porch:
    description: Horizontal front porch panel timing
    $ref: /schemas/types.yaml#/definitions/uint32-array
    oneOf:
      - maxItems: 1
        items:
          description: typical number of pixels
      - minItems: 3
        maxItems: 3
        items:
          description: min, typ, max number of pixels

  hback-porch:
    description: Horizontal back porch timing
    $ref: /schemas/types.yaml#/definitions/uint32-array
    oneOf:
      - maxItems: 1
        items:
          description: typical number of pixels
      - minItems: 3
        maxItems: 3
        items:
          description: min, typ, max number of pixels

  hsync-len:
    description: Horizontal sync length panel timing
    $ref: /schemas/types.yaml#/definitions/uint32-array
    oneOf:
      - maxItems: 1
        items:
          description: typical number of pixels
      - minItems: 3
        maxItems: 3
        items:
          description: min, typ, max number of pixels

  vfront-porch:
    description: Vertical front porch panel timing
    $ref: /schemas/types.yaml#/definitions/uint32-array
    oneOf:
      - maxItems: 1
        items:
          description: typical number of lines
      - minItems: 3
        maxItems: 3
        items:
          description: min, typ, max number of lines

  vback-porch:
    description: Vertical back porch panel timing
    $ref: /schemas/types.yaml#/definitions/uint32-array
    oneOf:
      - maxItems: 1
        items:
          description: typical number of lines
      - minItems: 3
        maxItems: 3
        items:
          description: min, typ, max number of lines

  vsync-len:
    description: Vertical sync length panel timing
    $ref: /schemas/types.yaml#/definitions/uint32-array
    oneOf:
      - maxItems: 1
        items:
          description: typical number of lines
      - minItems: 3
        maxItems: 3
        items:
          description: min, typ, max number of lines

  hsync-active:
    description: |
      Horizontal sync pulse.
      0 selects active low, 1 selects active high.
      If omitted then it is not used by the hardware
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 1]

  vsync-active:
    description: |
      Vertical sync pulse.
      0 selects active low, 1 selects active high.
      If omitted then it is not used by the hardware
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 1]

  de-active:
    description: |
      Data enable.
      0 selects active low, 1 selects active high.
      If omitted then it is not used by the hardware
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 1]

  pixelclk-active:
    description: |
      Data driving on rising or falling edge.
      Use 0 to drive pixel data on falling edge and
      sample data on rising edge.
      Use 1 to drive pixel data on rising edge and
      sample data on falling edge
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 1]

  syncclk-active:
    description: |
      Drive sync on rising or sample sync on falling edge.
      If not specified then the setup is as specified by pixelclk-active.
      Use 0 to drive sync on falling edge and
      sample sync on rising edge of pixel clock.
      Use 1 to drive sync on rising edge and
      sample sync on falling edge of pixel clock
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 1]

  interlaced:
    type: boolean
    description: Enable interlaced mode

  doublescan:
    type: boolean
    description: Enable double scan mode

  doubleclk:
    type: boolean
    description: Enable double clock mode

required:
  - clock-frequency
  - hactive
  - vactive
  - hfront-porch
  - hback-porch
  - hsync-len
  - vfront-porch
  - vback-porch
  - vsync-len

additionalProperties: false

...
