完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
硬件环境
1.Firefly AIO-3399(AI)开发版; 2.恒智的5寸电容触摸屏800X480,I2C驱动支持GT5688。 操作系统 Android 7.2 for rockship Step-1 查阅AIO-3399(AI)原理图,确定I2C的Slave Device Addr地址长度 通过RK3399的原理图可以了解到I2C的Slave Addr地址长度为7Bita,这个地址长度十分关键,确定了在DTS配置文件中应该配置哪个地址作为Slave Device的Addr,如图1所示。 图1 I2C Map Step-2 查阅触摸芯片GT5688 数据手册,确定驱动地址
Step-3 查阅AIO-3399(AI)原理图,确定REST和INT的I2C管脚 该步骤确定触摸屏REST和INT管脚接入的GPIO,从而确定在DTS文件配置时GPIO的数字,详情请了解Firefly 官网关于AIO-3399(AI)WIKI章节(驱动开发-GPIO使用)。 如图7所示,TP_RST是接入GPIO4_C5管脚的,TP_INT是接入GPIO4_D4管脚的。此处只需要记住即可,下一步配置DTS文件时会使用到。 图7 TP管脚接入原理图 Step-4 配置驱动文件 驱动文件路径为:"kernel/arch/arm64/boot/dts/rockship" 本案新建文件名为:"rk3399-firefly-aioc-ai-lvds-HSX5H30C.dts",关于触摸驱动的配置内容如下所示。由于GT5688使用的是GT1X的驱动,所示在配置是compatible赋值为:"goodix,gt1x" &i2c4 { status = "okay"; gt1x:goodix_ts@14{ compatible = "goodix,gt1x"; reg = <0x14>; //该地址为Step-2确定的地址 interrupt-parent = <&gpio4>; //从Step-3了解到的信息 interrupts = <28 IRQ_TYPE_EDGE_FALLING>; //数字28与irq-gpio保持一致 goodix,rst-gpio = <&gpio4 21 GPIO_ACTIVE_LOW>; //数字"21“的确定,如备注所述。 goodix,irq-gpio = <&gpio4 28 GPIO_ACTIVE_HIGH>; //数字"28“的确定,如备注所述。 }; }; 备注: GPIO4_C5 被描述为: <&gpio4 21 GPIO_ACTIVE_LOW>,这里的 21来源于:16+5=21,其中 16 是因为 GPIO4_C5 是属于 GPIO4 的 C 组,如果是 A 组的话则为 0,如果是 C 组则为 16,如果是 D 组则为 24,以此递推,而 5是因为C5 后面的 5,以此判断GPIO4_D4描述为:<&gpio4 28 GPIO_ACTIVE_HIGH>。 Step-5 修改驱动源码 1.修改gt1x_generic.h(文件路径:"kernel/drivers/input/touchscreen/gt1x") (1)修改CFG参数,更改为厂家提供的CFG参数,其余的GTP_CFG_GROUP1,GTP_CFG_GROUP2,GTP_CFG_GROUP3,GTP_CFG_GROUP4,GTP_CFG_GROUP5均清空。 #define GTP_CFG_GROUP0 { 0x43,0x20,0x03,0xE0,0x01,0x05,0x3D,0x10,0x01,0x00, 0x08,0x08,0x50,0x3C,0x53,0x11,0x01,0x01,0x00,0x00, 0x14,0x14,0x14,0x22,0x08,0x04,0x00,0x00,0x00,0x00, 0x3C,0x00,0x53,0x00,0x14,0x00,0x00,0x84,0x00,0x00, 0x00,0x00,0x00,0x64,0x1E,0x1E,0x8A,0x2A,0x0C,0x3C, 0x3E,0xF8,0x0A,0x20,0x33,0x60,0x12,0x02,0x24,0x00, 0x00,0x32,0x64,0x80,0x14,0x02,0x00,0x00,0x54,0x80, 0x35,0x7F,0x3D,0x7F,0x46,0x7F,0x51,0x7F,0x5D,0x7F, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x32,0x20,0x50,0x3C,0x3C,0x00,0x00,0x00,0x00,0x00, 0x0D,0x06,0x0C,0x05,0x0B,0x04,0x0A,0x03,0x09,0x02, 0x08,0x01,0xFF,0xFF,0x00,0x01,0x02,0x03,0x04,0x05, 0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F, 0x10,0x11,0x12,0x13,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0xC8,0xF5,0x01 } (2)设置GTP_CUSTOM_CFG为1,加载自定义配置;GTP_DEBUG_ON 为1,方便调试输出信息。 #define GTP_CUSTOM_CFG 1 // customize resolution & interrupt trigger mode #define GTP_DEBUG_ON 1 // enable log printed by GTP_DEBUG(...) (3)修改自定义CFG #if GTP_CUSTOM_CFG #define GTP_MAX_HEIGHT 800 //根据屏幕尺寸修改 #define GTP_MAX_WIDTH 480 //根据屏幕尺寸修改 #define GTP_INT_TRIGGER 1 //0:Rising 1:Falling #define GTP_WAKEUP_LEVEL 1 #else #define GTP_MAX_HEIGHT 4096 #define GTP_MAX_WIDTH 4096 #define GTP_INT_TRIGGER 1 #define GTP_WAKEUP_LEVEL 1 #endif 2.修改“kernel/arch/arm64/configs/rockship_deconfig",打开指定的tp,关闭其他的* CONFIG_TABLET_USB_KBTAB=y CONFIG_INPUT_TOUCHSCREEN=y #CONFIG_TOUCHSCREEN_GSLX680_PAD=y #CONFIG_TOUCHSCREEN_GSLX680_VR=y #CONFIG_TOUCHSCREEN_GSL3673=y #CONFIG_TOUCHSCREEN_GSL3673_800X1280=y #CONFIG_TOUCHSCREEN_GT9XX=y CONFIG_TOUCHSCREEN_GT1X=y //打开指定的tp, CONFIG_ROCKCHIP_REMOTECTL=y CONFIG_ROCKCHIP_REMOTECTL_PWM=y 3.修改"kernel/drivers/input/touchscreen/Kconfig" config TOUCHSCREEN_GT1X bool "GT1X for gt1x pakage" default n Step-6 编译并安装系统 Step-7 如何Debug? 1.获取设备联网IP地址 可通过局域网内扫描方式获得,前提是要知道MAC地址。 2.连接设备
$> adb connect 192.168.1.171 $> adb shell rk3399_firefly_aioc_ai_lvds:/ $ dmesg
3.查看系统开机信息显示 $> adb shell dmesg > dmesg.log |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
基于米尔瑞芯微RK3576核心板/开发板的人脸疲劳检测应用方案
533 浏览 0 评论
803 浏览 1 评论
700 浏览 1 评论
1926 浏览 1 评论
3171 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 22:10 , Processed in 1.271099 second(s), Total 73, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号