查看“Linux内核-5寸触摸屏驱动移植”的源代码
←
Linux内核-5寸触摸屏驱动移植
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==实验原理== FS-MP1A使用的是GT911触摸芯片,通过I2C2总线与SoC进行数据交互。 [[Image:54-1-1-1.png]] <br> 查看原理图确认I2C2管脚对应关系: [[Image:54-1-1-2.png]] <br> 查看原理图确认中断管脚TP_IRQ和复位管脚TP_RST管脚对应关系: [[Image:54-1-1-3.png]] <br> {|class="wikitable" |- ! 原理图网络编号 !! 对应管脚 !! 管脚功能 !! 管脚功能码 |- | I2C2_SCL | PH4 | I2C2_SCL | AF4 |- | I2C2_SDA | PH5 | I2C2_SDA | AF4 |- | TP_RST | PG8 | GPIO | |- | TP_INT | PG7 | INT | |} <ol> <li>I2C2设备树节点</li> I2C节点添加与HDMI中对应I2C的内容一致,本节不再重复。 <li>触摸屏设备树节点</li> 参考文档: devicetree/bindings/input/touchscreen/goodix.txt 参考goodix.txt及ST提供的I2C相关设备树文档,触摸屏节点内容如下: <pre><nowiki> touchscreen@5d { compatible = "goodix,gt911"; reg = <0x5d>; irq-gpios = <&gpiog 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; reset-gpios = <&gpiog 8 GPIO_ACTIVE_HIGH>; interrupt-parent = <&gpiog>; interrupts = <7 IRQ_TYPE_EDGE_FALLING>; status = "okay"; // touchscreen-inverted-x; touchscreen-inverted-y; // touchscreen-swapped-x-y; }; </nowiki></pre> </ol> ==实验目的== 熟悉基于Linux操作系统下的MIPI 触摸屏设备驱动移植配置过程。 ==实验平台== 华清远见开发环境,FS-MP1A平台; ==实验步骤== <ol> <li>导入交叉编译工具链</li> linux@ubuntu:$ source /opt/st/stm32mp1/3.1-openstlinux-5.4-dunfell-mp1-20-06-24/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi <li>修改设备树</li> 修改arch/arm/boot/dts/stm32mp157a-fsmp1a-mipi050.dts文件,在文件末尾增加如下内容: <pre><nowiki> &i2c2 { pinctrl-names = "default", "sleep"; pinctrl-0 = <&i2c2_pins_a>; pinctrl-1 = <&i2c2_pins_sleep_a>; i2c-scl-rising-time-ns = <100>; i2c-scl-falling-time-ns = <7>; status = "okay"; /delete-property/dmas; /delete-property/dma-names; touchscreen@5d { compatible = "goodix,gt911"; reg = <0x5d>; irq-gpios = <&gpiog 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; reset-gpios = <&gpiog 8 GPIO_ACTIVE_HIGH>; interrupt-parent = <&gpiog>; interrupts = <7 IRQ_TYPE_EDGE_FALLING>; status = "okay"; // touchscreen-inverted-x; touchscreen-inverted-y; // touchscreen-swapped-x-y; }; }; </nowiki></pre> <li>配置内核</li> 由于内核源码默认配置以及支持sii902x,本节列出主要选项,如下: <pre><nowiki> linux@ubuntu:$ make menuconfig Device Drivers ---> Graphics support ---> <*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) ---> <*> DRM Support for STMicroelectronics SoC Series Display Interface Bridges ---> <*> Silicon Image sii902x RGB/HDMI bridge </nowiki></pre> <li>编译内核级设备树:</li> linux@ubuntu:$ make -j4 uImage dtbs LOADADDR=0xC2000040 <li>重启测试</li> 将编译好的设备树和内核镜像拷贝到/tftpboot目录下,通过tftp引导内核,设备连接MIPI屏幕,重启设备后查看/dev会多出event0的信息,这是点击屏幕会的到反馈。 root@fsmp1a:# ls /dev/input [[Image:54-1-4-1.png]] <br> </ol>
返回至
Linux内核-5寸触摸屏驱动移植
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
关于我们
联系我们
资料下载
STM32F103开发板
STM32U575开发板
STM32MP157开发板
Hi3861鸿蒙开发板
HaaS EDU开发板
ESP32开发板
i.MX8M Plus开发板
图书下载
嵌入式系列图书
物联网系列图书
Android系列图书
高校教仪
嵌入式实验室产品
物联网实验室产品
人工智能实验室产品
虚拟仿真实验室产品
行业应用实训室产品
虚拟仿真
嵌入式虚拟仿真平台
物联网虚拟仿真平台
人工智能虚拟仿真
友情链接
华清远见研发中心
元宇宙实验中心
华清远见硬件商城
工具
链入页面
相关更改
特殊页面
页面信息