经过前面的移植,我们的板子已经可以成功进入linux,但是这个时候看不到画面的,还需要进一步调通LCD显示和触摸屏驱动。

1.uboot环境变量。

为了LCD能显示需要如下设置uboot变量:

$setenv mynetargs 'setenv bootargs console=${console},${baudrate} ${smp} video=${myvideo} root=/dev/nfs ip=dhcp rw nfsroot=${serverip}:${nfsroot},v3,tcp''

$setenv myvideo 'mxcfb0:dev=lcd,CLAA-WVGA,if=RGB24'

2.修改dts。

mxcfb1,2,4分别是ldb,hdmi,ldb接口,只有mxxcfb3是lcd接口,所以紧保留mxcfb3打开。

$vi arch/arm/boot/dts/imx6q-sabresd.dts

修改如下内容:

&mxcfb1 {
      status = "disabled";
  };
 
  &mxcfb2 {
      status = "disabled";
  };
 
  &mxcfb3 {
      status = "okay";
  };
 
  &mxcfb4 {
      status = "disabled";
  };
 
  &sata {
      status = "okay";
  };

$vi arch/arm/boot/imx6qdl-sabresd.dtsi

如上设置了uboot环境变量则该文件下面两处通常不用再修改,如果颜色或分辨率不对,则修改如下:

mxcfb3: fb@2 {
        compatible = "fsl,mxc_sdc_fb";
        disp_dev = "lcd";
        interface_pix_fmt = "RGB24"; //把默认色彩格式从RGB565改成RGB24
        mode_str ="CLAA-WVGA";
        default_bpp = <16>;
        int_clk = <0>;
        late_init = <0>;
        status = "disabled";
    };

lcd@0 {
        compatible = "fsl,lcd";
        ipu_id = <0>;
        disp_id = <0>;
        default_ifmt = "RGB24"; //把默认色彩格式从RGB565改成RGB24
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_ipu1>;
        status = "okay";
    };

此时进入系统会不断报max11801的错误,这是因为NXP的imx6q sabresd板子用的触摸芯片是max11801而天嵌E9则不是,查看原理图E9板子上触摸控制芯片并没有焊接,而是直接在LCD显示屏排线中留了用于触摸芯片通讯的I2C两管脚以及触摸芯片的中断管脚和使能管脚,我手上的天嵌配套屏幕是7存LCD电容屏,查看天嵌源码发现天嵌提供触摸驱动只是个module文件,可以在屏幕版面背面找到ft5216芯片,这个就是这里实际的触摸芯片,在内核中搜索并没有该芯片,只是找到了个ft5x06的驱动,实测该驱动可用于ft5216,结合Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.txt文件做如下修改:

$vi arch/arm/boot/dts/imx6qdl-sabresd.dtsi

mma8451@1c {
        compatible = "fsl,mma8451";
        reg = <0x1c>;
        position = <0>;
        vdd-supply = <&reg_sensor>;
        vddio-supply = <&reg_sensor>;
        interrupt-parent = <&gpio1>;
        interrupts = <18 8>;
        interrupt-route = <1>;
    };
    ft5216@38 { //在i2c节点下添加ft5216配置节点
        compatible = "edt,edt-ft5206";
        reg = <0x38>;
        interrupt-parent = <&gpio1>;
        interrupts = <9 0>;
        status = "okay";
    };

3.修改内核

$source /opt/fsl-imx-x11/4.1.15-2.0.1/environment-setup-cortexa9hf-neon-poky-linux-gnueabi

$make menuconfig

取消max11801驱动

Symbol: TOUCHSCREEN_MAX11801 [=n]                                                              
  Type  : tristate                                                                                
    Prompt: MAX11801 based touchscreens                                                            
    Location:                                                                                    
      -> Device Drivers                                                                          
          -> Input device support                                                                  
              -> Generic input layer (needed for keyboard, mouse, ...) (INPUT [=y])                  
              -> Touchscreens (INPUT_TOUCHSCREEN [=y])

[*]选中ft5x06驱动

Symbol: TOUCHSCREEN_EDT_FT5X06 [=y]                                                            
  Type  : tristate                                                                                
  Prompt: EDT FocalTech FT5x06 I2C Touchscreen support                                            
    Location:                                                                                    
      -> Device Drivers                                                                          
          -> Input device support                                                                  
              -> Generic input layer (needed for keyboard, mouse, ...) (INPUT [=y])                  
                 -> Touchscreens (INPUT_TOUCHSCREEN [=y])                                              
    Defined at drivers/input/touchscreen/Kconfig:597                                              
    Depends on: !UML && INPUT [=y] && INPUT_TOUCHSCREEN [=y] && I2C [=y]

重新生成dtb和zImage

$make imx6q-sabresd.dtb

$make zImage

$cp arch/arm/boot/imx6q-sabresd.dtb arch/arm/boot/zImage /opt/tftpboot/

重启板子,即可进入qt5视窗,校准触摸后,触摸屏幕光标可移动。

