确定msm8937+android7.1采用的dtb文件

确定msm8937+android7.1采用的dtb文件

 

先来看入口kernel\msm-3.18\arch\arm\boot\dts\qcom\Makefile

dtb-$(CONFIG_ARCH_MSM8937) +=msm8937-rumi.dtb \
       msm8937-pmi8950-cdp.dtb\
       msm8937-pmi8937-cdp.dtb\
       msm8937-pmi8950-ext-codec-cdp.dtb\
       msm8937-pmi8950-mtp.dtb\
       msm8937-pmi8937-mtp.dtb\
       msm8937-pmi8950-rcm.dtb\
       msm8937-pmi8937-rcm.dtb\
       msm8937-pmi8950-qrd-sku1.dtb\
       msm8937-pmi8937-qrd-sku2.dtb\
       msm8937-pmi8950-qrd-sku1-dvt1.dtb\
       msm8937-pmi8937-qrd-sku2-dvt1.dtb\
       apq8037-pmi8950-cdp.dtb\
       apq8037-pmi8937-cdp.dtb\
       apq8037-pmi8950-mtp.dtb\
       apq8037-pmi8937-mtp.dtb

我们怎么知道我们的设备对应的是哪个dtb呢?有两种方法:

(1)  通过启动的log信息

[   1.002606] Hardware name: Qualcomm Technologies, Inc. MSM8937-PMI8937 QRDSKU2 (DT)

这里很明显可以看出来对应的msm8937-pmi8937-qrd-sku2.dtb。

 

(2)  根据硬件信息、代码及设备树信息判断

CPU:msm8937

PMIC:pmi8937

根据这两个信息得到msm8937-pmi8937-qrd-sku2.dtb和msm8937-pmi8937-qrd-sku2-dvt1.dtb,那是用哪个呢先看\bootable\bootloader\lk\platform\msm_shared\board.c的platform_detect()中的一部分


125:描述msm_id,对应于CPU,比如Msm8937,其值对应sem.h的枚举成员:MSM8937 = 294,对应msm8937.dtsi文件的qcom,msm-id = <2940x0>;属性值中的294.

 

126:platform_version,8937暂时没用到。

127:描述于Platform Type ID,这里为0xb,对应qrd,相当于smem.h的定义:

enum platform {
       HW_PLATFORM_UNKNOWN= 0,
       …
       HW_PLATFORM_MTP= 8,
       …
       HW_PLATFORM_QRD= 11,
       …
       HW_PLATFORM_32BITS= 0x7FFFFFFF,
};

对应于msm8937-pmi8937-qrd-sku2.dts文件的qcom,board-id= <0x12000b 0>;

\kernel\Documentation\devicetree\bindings\arm\msm\board-id.txt文件的解释如下:

The cell layout of the qcom,board-idproperty is as follows:
 
  qcom,board-id = <board_id, reserved>
 
where board_id is a 32-bit integer whosebit values are defined as follows:
   bits 31-24 = Platform Subtype ID
   bits 23-16 = Platform Version (Major)
   bits 15-8  = Platform Version(Minor)
bits  7-0  =Platform Type ID

我们这里board_id=0x12000b,可知Platform Type ID=0xb=11,Platform Version(Minor)=0x00=0,Platform Version (Major)=0x12=18,Platform Subtype ID=0x00=0,这和串口打印信息是一致的:B-    390766 - CDT version:3,PlatformID:11,Major ID:18,Minor ID:0,Subtype:0

128:描述Platform Subtype ID,这里为0x00

 

接着看bootable\bootloader\lk\target\msm8952\oem_panel.c下的oem_panel_select()对HW_PLATFORM_QRD的处理


上面我们知道plat_hw_ver_major=0x12=18,所以可以通过这里知道我们是SKU1还是SKU2,我们设备是SKU2

 

到此可以知道采用的是msm8937-pmi8937-qrd-sku2.dtb,此文件由哪些dtsi文件组成呢?后面再描述。

 

参考:

高通 MSM8K bootloader : SBL1 .

http://blog.csdn.net/loongembedded/article/details/51013988

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

loongembedded

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值