天嵌TQ_E9卡片电脑移植飞思卡尔yocto L4.1.15_1.0.0_ga 第五篇 LCD+触摸屏移植
经过前面的移植,我们的板子已经可以成功进入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 = <®_sensor>;
vddio-supply = <®_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+触摸屏移植相关推荐
- 天嵌TQ_E9卡片电脑移植飞思卡尔yocto L4.1.15_1.0.0_ga 第四篇 新版kernel(L4.1.15-r)移植
现在2015.04版uboot已经真正可以为我们的E9服务了,接下来就是移植内核,其实自3.x以后的新版内核移植起来已经相当省心省力了,主要就是修改dts文件,方便起见,我们还是先把tftp.nfs的 ...
- 天嵌TQ_E9卡片电脑移植飞思卡尔yocto L4.1.15_1.0.0_ga 第三篇 新版uboot(2015.04-r0)网卡移植(RTL8211E)
经过前面的移植现在板子已经能成功跑起来yocto的2015.04版u-boot,但是如果我们ping主机则会提示不通,这里我们继续把u-boot的网卡移植上去,毕竟之后的内核移植少不了tftp功能. ...
- 天嵌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文件夹. ...
- 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移 ...
- 飞思卡尔i.MX 6Quad Android 4.2.2的LVDS屏幕驱动移植
http://blog.csdn.net/xnwyd/article/details/11671123 1 概述 平台:freescale i.MX 6Quad 4核开发板MCIMX6Q-S ...
- 天嵌科技为E9卡片电脑Qt快速入门攻略
本手册是广州天嵌计算机科技有限公司与Qter开源社区联合出品的入门教程,基于天嵌E9卡片电脑,目的是让E9用户可以快速完成Qt环境搭建并开始Qt嵌入式编程.该教材中使用了最新的Qt 5.4.0版本,基 ...
- 飞思卡尔I.MX6Q-QT5的移植
专栏说明 本专栏针对飞思卡尔I.MX6Q芯片产品开发,主要为视频的采集(V4L2).视频编解码(VPU).视频格式转化(IPU).H264封装为MP4.QT5的移植和显示. 飞思卡尔I ...
- 飞思卡尔 I.MX6Q-vpu视频编解码
专栏说明 本专栏针对飞思卡尔I.MX6Q芯片产品开发,主要为视频的采集(V4L2).视频编解码(VPU).视频格式转化(IPU).H264封装为MP4.QT5的移植和显示. 飞思卡尔I ...
- 飞思卡尔I.MX6Q-LTIB安装配置
专栏说明 本专栏针对飞思卡尔I.MX6Q芯片产品开发,主要为视频的采集(V4L2).视频编解码(VPU).视频格式转化(IPU).H264封装为MP4.QT5的移植和显示. 飞思卡尔I ...
最新文章
- java 取字段_java – 获取字段的名称
- Java中的String字符串
- 如何利用OpenSSL生成证书
- php中如何比较数组和字符串,PHP中数组和字符串的相互转换-PHP数组和字符串互相转换方法-吾爱编程网...
- 科大星云诗社动态20210317
- JavaScript实现MVVM之我就是想监测一个普通对象的变化
- Spark中 RDD之coalesce与repartition区别
- python 字典 列表 元祖_Python基础之列表、元祖、字典、集合,你都知道吗?附视频...
- Mac技巧:如何使用macOS Big Sur中“通知中心”的小组件?
- lammps运行Linux,Lammps安装教程
- 网络处理器(NP)与图形处理器(GPU)
- Sentinel Slot扩展实践-流控熔断预警实现
- 动画师入门必读 迪士尼影响至今的十二条动画黄金法则
- HDU - 2567 寻梦 ac代码
- Linux内核移植 part3:Exynos4412 Linux Kernel移植
- Spring事务通知tx:advice标签
- Android studio虚拟器突然黑屏解决办法
- oracle wallet java_使用Oracle客户端wallet实现匿名登录
- VMvare win7软件闪退
- 看门狗的喂法(独立看门狗和窗口看门狗的区别)!
热门文章
- Bingo NFT 如何帮助交易者和投资者分析市场
- pythonl练习1
- 手机端通过软件Es文件浏览器访问Linux服务器文件(局域网或远程服务器)
- arduino编乐谱_基于Arduino的电子音乐发声器设计
- 计算机网络压线实验,实验一双绞线的制作山东大学计算机网络自考作业
- opencascade 0xXXXXXXXX处最可能的异常: 0xC0000005: 写入位置 0x00000014 时发生访问冲突
- Ubuntu18.04系统(优化工具+搜狗输入法+wine+微信+拨号上网)
- html表格线条不显示,cline处理表格不显示线条
- 清风数学建模学习笔记——灰色关联分析(GRA)详细解读与案例分析
- OKCoin期货现货API[Python3版]