文档路径:
linux-imx-4.1.15\Documentation\devicetree\bindings\video\display-timing.txt
。
一、display-timings 节点
必须属性:
- 无
可选属性:
native-mode
:显示器的本机模式,如果提供多种模式。省略时,假定第一个节点是本机节点。
二、timing 子节点
必须属性:
hactive, vactive
:显示分辨率。hfront-porch, hback-porch, hsync-len
:水平显示时序参数(以像素为单位)。vfront-porch, vback-porch, vsync-len
:垂直显示时序参数(以像素为单位)。clock-frequency
:显示时钟(以Hz
为单位)。
可选属性:
hsync-active
:hsync
脉冲有效状态值low/high/ignored
。vsync-active
:vsync
脉冲有效状态值low/high/ignored
。de-active
:data-enable
脉冲有效状态值low/high/ignored
。pixelclk-active
:- 高电平有效:上升沿更新数据,下降沿采集数据。
- 低电平有效:下降沿更新数据,上升沿采集数据。
interlaced (bool)
:用于启用隔行扫描模式的布尔值。doublescan (bool)
:用于启用双扫描模式的布尔值。doubleclk (bool)
:启用双时钟模式的布尔值。
所有非 bool
的可选属性都遵循以下逻辑:
<1>
:高电平有效。<0>
:低电平有效。omitted
:未在硬件上使用。
有不同的方法来描述显示器的功能。设备树表示与用于显示的数据表中常见的设备树表示相对应。如果显示器支持多种信号计时,则可以指定本机模式。
参数定义为:
+----------+-------------------------------------+----------+-------+
| | ↑ | | |
| | |vback_porch | | |
| | ↓ | | |
+----------#######################################----------+-------+
| # ↑ # | |
| # | # | |
| hback # | # hfront | hsync |
| porch # | hactive # porch | len |
|<-------->#<-------+--------------------------->#<-------->|<----->|
| # | # | |
| # |vactive # | |
| # | # | |
| # ↓ # | |
+----------#######################################----------+-------+
| | ↑ | | |
| | |vfront_porch | | |
| | ↓ | | |
+----------+-------------------------------------+----------+-------+
| | ↑ | | |
| | |vsync_len | | |
| | ↓ | | |
+----------+-------------------------------------+----------+-------+
例如:
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>;
};
};
每个必需的属性也支持使用范围,因此可以使用带有最小值、典型值和最大值的常用数据表描述。
例如:
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>;
};