장치 트리: 태그와 별칭의 차이점은 무엇입니까?

장치 트리: 태그와 별칭의 차이점은 무엇입니까?

파일에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 칩을 사용하고 있습니다.

두 번째 부분에서는 레이블이 있는 정의된 노드를 가져와 gpio1@0209c000해당 노드에 대한 새 ALIAS를 만듭니다. 별칭은 동일한 핀을 참조하는 또 다른 방법입니다. 이 경우 별칭은 보다 쉽게 ​​참조할 수 있도록 0부터 시작하는 구성표를 사용하여 생성됩니다. 따라서 참조는 gpio1@0209c000와 동일 gpio0하며 더 짧습니다.

인용하다:http://devicetree.org/Device_Tree_Usage#aliases_Node

관련 정보