确定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 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()對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
?
總結
以上是生活随笔為你收集整理的确定msm8937+android7.1采用的dtb文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android中APK直接通过JNI访问
- 下一篇: 高通android开源代码下载