デバイスツリー:タグとエイリアスの違いは何ですか?

デバイスツリー:タグとエイリアスの違いは何ですか?

ファイルに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短いです。

引用:http://devicetree.org/Device_Tree_Usage#aliases_Node

関連情報