确定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文件相关推荐

  1. U-Boot 之一 零基础编译 U-Boot 过程详解、Image 镜像介绍及使用说明、DTB 文件使用说明

      最近,工作重心要从裸机开发转移到嵌入式 Linux 系统开发,在之前的博文 Linux 之八 完整嵌入式 Linux 环境.(交叉)编译工具链.CPU 体系架构.嵌入式系统构建工具 中详细介绍了嵌 ...

  2. dtb文件linux位置,dtb文件的由来与ARM Linux 3.x的设备树(Device Tree)

    1. ARM Device Tree起源 Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称"this whole ARM thing is a f*ckin ...

  3. 【A200】 TX1核心 JetPack4.6.2版本如何修改DTB文件测试全部SPI

    大家好,我是虎哥,很长时间没有发布新内容,主要是这段时间集中精力,研究DTB设备树的修改,以适配不同载板,同时也是专门做了一个TX1&TX2核心,双网口,可以使用SPI 扩展CAN接口的载板, ...

  4. android dtb文件位置_android MSM8974 上DeviceTree简介

    简介 主要功能是不在代码中硬编码设备信息,而是用专门的文件来描述.整个系统的设备节点会形成一个树,设备节点里可以设置属性.官网在http://www.devicetree.org .入门指南请参考ht ...

  5. [uEnv.txt]在uEnv.txt文件中使用if语句实现Image/dtb文件切换

    指定image/dtb文件 bootdir= bootfile=zImage fdtfile=embest-SBCC_PH8800_WLQ.dtb loadaddr=0x82000000 fdtadd ...

  6. linux内核合并dtb文件,c – 如何修改内核DTB文件

    摘要 我目前正在使用一些自定义板的自定义驱动程序编译Linux内核(内核,模块和DTB).有时我会编译内核并意识到DTB文件中的兼容性字符串不是自定义驱动程序要查找的内容.现在,我可以解决这个问题的唯 ...

  7. python文件传输socket_树莓派采用socket方式文件传输(python)

    两个树莓派,在同一个局域网内,传输文件,采用socket方式. client端代码: import socket import os import hashlib client = socket.so ...

  8. c++语言打开文件对话框,C++采用openfilename打开文件对话框用法实例

    本文实例讲述了C++采用openfilename打开文件对话框用法,分享给大家供大家参考.具体方法如下: 这里需要注意,有的时候会因为没设置nMaxFile,而一直不出现对话框. 具体功能代码如下: ...

  9. springmvc 采用MultipartResolver进行文件上传

    springmvc 采用MultipartResolver解析文件上传请求,利用MultipartFile来进行接收文件,使服务器文件接收和保存变得异常方便. public interface Mul ...

最新文章

  1. mybatis mysql cursor_MySQL JDBC/MyBatis Stream方式读取SELECT超大结果集
  2. 分布式锁能解决 mysql死锁吗_mysql死锁问题分析
  3. C#如何控制方法的执行时间,超时则强制退出方法执行
  4. 虚拟机上装的centos7使用xshell连接不上_使用Xshell连接虚拟机Ubuntu
  5. 统计学习方法第四章课后习题(转载+重新排版+自己解读)
  6. php中日期选择代码,实现JS日期时间选择器
  7. REVERSE-PRACTICE-CTFSHOW-2
  8. Linux 基础 (1) - 在Win10上使用Hyper-v虚拟机安装CentOS7
  9. linux时间树,linux小知识之查看系统时间
  10. mac 10.9 安装 mysql_mac 下安装 mysql (蛋疼)
  11. 利用JNI调用c++函数
  12. STM32 LoRaWAN探索板B-L072Z-LRWAN1入门指南
  13. C predefined macros __FILE__,__LINE__,__func__
  14. 五年磨一剑:滴滴顺风车服务端之稳定性规范
  15. 第二课 程小奔之辨别颜色
  16. ASP.NET WEB API微信支付通知接口,返回xml数据,微信服务器不识别问题
  17. SY6982E芯片了解
  18. 网易java开发实习日记
  19. android 设置空动画,Android WebView 空白等待时加载动画
  20. linux-常用命令整理(系统)

热门文章

  1. 005_logback介绍
  2. 005_JavaScript使用
  3. 怎么用class引入svg_【蓝湖指北】走向设计巅峰,从蓝湖 Sketch 插件开始,用它!...
  4. MySQL数据库:完整性约束
  5. Windows 系统电脑开机速度加快
  6. Visual Studio 2015软件安装教程
  7. python0.1+0.2不等于0.3_为什么0.1 + 0.2不等于0.3?
  8. 如果常数项没有经过显著性检验_Cg,Cgk 能代替偏倚显著性检验?
  9. MySQL 管理方法
  10. 计算机网络:第一章 概述