2017-04-27 9 views
0

私はLinuxカーネルからim.Xピンコントローラドライバを理解しようとしています。 http://lxr.free-electrons.com/source/drivers/pinctrl/pinctrl-imx.c?v=3.10#L513freescale imxピン制御ドライバ、グループの計算方法

私はinfo-> NGROUPS = 38の値をダンプし、info-> nfunctions = 2が、info-のどの値を理解するために失敗した> 38に算出されてNGROUPS、これは尊敬DTSファイルのですか?あなたが参照してくださいDTSファイルが.dtsiですのでです

http://lxr.free-electrons.com/source/arch/arm/boot/dts/imx6q.dtsi?v=4.1#L104

答えて

1

。実際のボードDTSではなく、別のDTSファイルに含まれている必要があります(例:imx6q-sbc6x.dts)。このDTSファイルでは、さらなるピンを持つ他の関数が定義されています。そのため、例えばnfunctions = 2ngroups = 38のようなものがあります。

ボード用の正しいDTSファイルが見つかった場合、これらの番号はダンプに表示されているものと「整列」する必要があります。

+0

答えをありがとう、あなたが言ったことは私には意味があります。 imx6q-nitrogen6x.dtsはimx6q.dtsiとimx6qdl-nitrogen6x.dtsiを含む実際のボードファイルですが、ここでは38にカウントされ、わずか2つの関数に数えられます。 – Milan

+0

2つの関数は 'iomuxc @ 020e0000'ノードの2つの子です。つまり、[imx6q.dtsi](http://lxr.free-electrons.com/source/arch/arm/boot/dts)の' ipu2'です。/imx6q.dtsi?v = 4.1)および[imx6qdl-nitrogen6x.dxi](http://lxr.free-electrons.com/source/arch/arm/boot/dts/imx6qdl-nitrogen6x。 dtsi、v = 4.1)。 38個のグループは、例えば、それぞれ 'ipu2grp-1'や' enetgrp'のように、これらの2つのノードのすべての「グループ」子です。 – Longfield

関連する問題