ファイルにimx6qdl.dtsi次の定義はGPIOノード(少し短縮):
gpio1: gpio@0209c000 {
[...]
};
gpio2: gpio@020a0000 {
[...]
};
[...]
gpio7: gpio@020b4000 {
[...]
};
そしてこのファイルにエイリアスノード次の属性があります(再び短縮されます)。
aliases {
[...]
gpio0 = &gpio1;
gpio1 = &gpio2;
gpio2 = &gpio3;
gpio3 = &gpio4;
gpio4 = &gpio5;
gpio5 = &gpio6;
gpio6 = &gpio7;
[...]
};
これを行う理由は何ですか?ラベルを上書きしますか?
答え1
エイリアスはLinuxカーネルで使用されますが、デバイスツリーソース(DTS)構成では使用できません。
同時に、DTSファイルのタグを使用してノードを拡張または変更できます。
たとえば、次のようなカスタム DTS ファイルを持つことができます。
#include "imx6qdl.dtsi"
&gpio2 {
[your modifications here]
}
この内容が適用されることをもう一度参照してください。gpio2
商標、エイリアスの代わりに(参照ここ)。
さらに、デバイスツリーソースで使用されるラベルは、phandle
コンテキストに応じてラベル付きノードのフルパスまたはノードの(整数)値に拡張できます。ここ。
答え2
@happyMOOyear、答えを見つけたかどうかわかりませんが、私が理解する方法を教えてくれます。私は同じi.MXチップを使用しています。
2番目の部分では、ラベル付きの定義済みノードを取得し、gpio1@0209c000
そのノード用の新しいALIASを作成します。エイリアスは同じピンを参照する別の方法です。この場合、エイリアスは0から始まるスキームを使用して生成され、より簡単に参照できるようになります。したがって、参照はgpio1@0209c000
と同じでgpio0
短いです。