【问题标题】:i2c pin declaration in device tree file?设备树文件中的 i2c 引脚声明?
【发布时间】:2016-07-05 14:30:03
【问题描述】:

任何人都可以帮助弄清楚下面的代码是什么意思

尤其是 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
            >;
        };
    };

【问题讨论】:

  • 请说明您的主板正在使用哪个CPU,这样可以参考正确的设备树绑定文档。
  • 我正在使用控创 smarc-samx6i 板,并使用 NXP imx6q 的处理器,该设备树节点属于 yocto。

标签: embedded-linux device-tree


【解决方案1】:

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

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

特别是,这部分在这里是相关的:

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

  • fsl,pins:每个条目由 6 个整数组成,代表一个 pin 的 mux 和 config 设置。前 5 个整数使用 PIN_FUNC_ID 宏指定, 可以在设备树源文件夹下的 imx*-pinfunc.h 中找到。 最后一个整数 CONFIG 是 pad 设置值,比如上拉 别针。这就是为什么 fsl,pins 条目看起来像 下面的例子。

用于 CONFIG 的位:NO_PAD_CTL(1

两个 PIN_FUNC_ID 宏

MX6QDL_PAD_GPIO_6__GPIO1_IO06、MX6QDL_PAD_KEY_COL2__GPIO4_IO10

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

这些宏旁边的 0x80000000 值是上面的 NO_PAD_CTL(1 fsl,imx6q-pinctrl.txt

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多