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