查看“Linux内核-7寸触摸屏驱动移植”的源代码
←
Linux内核-7寸触摸屏驱动移植
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==实验原理== 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操作系统下的块设备驱动移植配置过程。 ==实验平台== 华清远见开发环境,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 过程与5寸触摸屏移植过程相同,如果步骤重复请跳过。<br> <li>修改设备树</li> 修改arch/arm/boot/dts/stm32mp157a-fsmp1a-rgb070.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内核-7寸触摸屏驱动移植
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
关于我们
联系我们
开发板资料
STM32F103 AI开发板
ESP32-S3 AI开发板
STM32F103开发板
STM32U575开发板
STM32MP157开发板
Hi3861鸿蒙开发板
WS63星闪开发板
HaaS EDU开发板
ESP32物联网开发板
i.MX8M Plus开发板
智能车资料
STM32F103智能小车
鸿蒙Hi3861智能车
星闪WS63遥控车
ESP32智能小车
人工智能AGV小车
体系课试听
AI人工智能体验课
嵌入式STM32体验课
华清图书下载
嵌入式系列图书
物联网系列图书
Android系列图书
高校教仪设备
人工智能实训设备
嵌入式实训设备
物联网实训设备
虚拟仿真实训设备
行业应用实训设备
软件仿真平台
人工智能仿真系统
嵌入式仿真系统
物联网仿真系统
友情链接
元宇宙实验中心
华清远见研发中心
华清淘宝硬件商城
华清天猫课程商城
工具
链入页面
相关更改
特殊页面
页面信息