一、设备树介绍
设备树(Device Tree)也是一种描述硬件的数据结构,主要为Linux内核提供板级的硬件描述。
在早期的内核版本中(如 Linux 2.6),CPU 架构的板极硬件特性一般被硬编码在类似 arch/arm/plat-xxx和arch/arm/mach-xxx的目录中,导致内核代码量庞大且板级代码多,采用设备树后,许多硬件的细节可以直接通过它传递给内核,而不再需要在内核中进行大量的冗余编码.
设备树由一个dts文件以及可能的多个dtsi文件组成,经过编译后,生成二进制的dtb文件。
dts 文件 :描述硬件板级的设备树源文件。
dtsi 文件 :为了将 SOC 以及板级的公用硬件特性进行统一,进而简化最终的板级描述文件,一般将SOC公共特性组织成dtsi文件,dts直接或间接的包含多个dtsi(类似于C语言的include头文件),组成最终的板级描述。
dtb :即 Device Tree Blob,dts经过dtc工具编译之后得到dtb文件,dtb通过固件传递到内核。
二、E2000设备树
E2000的dts 和 dtsi 文件一般位于内核的如下目录:arch/arm64/boot/dts/phytium 。
E2000 CPU由E2000D、E2000Q和E2000S三个系列组