imx6q平台的gpio配置方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mike8825/article/details/51335628
这里介绍一下imx6q平台的gpio配置方式,如下图所示为原理图(从原理图中可看到每个引脚的名称)。
在这里插入图片描述

比如引脚名称为GPIO_16,打开kernel_imx/arch/arm/boot/dts/imx6q-pinfunc.h文件(该文件都是一些宏定义,固定形式为MX6QDL_PAD_引脚名_引脚功能描述),搜索GPIO_16,可看到如下结果

<mux_reg conf_reg input_reg mux_mode input_val>

#define MX6QDL_PAD_GPIO_16__ESAI_TX3_RX2 0x248 0x618 0x880 0x0 0x1
#define MX6QDL_PAD_GPIO_16__ENET_1588_EVENT2_IN 0x248 0x618 0x000 0x1 0x0
#define MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x248 0x618 0x83c 0x2 0x1
#define MX6QDL_PAD_GPIO_16__SD1_LCTL 0x248 0x618 0x000 0x3 0x0
#define MX6QDL_PAD_GPIO_16__SPDIF_IN 0x248 0x618 0x914 0x4 0x3
#define MX6QDL_PAD_GPIO_16__GPIO7_IO11 0x248 0x618 0x000 0x5 0x0
#define MX6QDL_PAD_GPIO_16__I2C3_SDA 0x248 0x618 0x8ac 0x6 0x2
#define MX6QDL_PAD_GPIO_16__JTAG_DE_B 0x248 0x618 0x000 0x7 0x0

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

这是引脚这个引脚可设置成7中种功能中的一种,这里以设置成普通的GPIO口为例。

打开kernel_imx/arch/arm/boot/dts/imx6qdl-sabresd.dtsi,找到iomuxc节点,添加

MX6QDL_PAD_GPIO_16__GPIO7_IO11 0x80000000(该已经的寄存器配置情况,0x80000000代表不需要配置,具体可见http://blog.csdn.net/mike8825/article/details/51475985)即可配置成普通IO模式。

MX6QDL_PAD_GPIO_16__GPIO7_IO11代表第7组gpio中的第11个gpio口,其中每组32个gpio口.

在驱动中使用gpio_request时,io端口号为IMX_GPIO_NR(7,11)=32×(7-1)+11=203;

在arch/arm/mach-imx/hardware.h,IMX_GPIO_NR定义为

#define IMX_GPIO_NR(bank, nr) (((bank) - 1) * 32 + (nr))


作者:那颗流星的秘密
来源:CSDN
原文:https://blog.csdn.net/mike8825/article/details/51335628
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值