ARM知识分享-i.MX6Q GPIO复用修改方法

平台: OKMX6Q-S2

系统: Linux

内核版本: Linux-3.0.35

i.MX6Q GPIO复用修改方法,验证平台为飞凌嵌入式OKMX6Q-S2开发板,基于ARM Corte-A9 架构,i.MX6Q四核处理器,其它平台可参考使用。本次修改将原SD卡功能占用的部分引脚释放,复用为GPIO。具体的GPIO号需要参考i.MX6 CPU手册(IMX6DQRM.pdf)的第四章,Chapter 4 External Signals and Pin Multiplexing。

i.MX6 CPU手册路径:飞凌嵌入式OKMX6Q-S2、OKMX6DL-S2用户资料(A)/硬件/Datasheet/i.MX6/IMX6DQRM.pdf

1、修改流程

修改文件 arch/arm/mach-mx6/board-mx6q_sabresd.h,在其中增加如下定义:

    /*GPIO*/

   MX6Q_PAD_SD3_CLK__GPIO_7_3,

   MX6Q_PAD_SD3_CMD__GPIO_7_2,

   MX6Q_PAD_SD3_DAT2__GPIO_7_6,

   MX6Q_PAD_SD3_DAT3__GPIO_7_7,

   MX6Q_PAD_SD3_DAT4__GPIO_7_1,

   MX6Q_PAD_SD3_DAT5__GPIO_7_0,

   MX6Q_PAD_SD3_DAT6__GPIO_6_18,

   MX6Q_PAD_SD3_DAT7__GPIO_6_17,

   MX6Q_PAD_NANDF_D1__GPIO_2_1,

   MX6Q_PAD_NANDF_D0__GPIO_2_0,

将原来的 SD卡的功能注释掉

/ USDHC3 /

/* MX6Q_PAD_SD3_CLK__USDHC3_CLK_50MHZ,

    MX6Q_PAD_SD3_CMD__USDHC3_CMD_50MHZ,

    MX6Q_PAD_SD3_DAT0__USDHC3_DAT0_50MHZ,

    MX6Q_PAD_SD3_DAT1__USDHC3_DAT1_50MHZ,

    MX6Q_PAD_SD3_DAT2__USDHC3_DAT2_50MHZ,

    MX6Q_PAD_SD3_DAT3__USDHC3_DAT3_50MHZ,

    MX6Q_PAD_SD3_DAT4__USDHC3_DAT4_50MHZ,

    MX6Q_PAD_SD3_DAT5__USDHC3_DAT5_50MHZ,

    MX6Q_PAD_SD3_DAT6__USDHC3_DAT6_50MHZ,

    MX6Q_PAD_SD3_DAT7__USDHC3_DAT7_50MHZ,

    MX6Q_PAD_NANDF_D0__GPIO_2_0,         

    MX6Q_PAD_NANDF_D1__GPIO_2_1,            */

注: Linux-3.0.35 版本的内核将引脚功能定义在 arch/arm/plat-mxc/include/mach/iomux-mx6q.h文件中,其中对每个引脚的全部复用功能进行了定义,有兴趣可以看一下。

2、测试

GPIO

球号 定义 GPIO号

89 MX6Q_PAD_SD3_CLK__GPIO_7_3 195

91 MX6Q_PAD_SD3_CMD__GPIO_7_2 194

94 MX6Q_PAD_SD3_DAT2__GPIO_7_6 198

93 MX6Q_PAD_SD3_DAT3__GPIO_7_7 199

92 MX6Q_PAD_SD3_DAT4__GPIO_7_1 193

90 MX6Q_PAD_SD3_DAT5__GPIO_7_0 192

88 MX6Q_PAD_SD3_DAT6__GPIO_6_18 178

87 MX6Q_PAD_SD3_DAT7__GPIO_6_17 177

83 MX6Q_PAD_NANDF_D1__GPIO_2_1 33

84 MX6Q_PAD_NANDF_D0__GPIO_2_0 32

GPIO_M_N到GPIOX的算法,GPIOX=(M-1)32+N,例如 GPIO_4_28=(4-1)32+28=124

测试命令

echo 33 > /sys/class/gpio/export

echo out > /sys/class/gpio/gpio33/direction

echo 1 > /sys/class/gpio/gpio33/value

cat /sys/class/gpio/gpio33/value

原文地址:https://blog.51cto.com/14771058/2486548

时间: 2024-10-14 08:11:08

ARM知识分享-i.MX6Q GPIO复用修改方法的相关文章

ARM知识分享— iMX6 UART4如何解除GPS占用

