设备树 GPIO 引脚多路复用值计算
Device Tree GPIO Pin Multipexing Value Calculation
我使用的是自定义 i.MX6 板,我正在设备树中配置引脚多路复用。
谁能告诉我这个值是怎么计算的
MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x130b0
相同的GPIO在不同的dtsi中以不同的方式配置
MX6QDL_PAD_SD1_DAT2__GPIO1_IO19 0x80000000
MX6QDL_PAD_SD1_DAT2__GPIO1_IO19 0x030b0
我知道的是我们把PADSDA1_DAT2配置成GPIO1_IO19模式..但是为什么值不一样..
感谢您的宝贵时间
要了解该值的实际含义,您必须参考 IMX6Q 参考手册章节 36.4.457 Pad Control Register (IOMUXC_SW_PAD_CTL_PAD_SD1_DATA2)。
您还可以查看内核源文档https://www.kernel.org/doc/Documentation/devicetree/bindings/pinctrl/fsl%2Cimx-pinctrl.txt,了解有关设备树源的更多一般信息。
这个值用来控制PAD(滞后,上拉,..)。
比如要使能迟滞,就要设置寄存器的第16位,如果要开漏,就要设置第11位。
在你的情况下,你想占用 SD1_DAT2 Pad to Signal GPIO1_IO19 并将 Pad 控制寄存器值设置为 0x8000000(或 0x30b0 但你必须设置对你更方便的值) .
我使用的是自定义 i.MX6 板,我正在设备树中配置引脚多路复用。
谁能告诉我这个值是怎么计算的
MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x130b0
相同的GPIO在不同的dtsi中以不同的方式配置
MX6QDL_PAD_SD1_DAT2__GPIO1_IO19 0x80000000
MX6QDL_PAD_SD1_DAT2__GPIO1_IO19 0x030b0
我知道的是我们把PADSDA1_DAT2配置成GPIO1_IO19模式..但是为什么值不一样..
感谢您的宝贵时间
要了解该值的实际含义,您必须参考 IMX6Q 参考手册章节 36.4.457 Pad Control Register (IOMUXC_SW_PAD_CTL_PAD_SD1_DATA2)。
您还可以查看内核源文档https://www.kernel.org/doc/Documentation/devicetree/bindings/pinctrl/fsl%2Cimx-pinctrl.txt,了解有关设备树源的更多一般信息。
这个值用来控制PAD(滞后,上拉,..)。
比如要使能迟滞,就要设置寄存器的第16位,如果要开漏,就要设置第11位。
在你的情况下,你想占用 SD1_DAT2 Pad to Signal GPIO1_IO19 并将 Pad 控制寄存器值设置为 0x8000000(或 0x30b0 但你必须设置对你更方便的值) .