mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-01 06:39:05 +00:00

The VS signal change is synchronized to HS signal change, start the info graphics with that event, instead of having that event occur in the middle of it. Scope trace of DPI bus with HS/VS active HIGH looks as follows: ________________...__ VS...___/__ __ \______... HS...___/ \_______/ \__...__/ \___... ^ ^ | | | Used to start here -' | '--- Start info graphics here Signed-off-by: Marek Vasut <marex@denx.de> Reviewed-by: Sam Ravnborg <sam@ravnborg.org> Acked-by: Rob Herring <robh@kernel.org> Link: https://patchwork.freedesktop.org/patch/msgid/20230221200407.16531-1-marex@denx.de
215 lines
6.8 KiB
YAML
215 lines
6.8 KiB
YAML
# 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
|
|
|
|
...
|