2 Basic device tree
디바이스 트리는 ePAPR(Embedded Power Architecture Platform Requirements)에 대한 Power.org Standard(https://www.power.org/documentation/epapr-version-1-1/: 링크 이상함)에 잘 기술되어 있다. ePAPR은 시스템 하드웨어를 기술하고 해당 기술을 커널 이미지와 분리하는 개념인 디바이스 트리를 정의한다.
디바이스 트리는 소프트웨어에서 동적으로 감지할 수 없는, 시스템의 물리적 디바이스를 기술하는 노드가 있는 트리 구조이다. 노드는 계층적인 부모/자식 관계로 구성된다.
아래 그림은 플랫폼 유형, CPU와 메모리를 기술하는 간단한 디바이스 트리를 나타낸다. 노드는 속성과 토큰 값 컬렉션의 계층 구조로 구성된다. 서브 노드는 계층 구조 내에서 디바이스의 관계를 정의한다. (예: I2C 디바이스는 I2C 컨트롤러 노드의 자식이다.)
Figure 1에서, P1010 기반 시스템의 정의를 볼 수 있다. compatible 키워드는 <manufacturer>, <model> 형식으로 시스템 이름을 지정한다. 이것은 머신에서 실행 방법을 결정하는 데, 운영 체제에서 사용할 수 있다.
더 나아가 트리에서, CPUs라는 노드에서 유닛 주소가 0인 하나의 CPU를 정의하는 것을 볼 수 있다. 이것은 노드의 reg 속성에 해당하며, 단일 CPU를 사용할 수 있음을 나타낸다.
또한, 트리에서 Ethernet이라는 노드의 유닛 주소 값은 FE001000이다.
이 예제는 디바이스 트리의 일부에 대한 간단한 예제를 나타낸다. 다음 섹션에서는 트리에서 노드를 정의하는 데 사용되는 구문의 세부 사항과 고급 예제를 자세하게 설명한다.
'NXP i.MX SoC Family > Device Trees' 카테고리의 다른 글
Introduction to Device Trees - Interrupts (0) | 2022.10.12 |
---|---|
Introduction to Device Trees - Memory mapping and addressing (0) | 2022.10.12 |
Introduction to Device Trees - Syntax (0) | 2022.10.11 |
Introduction to Device Trees - Introduction (0) | 2022.10.11 |
Introduction to Device Trees (0) | 2022.10.11 |