zoukankan      html  css  js  c++  java
  • IMX6 GPIO的定义

    比如定义PAD_GPIO_19作为一个GPIO_4_5使用:

    #define  MX6Q_PAD_GPIO_19__GPIO_4_5     (_MX6Q_PAD_GPIO_19__GPIO_4_5 | MUX_PAD_CTRL(NO_PAD_CTRL))  

    看上面的宏:

    _MX6Q_PAD_GPIO_19__GPIO_4_5

    它的定义是:

    #define _MX6Q_PAD_GPIO_19__GPIO_4_5      IOMUX_PAD(0x0624, 0x0254, 5, 0x0000, 0, 0)

    #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进制) 该地址定义PAD是cmos还是schimitt输入,上拉还是下拉,阻抗多少om等功能,请查看寄存器;

    _mux_ctrl_ofs     MUX控制寄存器的偏移地址(16进制), 用于选择引脚的功能

     _mux_mode      MUX模式,bit0~3,范围0~7,ALT的值,0~7,就是选引脚是gpio还是其他功能,一个pad是个确确实实能摸到的芯片的管脚,而这管脚有多种配置,实现不同的功能

    _sel_input_ofs     SELECT_INPUT寄存器偏移地址(16进制)  当ALT的选择使得PAD作为其他PAD也能实现的功能时,这个寄存器才有用。比如关键PIN35PIN45都能做UART_TXD,这个时候,就要在这个寄存器里,对_sel_input,进行设置,具体查看寄存器。

    _pad_ctrl  一般取值为0(好吧,暂不追究)

    因此一个PAD就可以出现下面这么多种配置:

    1. #define _MX6Q_PAD_GPIO_19__KPP_COL_5              
    2.         IOMUX_PAD(0x0624, 0x0254, 0, 0x08E8, 1, 0)  
    3. #define _MX6Q_PAD_GPIO_19__ENET_1588_EVENT0_OUT       
    4.         IOMUX_PAD(0x0624, 0x0254, 1, 0x0000, 0, 0)  
    5. #define _MX6Q_PAD_GPIO_19__SPDIF_OUT1             
    6.         IOMUX_PAD(0x0624, 0x0254, 2, 0x0000, 0, 0)  
    7. #define _MX6Q_PAD_GPIO_19__CCM_CLKO           
    8.         IOMUX_PAD(0x0624, 0x0254, 3, 0x0000, 0, 0)  
    9. #define _MX6Q_PAD_GPIO_19__ECSPI1_RDY             
    10.         IOMUX_PAD(0x0624, 0x0254, 4, 0x0000, 0, 0)  
    11. #define _MX6Q_PAD_GPIO_19__GPIO_4_5           
    12.         IOMUX_PAD(0x0624, 0x0254, 5, 0x0000, 0, 0)  
    13. #define _MX6Q_PAD_GPIO_19__ENET_TX_ER             
    14.         IOMUX_PAD(0x0624, 0x0254, 6, 0x0000, 0, 0)  
    15. #define _MX6Q_PAD_GPIO_19__SRC_INT_BOOT           
    16.         IOMUX_PAD(0x0624, 0x0254, 7, 0x0000, 0, 0) 

    以上的宏定义来自imx6的linux源码的arm/arch/palt-mxc/include/mach/iomux-mx6q.h

    MUX_PAD_CTRL(NO_PAD_CTRL)

    这个好像是一些上拉或下拉,还有电阻的控制。具体还待研究!

    参照:

    http://blog.csdn.net/xnwyd/article/details/9042159

    谢谢!

  • 相关阅读:
    图表处理ZedGraph
    12月16日
    Constraints for override and explicit interface implementation methods are inherited from the base method, so they cannot be specified directly
    (转)EXCEL2007存储格式xlsx
    树型数据结构设计处理
    取得表名以h_开头的表,要使用left,不要使用like
    北京挪动推出神州行5元卡套餐
    手机出口爆炸性增长 品牌输出比例大幅上升
    中电信将进驻国美电器统统门店 启动一体化营销
    联通业务厅开进国美门店
  • 原文地址:https://www.cnblogs.com/cyc2009/p/4023445.html
Copyright © 2011-2022 走看看