【全志T113-i】OK113i-S开发板-适配10寸LCD显示

原创
2023/12/18 17:10
阅读数 81

前言

本文介绍如何在OK113i-S开发板上适配一个自己的10寸LCD。

OK113i-S 是一个优秀的开发板,支持lvds 单8,双8显示,最大分辨率1280x800

也支持RG666显示,由于我手头只有lvds 单8,40pin的显示器,今天我就适配一下这个LCD的显示。

显示效果

GUI.jpg

设备接线

我这个转接板是两部分,左边的是触摸线,右边的是屏幕接线,触摸的调试见另一篇文章。这里只说屏幕的适配;从图上可以看到,液晶屏的排线40pin经过转接板转为20pin接入主板。

LCD-Cable.jpg

首先根据主板使用说明,LVDS接口信息,主板是LVDS双8信号,我这里只有LVDS接口的屏幕,其他工程剩余的,是LVDS单8信号,需要做一些修改。屏幕是10寸的40pinLVDS 单8接口。40pinLVDS 接口经过转接板只有20接口线。下面是关键信息。

主板的LCD接口信息
2-主板接口LVDS-双8.png

LCD的LVDS 40PIN接口信息
1-LVDS-40PIN-单8-LCD接口.png

接口板接口信息定义
30-40-pin-接口.png

我们要做的就是把主板的接口与20pin的转接板连接起来,调整排线的线序,具体做法如下

conn.png

屏幕接口说明书

代码适配修改

首先找到内核的设备树文件OK113i-C-Linux.dts和 OK113i-C-Common.dtsi

Device/config/chips/t113_i/config/ok113i/目录下有同名的链接文件,都指向同一个文件
link.png

根据屏幕说明书,找到屏幕的关键参数,如下图
LCD-10--1.png

Default 注释的是原来的内容,1024x600是我的屏幕分辨率,这里面有许多参数,具体的说明如下:我们这里只关心几个即可
lcd注释.png

lcd-10.png
////////////////////////////////////
Lcd_if: HV模式,见lcd屏幕说明
lcd_lvds_if: 0:single link; 1:dual link
lcd_lvds_mode: 0:NS mode; 1:JEIDA mode;这里是JEIDA显示序列

Lcd_x 分辨率x
Lcd_y 分辨率y
Lcd_width 物理尺寸
Lcd_height 物理尺寸

lcd_hbp: hsync back porch(pixel) + hsync plus width(pixel);
lcd_ht: hsync total cycle(pixel)
lcd_vbp: vsync back porch(line) + vysnc plus width(line)
lcd_vt: vysnc total cycle(line)
lcd_hspw: hsync plus width(pixel)
lcd_vspw: vysnc plus width(pixel)
////////////////////////////////////////

UBOOT的配置文件在这里:
kernel/linux-5.4/arch/arm/boot/dts/uboot-board-lvds.dts

这里看到有看到其他的不同屏幕的配置文件,根据我的屏幕类型lvds,uboot-board-lvds.conf;
uboot-files.png

修改完后,./build.sh 修改编译选项,重新烧录即可
build-lcd.png

最后我们截屏看看
使用这个命令可以截屏ok113-Screen.bmp

root@ok113i:/# echo 0 >/sys/class/disp/disp/attr/disp
root@ok113i:/# echo /home/forlinx/ok113-Screen.bmp >/sys/class/disp/disp/attr/

cat.png

问题总结:

1 buidl前需要整体编译一遍,有问题可以群里提问。
2 buidl内核前先clean,减少修改后不生效的问题。
3 修改后不生效,需要查看UBOOT启动的默认选项。

附录
内核配置文件
编译好的LCD支持内核
编译的LCD支持系统镜像

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部