完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 yu1988123 于 2022-3-12 21:32 编辑
一 、前言 平头哥Sipeed LicheeRV 86开发板硬件上,默认支持RGB和MIPI-DSI显示接口,其中RGB接口为RGB666 接口,使用 0.5mm的40P FPC 连接器,连接 4 英寸触摸屏(480*480 IPS 电容触摸屏,触摸芯片为 FT6336U),MIPI-DSI接口支持4Lane,使用 0.5mm的30P FPC 连接器,兼容哪吒 8 英寸屏。开发板(套件)默认附带4 英寸触摸屏, 硬件接口如图1所示: 图1 显示接口 (红色区域 - RGB接口,蓝色区域 - MIPI-DSI接口) 4英尺的触摸屏,显示芯片主控型号为st7701s,本文针对该屏,采用BSP SDK进行配置,并进行相关功能的调试于验证。关于开发环境的搭建可参考,该系列文章之一,本文不再介绍。其中SDK已经下载好,仓库地址:AlgoIdeas / D1-H Tina · GitLab。 二、SDK介绍 Sipeed已经基于其RV86硬件,在全志SDK1.0基础上已经适配了板子的全部功能,可以下载体验,可参考Lichee RV 系列开发教程汇总 (sipeed.com)下载SDK1.0,及相关镜像。(注:SDK1.0在相关docker镜像中) 为了更好地对开发板的主控 - 全志D1系列,进行软件和硬件上功能的开发,全志官方推出了相应的SDK,目前最新版本为V2.0。其关键特性如下: 1.基于Linux5.4内核构建的tina Linux系统 2.适配D1-H、D1s芯片,lunch时有D1-H、D1-H_mini、D1s三个方案可选,分别为适配D1-H哪吒开发板的标准固件、适配D1-H哪吒开发板的最小系统固件(测试系统启动用)和适配D1s测试板的标准固件 SDK默认适配最小系统固件,按照之前的开发环境的搭建,烧录好编译打包后的镜像,即可运行。Sipeed 默认已经针对4英尺屏的主控st7701s和触摸进行了适配,下载相关固件体验即可。本文根据st7701s的相关参数,和触摸芯片的参数,进行相关设备树进行配置。 SDK主要目录结构及介绍如图2所示(注意:已经编译过的情况下,会多出out和tmp目录): 图2 SDK主要目录结构及功能介绍 三、适配流程 适配参考的屏主控源码来源于SDK1.0,该部分源码来自Sipeed,现将其适配SDK2.0,主要分为触摸适配和屏显示适配,主要适配流程如下: 1、触摸配置 主要配置支持触摸功能,开启内核以下配置,其中触摸芯片为FT6336U,厂商为 Focaltech,5.4内核已经默认支持该驱动。内核配置如下: make kernel_menuconfig -> Device Drivers -> Input device support -> Touchscreens (INPUT_TOUCHSCREEN [=y]) <*> Focaltech Touchscreen 设备树修改,主要增加电源配置和I2C设备节点配置,修改如下: 图3 触摸电源(regulator)配置 图4 增加触摸芯片I2C设备节点配置 2、触摸屏适配 添加st7701s_rgb.c及头文件源码,并修改Kconfig和Makefile,其中Kconfig配置如下: --- a/lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/lcd/Kconfig +++ b/lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/lcd/Kconfig @@ -1,3 +1,15 @@ +config LCD_SUPPORT_ST7701S_RGB + bool "LCD support ST7701S RGB panel" + default n + ---help--- + If you want to support ST7701S_RGB panel for display driver, select it. + 涉及的Makefile修改: --- a/lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/Makefile +++ b/lichee/linux-5.4/drivers/video/fbdev/sunxi/disp2/disp/Makefile @@ -26,7 +26,8 @@ disp-$(CONFIG_SUNXI_DISP2_FB_HW_ROTATION_SUPPORT) += fb_g2d_rot.o disp-objs += lcd/panels.o lcd/lcd_source.o lcd/default_panel.o disp-objs += of_service.o de/lcd_debug.o - +disp-$(CONFIG_LCD_SUPPORT_NV3052C_RGB) += lcd/nv3052c_rgb.o +disp-$(CONFIG_LCD_SUPPORT_ST7701S_RGB) += lcd/st7701s_rgb.o disp-$(CONFIG_LCD_SUPPORT_HE0801A068) += lcd/he0801a068.o 最终主要涉及到的所有文件修改列表如下: 图5 适配修改 基于SDK2.0修改的补丁,可从以下链接下载:support-nv3052c_rgb-and-st7701s_rgb-panel-and-fix-fps-invalid.patch 四、功能调试 1、屏幕彩条测试 echo 1 > /sys/class/disp/disp/attr/colorbar 正常情况下,输入上述命令后会出现彩条,SDK2.0 实际适配中未能正常显示。 2、查看屏幕适配的参数 cat /sys/class/disp/disp/attr/sys screen 0: de_rate 300000000 hz, ref_fps:60 mgr0: 480x480 fmt[rgb] cs[0x204] range[full] eotf[0x4] bits[8bits] err[0] force_sync[0] unblank direct_show[false] iommu[1] dmabuf: cache[0] cache max[0] umap skip[0] umap skip max[26] lcd output backlight( 50) fps:151.5 esd level(0) freq(60) pos(0) reset(0) 480x 480 err:0 skip:367 irq:6907 vsync:0 vsync_skip:0 BUF enable ch[1] lyr[0] z[16] prem[N] a[pixel 255] fmt[ 0] fb[ 480, 480; 480, 480; 480, 480] crop[ 0, 0, 480, 480] frame[ 0, 0, 480, 480] addr[ffe00000, 0, 0] flags[0x 0] trd[0,0] 其中proc信息看到的帧率大小也是不正常,折腾半天还是存在问题。目前该问题,在SDK2.0上会遇到,并同步咨询全志工程师,暂时推荐用Sipeed已经适配其硬件的SDK1.0。 五、总结 基于RV86开发软件功能,推荐还是用SDK1.0,但是有必要了解其适配流程,甚至可以根据自己的屏幕,参考以上适配流程,进行适配,加油!!! |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
【平头哥Sipeed LicheeRV 86开发板试用体验】Waft初体验
15566 浏览 1 评论
13616 浏览 4 评论
【平头哥Sipeed LicheeRV 86开发板试用体验】四、烧写waft系统&搭建waft测试环境
19531 浏览 2 评论
58872 浏览 19 评论
【限时福利】加入芯片开发社区,领100G电子工程师资料大礼包
87107 浏览 121 评论
邀请函 | 3月2日 来上海参加平头哥“玄铁RISC-V生态大会”
654浏览 0评论
读书分享会 | 玄铁RISC-V处理器入门与实战电子书免费下载!
536浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-29 06:51 , Processed in 0.582988 second(s), Total 70, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号