打印
[i.MX]

关于IOMUX PAD在驱动中实际代码是什么样的呢?

[复制链接]
1617|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
关于如何操作IO口和EIM如何配置的**看了一个多星期,最后都汇总为一个宏定义在/arch/arm/plat-mxc/include/mach/iomux-mx6q.h里面比如:
#define _MX6Q_PAD_GPIO_19__**_COL_5            \  
        IOMUX_PAD(0x0624, 0x0254, 0, 0x08E8, 1, 0)  
#define _MX6Q_PAD_GPIO_19__ENET_1588_EVENT0_OUT     \  
        IOMUX_PAD(0x0624, 0x0254, 1, 0x0000, 0, 0)  
#define _MX6Q_PAD_GPIO_19__SPDIF_OUT1           \  
        IOMUX_PAD(0x0624, 0x0254, 2, 0x0000, 0, 0)  
#define _MX6Q_PAD_GPIO_19__CCM_CLKO         \  
        IOMUX_PAD(0x0624, 0x0254, 3, 0x0000, 0, 0)  
#define _MX6Q_PAD_GPIO_19__ECSPI1_RDY           \  
        IOMUX_PAD(0x0624, 0x0254, 4, 0x0000, 0, 0)  

可能是我看的太多了,现在已经蒙了。在/arch/arm/plat-mxc/include/mach/iomux-mx6q.h这个头文件里面把管脚的所有模式和功能都定义好了,那岂不是功能冲突了?? 我驱动里面包含了这头文件以后 程序该如何写才是正确的做法呢? 比如我只想用GPIO3_12 的IO功能那么这个头文件我该如何利用呢?或者说上边的#define 的那些代码应该放到哪里呢?  看了好几天我是真晕了,希望大家懂我意思的给指点迷津一下。。 谢谢。

相关帖子

沙发
460077234|  楼主 | 2016-1-30 16:17 | 只看该作者
/arch/arm/plat-mxc/include/mach/iomux-mx6q.h 中的截图。 蒙圈了如何使用。

Screenshot from 2016-01-30 14^ ^G.png (153.17 KB )

/arch/arm/plat-mxc/include/mach/iomux-mx6q.h

/arch/arm/plat-mxc/include/mach/iomux-mx6q.h

使用特权

评论回复
板凳
460077234|  楼主 | 2016-1-30 16:26 | 只看该作者
我再补充些
还有上述的头文件关于管脚功能的配置如何跟下边的函数配合使用呢?
       gpio_set_value(MYGPIO3_12, 1);
       gpio_request(MYGPIO3_14, "mygpio14");
       gpio_direction_output(MYGPIO3_12, 1);

使用特权

评论回复
地板
mini1986| | 2016-2-1 15:27 | 只看该作者
宏定义是宏定义,使用是使用,pin的功能复用不就是这样的么,你要使用什么功能将pin配置成相应功能即可......

使用特权

评论回复
5
ourgreatwall| | 2016-3-16 08:49 | 只看该作者
两者是分开来的,配置是配置,操作是操作。

使用特权

评论回复
6
kris_fei| | 2016-3-24 15:39 | 只看该作者
首先你先需要配置它是不是作为GPIO功能,然后才是使用它作为输入输出

使用特权

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

本版积分规则

15

主题

42

帖子

0

粉丝