mirror of
https://github.com/torvalds/linux.git
synced 2024-12-27 21:33:00 +00:00
efdbd7345f
This is a quite large renaming to consolidate display related bindings into a single "display" directory from various scattered locations of video, drm, gpu, fb, mipi, and panel. The prior location was somewhat based on the Linux driver location, but bindings should be independent of that. Signed-off-by: Rob Herring <robh@kernel.org> Cc: Pawel Moll <pawel.moll@arm.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Ian Campbell <ijc+devicetree@hellion.org.uk> Cc: Kumar Gala <galak@codeaurora.org>
111 lines
4.0 KiB
Plaintext
111 lines
4.0 KiB
Plaintext
display-timing bindings
|
|
=======================
|
|
|
|
display-timings node
|
|
--------------------
|
|
|
|
required properties:
|
|
- none
|
|
|
|
optional properties:
|
|
- native-mode: The native mode for the display, in case multiple modes are
|
|
provided. When omitted, assume the first node is the native.
|
|
|
|
timing subnode
|
|
--------------
|
|
|
|
required properties:
|
|
- hactive, vactive: display resolution
|
|
- hfront-porch, hback-porch, hsync-len: horizontal display timing parameters
|
|
in pixels
|
|
vfront-porch, vback-porch, vsync-len: vertical display timing parameters in
|
|
lines
|
|
- clock-frequency: display clock in Hz
|
|
|
|
optional properties:
|
|
- hsync-active: hsync pulse is active low/high/ignored
|
|
- vsync-active: vsync pulse is active low/high/ignored
|
|
- de-active: data-enable pulse is active low/high/ignored
|
|
- pixelclk-active: with
|
|
- active high = drive pixel data on rising edge/
|
|
sample data on falling edge
|
|
- active low = drive pixel data on falling edge/
|
|
sample data on rising edge
|
|
- ignored = ignored
|
|
- interlaced (bool): boolean to enable interlaced mode
|
|
- doublescan (bool): boolean to enable doublescan mode
|
|
- doubleclk (bool): boolean to enable doubleclock mode
|
|
|
|
All the optional properties that are not bool follow the following logic:
|
|
<1>: high active
|
|
<0>: low active
|
|
omitted: not used on hardware
|
|
|
|
There are different ways of describing the capabilities of a display. The
|
|
devicetree representation corresponds to the one commonly found in datasheets
|
|
for displays. If a display supports multiple signal timings, the native-mode
|
|
can be specified.
|
|
|
|
The parameters are defined as:
|
|
|
|
+----------+-------------------------------------+----------+-------+
|
|
| | ↑ | | |
|
|
| | |vback_porch | | |
|
|
| | ↓ | | |
|
|
+----------#######################################----------+-------+
|
|
| # ↑ # | |
|
|
| # | # | |
|
|
| hback # | # hfront | hsync |
|
|
| porch # | hactive # porch | len |
|
|
|<-------->#<-------+--------------------------->#<-------->|<----->|
|
|
| # | # | |
|
|
| # |vactive # | |
|
|
| # | # | |
|
|
| # ↓ # | |
|
|
+----------#######################################----------+-------+
|
|
| | ↑ | | |
|
|
| | |vfront_porch | | |
|
|
| | ↓ | | |
|
|
+----------+-------------------------------------+----------+-------+
|
|
| | ↑ | | |
|
|
| | |vsync_len | | |
|
|
| | ↓ | | |
|
|
+----------+-------------------------------------+----------+-------+
|
|
|
|
Example:
|
|
|
|
display-timings {
|
|
native-mode = <&timing0>;
|
|
timing0: 1080p24 {
|
|
/* 1920x1080p24 */
|
|
clock-frequency = <52000000>;
|
|
hactive = <1920>;
|
|
vactive = <1080>;
|
|
hfront-porch = <25>;
|
|
hback-porch = <25>;
|
|
hsync-len = <25>;
|
|
vback-porch = <2>;
|
|
vfront-porch = <2>;
|
|
vsync-len = <2>;
|
|
hsync-active = <1>;
|
|
};
|
|
};
|
|
|
|
Every required property also supports the use of ranges, so the commonly used
|
|
datasheet description with minimum, typical and maximum values can be used.
|
|
|
|
Example:
|
|
|
|
timing1: timing {
|
|
/* 1920x1080p24 */
|
|
clock-frequency = <148500000>;
|
|
hactive = <1920>;
|
|
vactive = <1080>;
|
|
hsync-len = <0 44 60>;
|
|
hfront-porch = <80 88 95>;
|
|
hback-porch = <100 148 160>;
|
|
vfront-porch = <0 4 6>;
|
|
vback-porch = <0 36 50>;
|
|
vsync-len = <0 5 6>;
|
|
};
|