| # 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 | |
| ... |