关键词:rockchip; simple-panel; simple-panel-dsi;lcd; 显示屏驱动调试;
rockchip — Simple display panel dts配置
文章中display-timing的配置,请参考《ROCKCHIP — DISPLAY-TIMING DTS配置》
1、属性值配置:
- power-supply: 配置电源 - compatible: 可以配置成以下值: "simple-panel"; "simple-panel-dsi"; - ddc-i2c-bus: 给DDC EDID配置I2C控制器; - enable-gpios: 配置panel的使能脚; - reset-gpios: 配置panel的复位脚; - backlight: 指向背光的dts配置节点; - reset-delay-ms: 配置reset的脉冲时延; - enable-delay-ms: 配置panel显示前的延时值; - prepare-delay-ms: 配置panel接收图像数据前的延时值; - disable-delay-ms: 配置panel关闭前的延时值; - unprepare-delay-ms: 配置panel黑屏前的延时值; - width-mm: 配置panel的物理宽度尺寸[mm]; - height-mm: 配置panel的物理高度尺寸[mm]; - bpc: 配置像素点位深; - display-timings: 配置timing节点; - dsi,flags: 配置panel的使用的模式; - dsi,format: 配置panel像素格式; - dsi,lanes: 配置panel使用的lane数; - init-delay-ms: 配置panel在初始化前的延时值; - panel-init-sequence: byte 0: dcs 数据类型 byte 1: 指令发送之后的延时 byte 2: 指令长度 byte 3:数据 - panel-exit-sequence: byte 0: dcs 数据类型 byte 1: 指令发送之后的延时 byte 2: 指令长度 byte 3:数据 - power-invert:配置电源反转 if power-invert exist the panel power need to disable ldo when power on and enable ldo when power off otherwise it's opposite.
2、实例:
Example:
panel: panel {
compatible = "cptt,claa101wb01";
ddc-i2c-bus = <&panelddc>;
power-supply = <&vdd_pnl_reg>;
enable-gpios = <&gpio 90 0>;
backlight = <&backlight>;
};
Or:
&dsi {
panel@0 {
compatible = "simple-panel-dsi";
reg = <0>;
backlight = <&backlight>;
power-supply = <&vcc_lcd>;
enable-gpios = <&gpio2 27 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio3 13 GPIO_ACTIVE_LOW>;
reset-delay-ms = <120>;
init-delay-ms = <120>;
enable-delay-ms = <120>;
prepare-delay-ms = <120>;
disable-delay-ms = <120>;
unprepare-delay-ms = <120>;
dsi,flags = <MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
panel-init-sequence = [
39 00 10 b1 6c 15 15 24 E4 11 f1 80 e4
d7 23 80 c0 d2 58
...
05 78 01 11
05 78 01 29
];
panel-exit-sequence = [
05 00 01 28
05 78 01 10
];
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <160000000>;
hactive = <1200>;
vactive = <1920>;
hback-porch = <21>;
hfront-porch = <120>;
vback-porch = <18>;
vfront-porch = <21>;
hsync-len = <20>;
vsync-len = <3>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
};
};