打印
[i.MX]

如何在移植的驱动中使用引脚?

[复制链接]
3614|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
    各位,我现在试用的是MX6Q-SDB开发板,因为没找到使用官方源码里面的IC的触摸屏,所以找了一个使用GT927 芯片的触摸屏,现在在移植厂商给的源码中需要直接指定中断引脚和RST引脚。部分代码如下:

void gtp_int_sync(s32 ms)
{
    GTP_GPIO_OUTPUT(GTP_INT_PORT, 0);
    msleep(ms);
    GTP_GPIO_AS_INT(GTP_INT_PORT);
}

#define GTP_GPIO_OUTPUT(pin,level)      gpio_direction_output(pin,level)

#define GTP_RST_PORT    S5PV210_GPJ3(6)
#define GTP_INT_PORT    S5PV210_GPH1(3)

其中S5PV210_GPJ3(6) S5PV210_GPH1(3) 就是厂商默认板子的寄存器名字,现在我需要查询我的板子对应的引脚,然后替换它们。

可以看到板子的LVDS接口提供了TP的中端引脚但是没有提供RST引脚。我根据下面两篇文档找到了引脚名的定义。、
http://www.armbbs.net/forum.php?mod=viewthread&tid=19291&extra=page%3D1
http://blog.csdn.net/xnwyd/article/details/9042159

我理解是这样的:
1、在 arch/arm/plat-mxc/include/mach/iomux-mx6q.h 中找到这个引脚你需要使用的功能宏定义,比如LVDS0对应的TP中断引脚为 CAP_TCH_INT0 , 连接到IMX6的名称为 NANDF_ALE, 所以我就应该在 iomux-mx6q.h中搜索 NANDF_ALE,找到如下内容:
  
#define  MX6Q_PAD_NANDF_ALE__RAWNAND_ALE                \
                (_MX6Q_PAD_NANDF_ALE__RAWNAND_ALE | MUX_PAD_CTRL(MX6Q_GPMI_PAD_CTRL2))
#define  MX6Q_PAD_NANDF_ALE__USDHC4_RST                \
                (_MX6Q_PAD_NANDF_ALE__USDHC4_RST | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL))
#define  MX6Q_PAD_NANDF_ALE__PCIE_CTRL_DIAG_STATUS_BUS_MUX_0                \
                (_MX6Q_PAD_NANDF_ALE__PCIE_CTRL_DIAG_STATUS_BUS_MUX_0 | MUX_PAD_CTRL(NO_PAD_CTRL))
#define  MX6Q_PAD_NANDF_ALE__USBOH3_UH3_DFD_OUT_12                \
                (_MX6Q_PAD_NANDF_ALE__USBOH3_UH3_DFD_OUT_12 | MUX_PAD_CTRL(NO_PAD_CTRL))
#define  MX6Q_PAD_NANDF_ALE__USBOH3_UH2_DFD_OUT_12                \
                (_MX6Q_PAD_NANDF_ALE__USBOH3_UH2_DFD_OUT_12 | MUX_PAD_CTRL(NO_PAD_CTRL))
#define  MX6Q_PAD_NANDF_ALE__GPIO_6_8                \
                (_MX6Q_PAD_NANDF_ALE__GPIO_6_8 | MUX_PAD_CTRL(NO_PAD_CTRL))
#define  MX6Q_PAD_NANDF_ALE__MIPI_CORE_DPHY_TEST_IN_24                \
                (_MX6Q_PAD_NANDF_ALE__MIPI_CORE_DPHY_TEST_IN_24 | MUX_PAD_CTRL(NO_PAD_CTRL))
#define  MX6Q_PAD_NANDF_ALE__TPSMP_HTRANS_1                \
                (_MX6Q_PAD_NANDF_ALE__TPSMP_HTRANS_1 | MUX_PAD_CTRL(NO_PAD_CTRL))

而我们需要使用它作为GPIO功能使用,所以选择 “MX6Q_PAD_NANDF_ALE__GPIO_6_8” , 将这个宏添加进 arch/arm/mach-mx6/board-mx6q_sabresd.h 文件的 static iomux_v3_cfg_t mx6q_sabresd_pads[] 结构体中,这样就告诉了系统将这个引脚作为GPIO使用。
问题一:请问我这个理解是否有问题?

2、 在 arch/arm/mach-mx6/board-mx6q_sabresd.c 中有宏定义 #define SABRESD_CAP_TCH_INT0  IMX_GPIO_NR(6, 8)  , 这个SABRESD_CAP_TCH_INT0 就是我要代替 S5PV210_GPH1(3) 的名字。
问题二:请问SABRESD_CAP_TCH_INT0是否就是最终的引脚名称?
问题三:如果我使用 MX6Q_PAD_NANDF_ALE__RAWNAND_ALE 这个功能,请问 #define SABRESD_CAP_TCH_INT0 IMX_GPIO_NR(6,8) 中的数字还是6和8么? 这个数字是通过哪里确定的?

