imx6q平台的gpio配置方法

阅读: 评论:0

imx6q平台的gpio配置方法

imx6q平台的gpio配置方法

这里介绍一下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代表不需要配置,具体可见)即可配置成普通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))

本文发布于:2024-01-29 20:14:15,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170653045717992.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:iMX6q gpio操作
下一篇:iMX.6Q
标签:方法   平台   imx6q   gpio
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23