任何人都可以帮助弄清楚以下代码的含义
尤其是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
>;
};
};
答案 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