确定msm8937+android7.1采用的dtb文件
確定msm8937+android7.1采用的dtb文件
?
先來(lái)看入口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我們?cè)趺粗牢覀兊脑O(shè)備對(duì)應(yīng)的是哪個(gè)dtb呢?有兩種方法:
(1)??通過(guò)啟動(dòng)的log信息
[???1.002606] Hardware name: Qualcomm Technologies, Inc. MSM8937-PMI8937 QRDSKU2 (DT)
這里很明顯可以看出來(lái)對(duì)應(yīng)的msm8937-pmi8937-qrd-sku2.dtb。
?
(2)??根據(jù)硬件信息、代碼及設(shè)備樹信息判斷
CPU:msm8937
PMIC:pmi8937
根據(jù)這兩個(gè)信息得到msm8937-pmi8937-qrd-sku2.dtb和msm8937-pmi8937-qrd-sku2-dvt1.dtb,那是用哪個(gè)呢先看\bootable\bootloader\lk\platform\msm_shared\board.c的platform_detect()中的一部分
125行:描述msm_id,對(duì)應(yīng)于CPU,比如Msm8937,其值對(duì)應(yīng)sem.h的枚舉成員:MSM8937 = 294,對(duì)應(yīng)msm8937.dtsi文件的qcom,msm-id = <2940x0>;屬性值中的294.
?
126行:platform_version,8937暫時(shí)沒(méi)用到。
127行:描述于Platform Type ID,這里為0xb,對(duì)應(yīng)qrd,相當(dāng)于smem.h的定義:
enum platform {HW_PLATFORM_UNKNOWN= 0,…HW_PLATFORM_MTP= 8,…HW_PLATFORM_QRD= 11,…HW_PLATFORM_32BITS= 0x7FFFFFFF, };對(duì)應(yīng)于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 IDbits 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()對(duì)HW_PLATFORM_QRD的處理
上面我們知道plat_hw_ver_major=0x12=18,所以可以通過(guò)這里知道我們是SKU1還是SKU2,我們?cè)O(shè)備是SKU2。
?
到此可以知道采用的是msm8937-pmi8937-qrd-sku2.dtb,此文件由哪些dtsi文件組成呢?后面再描述。
?
參考:
高通 MSM8K bootloader : SBL1 .
http://blog.csdn.net/loongembedded/article/details/51013988
?
總結(jié)
以上是生活随笔為你收集整理的确定msm8937+android7.1采用的dtb文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Android中APK直接通过JNI访问
- 下一篇: 高通android开源代码下载