- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本文描述在RK3126平台上添加一个新的TP驱动(gslx680驱动)以及详细的驱动代码信息。如有不足之处,敬请指出。1、修改dts,添加新的i2c设备。在?arch/arm/boot/dts/rk312x-sdk-v2.2.dtsi中添加i2c设备的相关信息:ts@40 { compatible = gslX680; reg = 0x40; wake-gpio = gpio0 GPIO_D3 GPIO_ACTIVE_LOW; irp-gpio = gpio0 GPIO_A2 IRQ_TYPE_LEVEL_HIGH; revert_x = 0; revert_y = 0; }2c2 { status = okay; /* ts@55 { compatible = goodix,gt8xx; reg = 0x55; touch-gpio = gpio1 GPIO_B0 IRQ_TYPE_LEVEL_LOW; reset-gpio = gpio2 GPIO_C1 GPIO_ACTIVE_LOW; //power-gpio = gpio0 GPIO_C5 GPIO_ACTIVE_LOW; max-x = 1280; max-y = 800; };*/ ts@40 { compatible = gslX680; reg = 0x40; //wake-gpio = gpio0 GPIO_D3 GPIO_ACTIVE_LOW; irp-gpio = gpio0 GPIO_A2 IRQ_TYPE_LEVEL_HIGH; revert_x = 0; revert_y = 0; }; /* ... */12345678910111213141516171819202122表示i2c2总线上下挂在了多个i2c设备。?其中ts@40是表示此i2c设备的设备类型为触摸屏,设备地址为0x40(7位地址,注意:在i2c的传输函数中,会将此地址左移一位,因此实际上gslx680的i2c设备地址为0x80)。该节点下有多个属性:?1、compatible = gslX680;属性用于驱动和设备的绑定。表示特定的设备名称,此处为gslX680;?2、reg = 0x40;属性表示此设备的i2c地址为0x40,等同于@40;?3、wake-gpio = gpio0 GPIO_D3 GPIO_ACTIVE_LOW;表示复位引脚使用的是GPIO0 中的GPIO_D3这个引脚,低电平有效。?irp-gpio = gpio0 GPIO_A2 IRQ_TYPE_LEVEL_HIGH;表示中断引脚使用的是GPIO0中的GPIO_A2这个引脚,高电平触发。?很奇怪,为什么这里没有上电的信息,以及在整个驱动程序中都没有给ic上电的操作。在前面的MTK平台上的tp驱动都有上电的动作,暂时还搞不懂在RK平台上为什么没有。?4、revert_x = 0; revert_y = 0;标记x和y是否需要翻转。?在上述的信息中,可以通过of接口获取到属性对应的值。在后面的probe()函数中就会使用到。注:关于dts的详细信息可以查看ARM Linux 3.x的设备树(Device Tree)和Device Tree Usage2、修改Makefile、Kconfig、defconfig(1)、修改Makefile添加gslx680驱动在?drivers/input/touchscreen/Makefile中添加驱动:?obj-$(CONFIG_TOUCHSCREEN_GSLX680) += gslx680/。?只要当配置了CONFIG_TOUCHSCREEN_GSLX680的选项才会去编译gslx680目录下的内容。在配置内核的时候会通过make menuconfig来配置对应的选项。或者是直接在defconfig文件中强制设置该选项。注:如果不想要这么复杂,可以将该语句写成obj-y += gslx680/来强制编译该驱动。(2)、修改Kconfig添加驱动配置描述在?drivers/input/touchscreen/Kconfig中添加驱动配置描述:config TOUCHSCREEN_GSLX680 tristate gslX680 touchscreen driverhelp gslX680 touchscreen driver1
您可能关注的文档
最近下载
- 城镇污水处理厂工艺全套推荐.ppt VIP
- 05J927-1汽车库建筑构造图集.pdf VIP
- 实验室生物安全生物安全实验室操作规范(微生物.pptx VIP
- 2025年秋季开学全体教师大会上,校长讲话:教育从来不靠一个人燃烧,而靠一群人沉下去!.docx
- 中小学校服验收记录单(参考模版).doc VIP
- DLT5418-2009脱硫吸收塔施工及验收规范.pdf VIP
- 2020新译林版高中英语选择性必修四Unit2 Integratedskills课件.pptx VIP
- 医院信息科笔试、面试题(附答案).docx VIP
- 2020译林版新教材高中英语选择性必修四第二单元知识点复习课件.pptx VIP
- 详解《工贸企业重大事故隐患判定标准》2023版.pptx VIP
文档评论(0)