设备树是一种描述系统中可用硬件组件的数据结构。Linux内核查询设备树以了解在引导过程中加载哪些驱动程序。

设备树文件类型

设备树文件位于arch /胳膊/ boot / dts /并且可以有两个扩展:

  • .dtsi文件是设备树源包括文件。它们描述了几个平台上通用的硬件,这些平台上包含这些文件.dts文件。

  • .dts文件是设备树源文件。它们描述了一个特定的平台。

ConnectCore 6UL系统模块

ConnectCore 6UL是一种系统模块(SOM)解决方案,集成了:

  • NXP i.MX6UL片上系统,具有UART、CAN、SPI、I2C等多种接口

  • DDR3内存

  • NAND内存

  • PMIC芯片

  • Crypto-authentication芯片

  • 选配Wi-Fi +蓝牙芯片

  • 微控制器辅助(MCA)芯片

ConnectCore 6UL系统级模块需要焊接到载波板上。因此,没有一个单一的.dts申请吧。相反,它的硬件特性被收集到.dtsi最终平台可以包含的文件.dts.由于ConnectCore 6UL系统模块提供不同的变体,多个.dtsi已经定义了文件来描述里面的硬件:

文件 描述

imx6ul-ccimx6ul.dtsi

用于ConnectCore 6UL系统模块(SOM)变体的通用硬件

imx6ul-ccimx6ul-wb.dtsi

ConnectCore 6UL系统模块变体,具有Wi-Fi和蓝牙功能

取决于你的ConnectCore 6UL变体,你的最终平台.dts文件将需要包含这些文件之一。

ConnectCore 6UL SBC Express和ConnectCore 6UL SBC Pro

ConnectCore 6UL SBC Express和ConnectCore 6UL SBC Pro是组装ConnectCore 6UL系统模块的载波板。两个板都装配了额外的硬件,如以太网PHY, microSD卡支架,用户led等。

作为最终的平台,两个董事会都有.dts包含ConnectCore 6UL系统模块之一的文件.dtsi文件。

包含文件

SBC Express和SBC Pro板都可以组装不同版本的ConnectCore 6UL系统级模块,因此在特定的板中描述了运营商板的通用硬件.dtsi文件:

文件 描述

imx6ul-ccimx6ulstarter.dtsi

ConnectCore 6UL SBC Express通用硬件

imx6ul-ccimx6ulsbc.dtsi

ConnectCore 6UL SBC Pro的常用硬件

最终平台文件

最后的平台是在特定板中描述的.dts文件:

文件 数码产品智能零件号 无线网络 蓝牙

imx6ul-ccimx6ulstarter-id129.dts

CC-WMX6UL-START

imx6ul-ccimx6ulsbc-id135.dts

CC-WMX6UL-KIT

imx6ul-ccimx6ulsbc-id136.dts

CC-SBP-WMX-JN7A

没有ID号的设备树文件不链接到任何Digi产品。它们对应于:

图形化表示

下面的图表说明了a的组成.dts文件。

ConnectCore 6UL SBC Pro设备树文件

在启动过程中选择设备树

Digi Embedded Yocto构建不同的设备树文件(.dts),将不同的电路板和SOM变体转换为二进制器件树blob (.dtb).设备树blob被放置在linux与内核二进制文件一起进行分区。

引导加载程序使用board_id变量,以确定在引导系统时要使用哪个设备树blob。看到运营商板版本号和ID

要了解如何为自定义载波板创建设备树并使用自定义板ID,请参见添加一个新的自定义机器