freescale imx pin control driver,如何计算组数?
freescale imx pin control driver, how groups are calculated?
我正在尝试从 Linux 内核中理解 im.X 引脚控制器驱动程序。
http://lxr.free-electrons.com/source/drivers/pinctrl/pinctrl-imx.c?v=3.10#L513
我转储了 info->ngroups = 38 和 info->nfunctions = 2 的值,但未能理解 info->ngroups 的值是如何计算到 38 的,这是受人尊敬的 DTS 文件?
http://lxr.free-electrons.com/source/arch/arm/boot/dts/imx6q.dtsi?v=4.1#L104
那是因为您引用的 DTS 文件是 .dtsi
。它不是真正的板 DTS,它(必须)包含在另一个 DTS 文件中,例如 imx6q-sbc6x.dts。在此 DTS 文件中,定义了具有更多引脚的其他功能,这就是为什么您可以拥有例如 nfunctions = 2
和 ngroups = 38
.
的原因
如果您为您的主板找到正确的 DTS 文件,这些数字应该 "align" 与您在转储中看到的相同。
我正在尝试从 Linux 内核中理解 im.X 引脚控制器驱动程序。 http://lxr.free-electrons.com/source/drivers/pinctrl/pinctrl-imx.c?v=3.10#L513
我转储了 info->ngroups = 38 和 info->nfunctions = 2 的值,但未能理解 info->ngroups 的值是如何计算到 38 的,这是受人尊敬的 DTS 文件?
http://lxr.free-electrons.com/source/arch/arm/boot/dts/imx6q.dtsi?v=4.1#L104
那是因为您引用的 DTS 文件是 .dtsi
。它不是真正的板 DTS,它(必须)包含在另一个 DTS 文件中,例如 imx6q-sbc6x.dts。在此 DTS 文件中,定义了具有更多引脚的其他功能,这就是为什么您可以拥有例如 nfunctions = 2
和 ngroups = 38
.
如果您为您的主板找到正确的 DTS 文件,这些数字应该 "align" 与您在转储中看到的相同。