查看: 2739|回复: 0

让米尔 mys-y6ull 支持自己的屏幕

[复制链接]
  • TA的每日心情
    开心
    2024-11-20 21:23
  • 签到天数: 597 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2018-8-7 09:41:17 | 显示全部楼层 |阅读模式
    分享到:
    米尔开发板mys-y6ull 的u-boot 源码从头到尾快看完了,看到屏幕很激动,顺带把荔枝派的拆机屏幕移植到 mys-y6ull-iot 这个板子上。
    先看怎么移植,稍后再详细看uboot是怎么解析添加的代码。
    因为 u-boot 把所有的框架都搭建好了,并且mys-y6ull-iot 这个板子已经支持官方的屏幕,那就是底层的lcdc米尔已经把工作完成了,很好,不用动了不用操心,省了很多事,所以很激动。
    现在要做的就是适配屏幕,源码里增加一个display_info_t结构体实例:

    这个结构体的成员变量mode结构体是这样的:

    看看米尔的结构体实例:

    把这个结构体实例复制一个出来,仅仅修改成员变量mode的参数,修改之后代码如下:

    红圈中的代码是自己添加的,从前面那个逗号开始
    修改mode里面的参数,除了一个vmode 参数没有用,其他全部改成自己的。
    .name 随便起个名字,然后添加一个panel变量和这个名字一摸一样:


    完成了,重新编译,烧录启动,看看效果,不好就调整 mode 的参数,慢慢调试,软件适配就这么多。
    便于观察,我加了个CONFIG_IDENT_STRING宏。


    硬件适配:接口线序不同,就各种转接板飞线一起上。

    我的调试出来是这个样的:

    添加了不到20行代码,就可以匹配荔枝派的拆机屏了。
    估计每个人手上都有屏幕,但是不同厂家的屏幕接口、线序、驱动板等等会有很大差异,几乎不能通用,读读源码改改代码,硬件自己DIY,适配自己的屏幕其实也没那么难。
    文中用到的:
    display_options 结构体在文件:MYiR-iMX-uboot\arch\arm\imx-common\video.h 中
    fb_videomode 结构体在文件:MYiR-iMX-uboot\include\linux\fb.h 中
    displays 实例在文件:MYiR-iMX-uboot\board\myir\mys_imx6ull\mys_imx6ull.c 中
    添加的panel变量名在文件:MYiR-iMX-uboot\include\configs\mys_imx6ull.h 中
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-12-19 06:43 , Processed in 0.116602 second(s), 15 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.