3、 我在TP的代码中用SABRESD_CAP_TCH_INT0 代替了 S5PV210_GPH1(3) ,可是编译时会报“未定义”错误。所以我就把 “#define SABRESD_CAP_TCH_INT0 IMX_GPIO_NR(6,8) ” 直接放入TP的源码头文件中。
问题四:请问这样有问题吗?如果有,请问怎么改?

问题五:imx6的datasheet中介绍的IOMUX到底做什么用的呢?看了那么多介绍,我也没把它跟我看到的代码联系起来,请各位指点一下(我要用GPIO模拟reset信号时,估计能用到)。


问题有点多,请各位多多指教。



相关帖子

沙发
lqland| | 2014-8-1 20:56 | 只看该作者
来顶顶

使用特权

评论回复
板凳
bestray| | 2014-8-3 11:45 | 只看该作者
我也非常想知道,不久就要用了~

使用特权

评论回复
地板
chaoswosting|  楼主 | 2014-8-4 15:38 | 只看该作者
@FSL_TICS_Rita  请帮忙解答一下。我写这么一大堆东西,连个回应都没有。。。。 太纠结了

使用特权

评论回复
5
FSL_TICS_Rita| | 2014-8-5 16:03 | 只看该作者
chaoswosting 发表于 2014-8-4 15:38
@FSL_TICS_Rita  请帮忙解答一下。我写这么一大堆东西,连个回应都没有。。。。 太纠结了  ...

楼主你好,由于我们的论坛上的问题很多,有时候不能够及时给大家回复,望理解哈。

使用特权

评论回复
6
FSL_TICS_Rita| | 2014-8-5 16:07 | 只看该作者
chaoswosting 发表于 2014-8-4 15:38
@FSL_TICS_Rita  请帮忙解答一下。我写这么一大堆东西,连个回应都没有。。。。 太纠结了  ...

关于你帖中提到的问题:
首先第一个的话,你的理解是正确的。
第二个,这个定义是可以自己定义的,你自己可以修改的。
第三,关于你移植触摸屏,在原理图中你可以看到中断信号已经引出来,关于RST的话如果你使用TP23,原来它是作为一个测试点,如果你使用,需要将其连接到GPIO上,然后通过GPIO模拟RST 信号。

使用特权

评论回复
7
FSL_TICS_Rita| | 2014-8-5 16:08 | 只看该作者
IOMUX是用做复用使用的,手册中有详细介绍的吧。

使用特权

评论回复
8
chaoswosting|  楼主 | 2014-8-5 22:24 | 只看该作者
FSL_TICS_Rita 发表于 2014-8-5 16:07
关于你帖中提到的问题:
首先第一个的话,你的理解是正确的。
第二个,这个定义是可以自己定义的,你自己 ...

谢谢您的解答。
请您在抽空看看问题三,我感觉要变换一个引脚的作用的话,不知道如何更改它的定义,希望能指导一下。

还要一个问题就是,官方的触摸屏有用到RST引脚么?如果有的话,请问你们接到的是哪个引脚呢?

使用特权

评论回复
9
FSL_TICS_Rita| | 2014-8-6 11:38 | 只看该作者
chaoswosting 发表于 2014-8-5 22:24
谢谢您的解答。
请您在抽空看看问题三,我感觉要变换一个引脚的作用的话,不知道如何更改它的定义,希望 ...

好的,我再帮你看一下,然后给你回复哈~~

使用特权

评论回复
10
chaoswosting|  楼主 | 2014-8-6 11:44 | 只看该作者
FSL_TICS_Rita 发表于 2014-8-6 11:38
好的,我再帮你看一下,然后给你回复哈~~

多谢,最近在搞这一块,问题比较多,麻烦你了!

使用特权

评论回复
11
FSL_TICS_Rita| | 2014-8-6 11:45 | 只看该作者
chaoswosting 发表于 2014-8-6 11:44
多谢,最近在搞这一块,问题比较多,麻烦你了!

不客气的:)

使用特权

评论回复
12
aeromoon| | 2014-8-6 17:07 | 只看该作者
chaoswosting 发表于 2014-8-5 22:24
谢谢您的解答。
请您在抽空看看问题三,我感觉要变换一个引脚的作用的话,不知道如何更改它的定义,希望 ...

你参考这个,不知道是不是你说的问题。
【经验分享】飞思卡尔IMX6处理器的GPIO配置方式
https://bbs.21ic.com/forum.php?mod=viewthread&tid=687760&fromuid=892276

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

180

帖子

1

粉丝