天嵌TQ_E9卡片电脑移植飞思卡尔yocto L4.1.15_1.0.0_ga 第五篇 LCD+触摸屏移植相关推荐

  1. 天嵌TQ_E9卡片电脑移植飞思卡尔yocto L4.1.15_1.0.0_ga 第四篇 新版kernel(L4.1.15-r)移植

    现在2015.04版uboot已经真正可以为我们的E9服务了,接下来就是移植内核,其实自3.x以后的新版内核移植起来已经相当省心省力了,主要就是修改dts文件,方便起见,我们还是先把tftp.nfs的 ...

  2. 天嵌TQ_E9卡片电脑移植飞思卡尔yocto L4.1.15_1.0.0_ga 第三篇 新版uboot(2015.04-r0)网卡移植(RTL8211E)

    经过前面的移植现在板子已经能成功跑起来yocto的2015.04版u-boot,但是如果我们ping主机则会提示不通,这里我们继续把u-boot的网卡移植上去,毕竟之后的内核移植少不了tftp功能. ...

  3. 天嵌TQ_E9卡片电脑移植飞思卡尔yocto L4.1.15_1.0.0_ga 第一篇 yocto项目建立

    本移植过程参考飞思卡尔的Freescale_Yocto_Project_User's_Guide.pdf文档,请自行到飞思卡尔下载fsl-yocto-L4.1.15_1.0.0-ga.zip文件夹. ...

  4. 3g android4 移植 飞思卡尔i.MX 6Quad Android 4.2.2的中兴和Ublox 3G驱动移植 Android——4.2 - 3G移植之路

    点击打开链接 3g android4 移植 点击打开链接 飞思卡尔i.MX 6Quad Android 4.2.2的中兴和Ublox 3G驱动移植 点击打开链接  Android--4.2 - 3G移 ...

  5. 飞思卡尔i.MX 6Quad Android 4.2.2的LVDS屏幕驱动移植

    http://blog.csdn.net/xnwyd/article/details/11671123 1      概述 平台:freescale i.MX 6Quad 4核开发板MCIMX6Q-S ...

  6. 天嵌科技为E9卡片电脑Qt快速入门攻略

    本手册是广州天嵌计算机科技有限公司与Qter开源社区联合出品的入门教程,基于天嵌E9卡片电脑,目的是让E9用户可以快速完成Qt环境搭建并开始Qt嵌入式编程.该教材中使用了最新的Qt 5.4.0版本,基 ...

  7. 飞思卡尔I.MX6Q-QT5的移植

    专栏说明 本专栏针对飞思卡尔I.MX6Q芯片产品开发,主要为视频的采集(V4L2).视频编解码(VPU).视频格式转化(IPU).H264封装为MP4.QT5的移植和显示.         飞思卡尔I ...

  8. 飞思卡尔 I.MX6Q-vpu视频编解码

    专栏说明 本专栏针对飞思卡尔I.MX6Q芯片产品开发,主要为视频的采集(V4L2).视频编解码(VPU).视频格式转化(IPU).H264封装为MP4.QT5的移植和显示.         飞思卡尔I ...

  9. 飞思卡尔I.MX6Q-LTIB安装配置

    专栏说明 本专栏针对飞思卡尔I.MX6Q芯片产品开发,主要为视频的采集(V4L2).视频编解码(VPU).视频格式转化(IPU).H264封装为MP4.QT5的移植和显示.         飞思卡尔I ...

最新文章

  1. java 取字段_java – 获取字段的名称
  2. Java中的String字符串
  3. 如何利用OpenSSL生成证书
  4. php中如何比较数组和字符串,PHP中数组和字符串的相互转换-PHP数组和字符串互相转换方法-吾爱编程网...
  5. 科大星云诗社动态20210317
  6. JavaScript实现MVVM之我就是想监测一个普通对象的变化
  7. Spark中 RDD之coalesce与repartition区别
  8. python 字典 列表 元祖_Python基础之列表、元祖、字典、集合,你都知道吗?附视频...
  9. Mac技巧:如何使用macOS Big Sur中“通知中心”的小组件?
  10. lammps运行Linux,Lammps安装教程
  11. 网络处理器(NP)与图形处理器(GPU)
  12. Sentinel Slot扩展实践-流控熔断预警实现
  13. 动画师入门必读 迪士尼影响至今的十二条动画黄金法则
  14. HDU - 2567 寻梦 ac代码
  15. Linux内核移植 part3:Exynos4412 Linux Kernel移植
  16. Spring事务通知tx:advice标签
  17. Android studio虚拟器突然黑屏解决办法
  18. oracle wallet java_使用Oracle客户端wallet实现匿名登录
  19. VMvare win7软件闪退
  20. 看门狗的喂法(独立看门狗和窗口看门狗的区别)!

热门文章

  1. Bingo NFT 如何帮助交易者和投资者分析市场
  2. pythonl练习1
  3. 手机端通过软件Es文件浏览器访问Linux服务器文件(局域网或远程服务器)
  4. arduino编乐谱_基于Arduino的电子音乐发声器设计
  5. 计算机网络压线实验,实验一双绞线的制作山东大学计算机网络自考作业
  6. opencascade 0xXXXXXXXX处最可能的异常: 0xC0000005: 写入位置 0x00000014 时发生访问冲突
  7. Ubuntu18.04系统(优化工具+搜狗输入法+wine+微信+拨号上网)
  8. html表格线条不显示,cline处理表格不显示线条
  9. 清风数学建模学习笔记——灰色关联分析(GRA)详细解读与案例分析
  10. OKCoin期货现货API[Python3版]