freescale imx pin控制驱动程序,如何计算组?

时间:2017-04-27 09:20:10

标签: linux-kernel linux-device-driver device-driver

我试图了解来自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

1 个答案:

答案 0 :(得分:1)

那是因为您引用的DTS文件是.dtsi。它不是真正的主板DTS,它(必须)包含在另一个DTS文件中,例如imx6q-sbc6x.dts。在此DTS文件中,定义了具有更多引脚的其他功能,这就是您可以拥有nfunctions = 2ngroups = 38的原因。

如果您为电路板找到了正确的DTS文件,这些数字应该"对齐"你在转储中看到的东西。