Mtk android中的设备树,msm8909+android5.1 device tree(dt) 设备树组成和编译

1.Device tree设备树概述

设备树包含DTC(device treecompiler),DTS(device treesource和DTB(device treeblob)。其对应关系如图1-1所示:

128721_0.png

图1

DTS、DTC、DTB之间的关系

1.1 DTS和DTSI

.dts文件是一种ASCII文本对Device Tree的描述,放置在内核的/arch/arm/boot/dts目录。一般而言,一个.dts文件对应一个ARM的machine。

由于一个SOC可能有多个不同的电路板,而每个电路板拥有一个 .dts。这些dts势必会存在许多共同部分,为了减少代码的冗余,设备树将这些共同部分提炼保存在.dtsi文件中,供不同的dts共同使用。.dtsi的使用方法,类似于C语言的头文件,在dts文件中需要进行include.dtsi文件。当然,dtsi本身也支持include 另一个dtsi文件。

1.2 DTC

DTC为编译工具,它可以将.dts文件编译成.dtb文件。DTC的源码位于内核的scripts/dtc目录,内核选中CONFIG_OF,编译内核的时候,主机可执行程序DTC就会被编译出来。即scripts/dtc/Makefile中

hostprogs-y := dtc

always := $(hostprogs-y)

This will tell kbuild to build lxdialogeven if not referenced in any rule.

在内核的arch/arm/boot/dts/Makefile中,若选中某种SOC,则与其对应相关的所有dtb文件都将编译出来。在linux下,make dtbs可单独编译dtb。以下截取了qcom平台的一部分。

ifeq ($(CONFIG_OF),y)

#used for cleaning - not building

subdir- := qcom

endif

qcomMakefile

ifeq ($(CONFIG_OF),y)

dtb-$(CONFIG_ARCH_MSM8909) +=msm8909-sim.dtb

msm8909-rumi.dtb

msm8909-qrd-skua.dtb

msm8909-qrd-skuc.dtb

msm8909-qrd-skue.dtb

msm8909-cdp.dtb

msm8909-mtp.dtb

msm8909-mtp-smb1360.dtb

msm8909-pm8916-mtp-smb1360.dtb

msm8909-512mb-mtp-smb1360.dtb

msm8909-1gb-qrd-skua.dtb

msm8909-1gb-qrd-skuc.dtb

msm8909-1gb-qrd-skue.dtb

msm8909-1gb-cdp.dtb

msm8909-1gb-mtp.dtb

msm8909-1gb-rcm.dtb

msm8909-pm8916-1gb-rcm.dtb

msm8909-pm8916-mtp.d

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值