设备树文件中的i2c引脚声明?

时间:2016-07-04 05:04:19

标签: embedded-linux device-tree

任何人都可以帮助弄清楚以下代码的含义

尤其是0x80000000,这个值在下面的设备树节点

中很重要
i2c-gpio-1 {
        pinctrl_smx6_i2c_gpio_1: i2c-gpio-1grp-smx6 {
            fsl,pins = <
                /* SCL GPIO */
                MX6QDL_PAD_GPIO_6__GPIO1_IO06   0x80000000
                /* SDA GPIO */
                MX6QDL_PAD_KEY_COL2__GPIO4_IO10 0x80000000
            >;
        };
    };

1 个答案:

答案 0 :(得分:3)

此设备树节点定义了板上imx6q处理器的两个信号的pinmux配置,用作GPIO(用于bitbanged i2c控制器)。

相关文档文件为:fsl,imx-pinctrl.txt

特别是,这部分与此相关:

  

引脚配置节点的必需属性:

     
      
  • fsl,pins:每个条目由6个整数组成,表示一个引脚的多路复用器和配置设置。使用PIN_FUNC_ID宏指定前5个整数,   可以在设备树源文件夹下的imx * -pinfunc.h中找到。   最后一个整数CONFIG是焊盘设置值,如上拉   销。这就是为什么fsl,引脚条目看起来像   以下示例。
  •   
     

用于CONFIG的位:NO_PAD_CTL(1 <&lt;&lt; 31):表示此引脚不   需要配置。

两个PIN_FUNC_ID宏

  

MX6QDL_PAD_GPIO_6__GPIO1_IO06,MX6QDL_PAD_KEY_COL2__GPIO4_IO10

直接取自此文件:imx6q-pinfunc.h

这些宏旁边的0x80000000值是来自上面的NO_PAD_CTL(1 <&lt;&lt;&lt; 31)宏。这意味着引脚未配置有详细说明的pinmux可能性:fsl,imx6q-pinctrl.txt