查看: 2784|回复: 4

[原创] 飞思卡尔IMX6处理器的GPIO配置方式

[复制链接]
  • TA的每日心情
    奋斗
    2018-3-5 10:57
  • 签到天数: 112 天

    连续签到: 1 天

    [LV.6]常住居民II

    发表于 2016-8-6 10:15:16 | 显示全部楼层 |阅读模式
    分享到:
      在linux或android系统中,假如我们要配置飞思卡尔IMX6处理器的GPIO管脚,比如是GPIO_19这个管脚,那么要像这样:
      #define MX6Q_PAD_GPIO_19__GPIO_4_5
      (_MX6Q_PAD_GPIO_19__GPIO_4_5 | MUX_PAD_CTRL(NO_PAD_CTRL))
      这个IOMUX_PAD宏是定义GPIO的关键宏,其原型为:
      #define IOMUX_PAD(_pad_ctrl_ofs, _mux_ctrl_ofs, _mux_mode, _sel_input_ofs,
      _sel_input, _pad_ctrl)
      IOMUX_PAD宏有6个参数,每个参数的意思是:
      参数含义
      _pad_ctrl_ofs控制寄存器的偏移地址(16进制)
      _mux_ctrl_ofsMUX控制寄存器的偏移地址(16进制), 用于选择引脚的功能
      _mux_modeMUX模式,bit0~3,范围0~7
      _select_input_ofsSELECT_INPUT寄存器偏移地址(16进制)
      _select_inputDaisy Chain模式, bit0~1,范围0~3
      _pad_ctrlbits to be set in register _pad_ctrl_ofs for configuration selection
      具体的含义要结合IMX6数据手册【Chapter 36 IMOUX Controller(IOMUXC)】的内容。
      以下就GPIO_19这个管脚的配置进行说明:
      1、_pad_ctrl_ofs
      找到数据手册page 2433:
      从上图可知:_pad_ctrl_ofs = 0x624
      2、_mux_ctrl_ofs、_mux_mode
      找到数据手册page 2055的内容:
      如上图,_mux_ctrl_ofs取值为0x254,_mux_mode范围为000~110
      只有_mux_mode = 0时,_select_input_ofs和_select_input才有效,其余时候_select_input_ofs和_select_input 都为0。
      3、_select_input_of、_select_input
      当_mux_mode = 0时,_select_input_ofs的取值需参考数据手册page 2654:
      此时_select_input_ofs=0x8e8,_select_input=0x1
      4、_pad_ctrl
      _pad_ctrl一般取值为0
      综上所述,GPIO_19的配置宏定义如下:
      #define _MX6Q_PAD_GPIO_19__KPP_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)
      #define _MX6Q_PAD_GPIO_19__GPIO_4_5
      IOMUX_PAD(0x0624, 0x0254, 5, 0x0000, 0, 0)
      #define _MX6Q_PAD_GPIO_19__ENET_TX_ER
      IOMUX_PAD(0x0624, 0x0254, 6, 0x0000, 0, 0)
      #define _MX6Q_PAD_GPIO_19__SRC_INT_BOOT
      IOMUX_PAD(0x0624, 0x0254, 7, 0x0000, 0, 0)
      供货情况:
      天嵌科技提供专业嵌入式板卡和行业解决方案。如有需要,可以联系天嵌科技的销售人员。
      销售电话:020-38219416 38373101
      技术支持:020-38219416转807 820
      网址:http://www.embedsky.com
      官方淘宝:https://embedsky.taobao.com/

    回复

    使用道具 举报

    该用户从未签到

    发表于 2016-8-8 14:13:18 | 显示全部楼层
    已学习
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2016-8-15 09:08:35 | 显示全部楼层
    辛苦了,以后请多多分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-8-17 17:27
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2016-8-17 17:27:49 | 显示全部楼层
    天嵌的i.mx6q还不错,各方面的模块都有的。听说EMMC也升级了,现在我正在更新内核
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2016-8-23 15:45:06 | 显示全部楼层
    更新了,资料升级了吧?去那里问
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-12-12 10:44 , Processed in 0.145560 second(s), 22 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.