本章介绍rk3568点亮LVDS屏幕。
1.根据屏幕的规格说明书计算出clock-frequency等参数
一般只需要计算出以下参数即可
timing0: timing0 {
clock-frequency = <51200000>;
hactive = <1024>;
vactive = <600>;
hback-porch = <160>;
hfront-porch = <140>;
vback-porch = <23>;
vfront-porch = <10>;
hsync-len = <20>;
vsync-len = <2>;
}
下面给出点亮屏幕的详细设备树代码
#include "rk3568-evb1-ddr4-v10-linux.dts"
/{
lvds_panel: lvds-panel {
compatible = "simple-panel";
backlight = <&backlight>;
power-supply = <&vcc3v3_lcd0_n>;
enable-delay-ms = <20>;
prepare-delay-ms = <20>;
unprepare-delay-ms = <20>;
disable-delay-ms = <20>;
//bus-format = <MEDIA_BUS_FMT_RGB888_1X7X4_SPWG>;
width-mm = <230>;
height-mm = <150>;
status="okay";
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <51206400>;
hactive = <1024>;
vactive = <600>;
hback-porch = <160>;
hfront-porch = <140>;
vback-porch = <23>;
vfront-porch = <10>;
hsync-len = <20>;
vsync-len = <2>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
dual-lvds-even-pixels;
panel_in_lvds: endpoint {
remote-endpoint = <&lvds_out_panel>;
};
};
};
};
};
&dsi0 {
status = "disabled";
};
&dsi0_in_vp0 {
status = "disabled";
};
&dsi0_in_vp1 {
status = "disabled";
};
&video_phy0 {
status = "okay";
};
&lvds {
status = "okay";
ports {
port@1 {
reg = <1>;
lvds_out_panel: endpoint {
remote-endpoint = <&panel_in_lvds>;
};
};
};
};
&lvds_in_vp1 {
status = "okay";
};
&lvds_in_vp2 {
status = "disabled";
};
&route_lvds {
status = "okay";
connect = <&vp1_out_lvds>;
};