CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
查看: 8786|回复: 2

ft5x设备驱动移植问题ft5316dme

[复制链接]
发表于 2015-7-24 17:04:38 | 显示全部楼层 |阅读模式
本帖最后由 xiaolonghun1 于 2015-7-27 20:47 编辑

我换成了之前cubieboard技术支持给我发送的那个镜像驱动,好像多了好多之前没有出现过的报错信息。
上面大致是GPIO 7不能够被设置成中断的形式,设备驱动的地方已经在别处定义了,不知道为什么会出现这个问题。

A20 源码里现在支持的触摸屏应该是三种,ft5x, gt82x, gslX680

源码分别是   ft5x_ts.c, gt82x.c gslX680.c。

在这三个文件头部都有触摸屏配置结构体的引用。

extern struct ctp_config_info config_info;

搜索源码可以看到用到了以下几处。

ctp_get_system_config里(被ft5x_ts_init调用)

        twi_id = config_info.twi_id;
        screen_max_x = config_info.screen_max_x;
        screen_max_y = config_info.screen_max_y;
        revert_x_flag = config_info.revert_x_flag;
        revert_y_flag = config_info.revert_y_flag;
        exchange_x_y_flag = config_info.exchange_x_y_flag;

ft5x_ts_init函数里

       config_info.ctp_used

很明显触摸屏几个关键参数是从外部的config_info这个结构体得到了。搜寻这个结构体。

在include/linux/ctp.h里找到他的定义

struct ctp_config_info{
        int ctp_used;
        __u32 twi_id;
        int screen_max_x;
        int screen_max_y;
        int revert_x_flag;
        int revert_y_flag;
        int exchange_x_y_flag;
        u32 irq_gpio_number;
        u32 wakeup_gpio_number;
#ifdef TOUCH_KEY_LIGHT_SUPPORT
        u32 key_light_gpio_number;
#endif            
};

在/drivers/input/init_ctp.c里找到变量的定义。

struct ctp_config_info config_info;

并且在ctp_fetch_sysconfig_para这个函数中给config_info赋值。

都是通过script_get_item从配置文件里取出值来给config_info赋值。

script_get_item("ctp_para", "ctp_used", &val)

config_info.ctp_used = val.val;

script_get_item("ctp_para", "ctp_twi_id", &val)

config_info.twi_id = val.val;

script_get_item("ctp_para", "ctp_screen_max_x", &val)

config_info.screen_max_x = val.val;

script_get_item("ctp_para", "ctp_screen_max_y", &val)

config_info.screen_max_y = val.val;

script_get_item("ctp_para", "ctp_revert_x_flag", &val)

config_info.revert_x_flag = val.val;

script_get_item("ctp_para", "ctp_revert_y_flag", &val)

config_info.revert_y_flag = val.val;

script_get_item("ctp_para", "ctp_exchange_x_y_flag", &val)

config_info.exchange_x_y_flag = val.val;



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

发表于 2015-7-27 22:04:36 | 显示全部楼层
根据你的描述,应该是有某个驱动已经占用了这个gpio,你可以查一下看,去/sys/目录下看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-28 09:04:56 | 显示全部楼层
不是被占用了,好像不管我怎么修改成为其他背的管脚,他那边始终显示
上面那个错误,所以就可以忽略不计了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|粤ICP备13051116号|cubie.cc---深刻的嵌入式技术讨论社区

GMT+8, 2024-3-29 10:13 , Processed in 0.025007 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc. | Style by Coxxs

返回顶部