1.简介
我们有一个项目(rk PX30 android8.1)使用了一款4.3寸的RGB屏,所以需要在dts上配置屏相关的信息,使屏可以正常点亮。在此记录配置过程与遇到的问题,供以后学习查看
RK配置屏相关的文档一般放在 RKDocs\common\display 上,所以先查看一遍相关资料文档,心里大概就能清楚配置屏的七八分步骤与方法了
2.配置过程
一般配置屏前,是要先调亮背光的,但是因为此项目原先的背光IC坏了,硬件更换了IC,直接硬件上拉点亮屏幕了,主控IC没有控制了,所以在此没有记录,调试背光的步骤了。
2.1.查看硬件的原理图
2.2 查看RK的文档
由原理图可知我们使用了lcdc_m0的接口,所以查看文档相关配置说明
2.3 查看屏规格书
将上述RK文档中书写的配置,写进现在需要配置的设备dts上,接下来我们就要参考屏规格书,修改一些参数,就可以了
2.3.1 rgb节点
查看原理图是有18根信号脚接在m0口,在px30.dtsi上,我们可以看见有如下配置
所以,rgb节点修改为如下
&rgb {
pinctrl-names = "default";
pinctrl-0 = <&lcdc_rgb_dclk_pin
&lcdc_rgb_m0_hsync_pin
&lcdc_rgb_m0_vsync_pin
&lcdc_rgb_m0_den_pin
&lcdc_rgb666_m0_data_pins>; //修改此配置项
status = "okay";
2.3.2 panel节点
由于上述可以知道,panel里面的bus-format也需要修改一下接口类型
bus-format = <MEDIA_BUS_FMT_RGB666_1X18>;
我们现在查看屏的规格书,一般屏的规格书会有屏所需clk、时序等资料,这些是我们需要根据规格书做修改的,但我们这款屏的规格书上没有,所以我们查了一下这款屏的驱动IC资料看看
驱动IC的规格资料上,有我们需要的参数信息,一般采用typ上的数据就可以了。
Panel里的子节点display-timings,根据上述的资料,进行修改如下
display-timings {
native-mode = <&timing1>;
timing1: timing1 {
//参照屏驱动IC上的数据,进行修改
clock-frequency = <25000000>;
hactive = <800>;
vactive = <480>;
hback-porch = <8>;
hfront-porch = <8>;
vback-porch = <8>;
vfront-porch = <8>;
hsync-len = <4>;
vsync-len = <4>;
//大致修改如上几个参数
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
3.编译烧录
编译一版kernel镜像,烧录进设备上,重启之后屏应该就有信号显示了