iMX6 Android系统支持VK1613 GPS模块,其对应UART4接口,该串口被GPS占用,无法当做普通串口来使用,iMX6 UART4应该如何解除GPS占用?平台介绍: 本次验证使用的硬件平台为飞凌嵌入式 OKMX6Q-C 开发板(产品详情:www.forlinx.com/68.htm),基于ARM Corte-A9 架构,i.MX6Q四核处理器,其它平台可参考使用.具体 解除占用的 实现操作步骤如下: 1.去掉init.rc文件中的定义 diff --git a/device/fsl

SCOM 2012知识分享-18:替代管理包

适应平台:System Center 2012 RTM/SP1 ------------------------------------------------------------------------------------------------------ 导入管理包时,System Center 2012 – Operations Manager 将发现管理包定义的对象,并开始将管理包的规则和监视器应用于已发现的对象. 你始终应该首先在预生产环境中导入新管理包,以便能够评估此管理包

SCOM 2012知识分享-23:体验客户端监视

适应平台:System Center 2012 RTM/SP1 ------------------------------------------------------------------------------------------------------ 您可以让客户端向作为中央收集点的 Operations Manager 管理服务器发送 CEIP 数据,而不是让数量众多的客户端各自单独地报告数据.然后主 CEIP 服务的管理服务器可以向 Microsoft 转发数据.从客户端到

(知识分享)软硬件调试九法:第九条规则 如果你不修复一个bug,它将永远 存在

1.查证问题确已被修复 如果遵循了“制造失败”这条规则,就知道如何验证你确实修复了问题.无论问题和修复看起来多么明显,你都无法保证修复是有效的,直到做了测试并验证. 2.查证确实你的修复措施解决了问题 如果你取消这个修复,系统再次出现失败,再应用这个修复,问题消失,才能够证明你确实修复了问题.这样做的原因是,在调试期间,往往会改变一些不属于修复的地方,有时这些改变会隐藏问题,如果没有意识到这一点,发现测试起作用了,就高高兴兴的回家了,因为你做的修复和问题消失毫无关系,因此修复方案到达客户后,可能

SCOM 2012知识分享-22:额外管理选项

适应平台:System Center 2012 RTM/SP1 ------------------------------------------------------------------------------------------------------ 除了我们之前介绍的日常比较频繁接触的一些功能之外,SCOM还有一些其他可能用到的管理操作和设置.下面来具体看一看. 首先是服务器的安全设置,如图. 在安全设置里面我们可以配置是否允许手动代理的安装,如图. 然后我们在常规里面,可以

基于jfinal3.2构建的知识分享网[ 2017年08月27日 更新 ]

知识分享网(51fenxiang.xyz),是基于JFinal3.2+eayui1.5.2等技术构建的一款知识共享服务平台,该平台有利于企业和团队构建碎片化的知识分享平台,充分利用闲暇时间记忆碎片化的知识,提升企业或团队整体技能和知识水平. 访问网址: http://51fenxiang.xyz  http://www.mxtt.cc  QQ:303629685 权限系统模块演示:http://pan.baidu.com/s/1nvBkth3

2015第43周五知识分享会

晚上去青年路参加了wiz笔记主办的知识分享会,感觉里面的很多知识观点自己都懂都知道,但是如果要自己去讲也未必有晚上分享者讲的好,其实最主要的还是多讲故事,结合可视化的图文讲故事,最好能讲自己的经历故事,实在讲不出自己的故事,就讲自己听了的哪些生动有趣好玩的故事. 通过装修谈学习力的切入点很好,但感觉讲的太浅,其实就讲几点结构化知识,从书和知乎上获取高质量的信息,向内行一样提问. 知识的修炼重点就是讲搜集.整理.思考.实践分享的过程,纵向目录维度和横向标签维度,努力将数据变成信息再变成知识,最终沉

SCOM 2012知识分享-21:无代理管理

适应平台:System Center 2012 RTM/SP1 ------------------------------------------------------------------------------------------------------ 如果无法或不适合在计算机上安装代理,请使用计算机无代理监视. 无代理管理的计算机是使用操作控制台发现的基于 Windows 的计算机. 你可以分配管理服务器或代理管理的计算机来提供计算机的远程代理功能. 管理无代理管理的计算机的方

SCOM 2012知识分享-20:管理用户角色

适应平台:System Center 2012 RTM/SP1 ------------------------------------------------------------------------------------------------------ 在 System Center 2012 – Operations Manager 中,用户角色是用于分配访问监视数据以及执行操作所需的权限的方法. 用户角色旨在应用于用户组,这些用户需要具有对相同监视对象组的访问权限以及对此组执