xiaolonghun1 发表于 2015-7-24 14:04:59

就是我这边a20 request_io函数接口调用的使用问题

本帖最后由 xiaolonghun1 于 2015-7-24 17:11 编辑

a20原理图手册,就是我这个手册上面显示的EINT7对应的管脚PH07 ,对应的管脚是Pin37, 实际终端打印的错误是gpio_request 是PH07 所对应的管脚是 174管脚的。

这个实际倒底是如何稳步的,我之前使用过的gpio_request 是传入PH07的参数值,不应该整个都是数值类型的才是。




sunbeyond 发表于 2015-7-24 15:09:44

gpio申请失败了。你应该贴出来你说的那部份代码。不然不知到你说的是什么。


另外你是android系统还是linux发行版。A20 linux 发行版社区有改过gpio驱动,也有些区别。

xiaolonghun1 发表于 2015-7-24 15:29:01

本帖最后由 xiaolonghun1 于 2015-7-24 15:42 编辑

好,我贴一下。使用的源代码的版本是cubieboard2_android_SDK_v1.03,这个是后面由于在这个里面的镜像地址下载不了http://docs.cubieboard.org/tutorials/cb2/development/building_your_own_android_image,后面Cubieboard的有一个技术支持后来重新给我发送的一份可以支持3.5寸屏幕显示的代码的。
我的ft5x驱动使用之前源代码里面自带的还想不可以,是后面版本的sw_touchscreen--->ft5x下面的设备驱动。
我的这个设备驱动打印的报错的代码位置是在,这个主要是全志init-input.c里面的代码,具体我他是怎么的一个
结构应该是通过这个函数,暴露出全局的系统内核可以访问初始化的设备的系统资源的接口函数。
vim ./lichee/linux-3.3/drivers/input/init-input.c
static int ctp_init_platform_resource(enum input_sensor_type *ctp_type)^M
{       ^M
      int cnt = 0, i = 0;^M
      script_item_u*list = NULL;^M
                                        ^M
      cnt = script_get_pio_list("ctp_para", &list);^M
      if (0 == cnt) {^M
                printk("%s:get gpio list failed\n", __func__);^M
                return -1;^M
      }                               ^M
                                        ^M
      /* 脡锚脟毛gpio */^M
      for (i = 0; i < cnt; i++) ^M
                if (0 != gpio_request(list.gpio.gpio, NULL)){^M
                        printk("%s:gpio_request i:%d, gpio:%d failed\n",^M
                                 __func__, i, list.gpio.gpio);^M
                }^M
^M
      /* 脜盲脰脙gpio list */^M
      if (0 != sw_gpio_setall_range(&list.gpio, cnt))^M
                printk(" sw_gpio_setall_range failed\n");      ^M
      ^M
      return 0;^M
}^M
你们看一下有没有遇到过类似的情况的,ctp的触摸芯片已经可以正常工作了,可以查询到ctp的I2C地址是
0x38,应该不存在芯片还没有启动起来的问题。




sunbeyond 发表于 2015-7-27 10:06:40

xiaolonghun1 发表于 2015-7-24 15:29 static/image/common/back.gif
好,我贴一下。使用的源代码的版本是cubieboard2_android_SDK_v1.03,这个是后面由于在这个里面的镜像地址 ...

全志平台最终还是要 去 sys_config.fex 获取你配置参数。 gpio或中断等等。 你首先sys_config.fex 里面有没有其他地方也用了PH07。 很多时候gpio申请失败都是这个原因。

xiaolonghun1 发表于 2015-7-27 13:32:47

本帖最后由 xiaolonghun1 于 2015-7-27 13:41 编辑

我在sys_config.fex里面配置的,查找了这个PH07,没有已经被其他的管脚占用什么的。我换了
另外一个ft5x的设备驱动,他报了另外一个错误。在这个新的设备驱动里面,就没有报老的那个设备驱动
报的那个错误,但是报了另外一个错误。

应该说明了一个原因就是这个设备驱动所使用的管脚没有被占用,他这个上面所报的错误是PH07管脚的这个
所想要申请的中断申请不到,或者另外一个总说法就是,这个管脚不具备有被配置成中断功能的这个功能。

xiaolonghun1 发表于 2015-7-27 13:35:46

本帖最后由 xiaolonghun1 于 2015-7-27 14:09 编辑

不知道是什么原因,我尝试了把之前那个所谓的被占用的管脚替换成别的其他的管脚,但是还是报了同样的一个错误。
页: [1]
查看完整版本: 就是我这边a20 request_io函数接口调用的使用问题