MTK DDR不能兼容分析

简介: MTK DDR不能兼容分析

在进行MTK DDR的兼容性分析时,首先需要关注的是涉及到DDR的文件路径。以下是一些主要的文件路径:

/vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/tb8735ap1_64_ztk/inc/custom_MemoryDevice.h
/vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/$projectname/inc/custom_MemoryDevice.h
/vendor/mediatek/proprietary/bootable/bootloader/preloader/tools/emigen/MT6735/MemoryDeviceList_MT6737.xls
/vendor/mediatek/proprietary/bootable/bootloader/preloader/tools/emigen/MT6735/MemoryDeviceList_MT6737T.xls
vi out/target/product/$projectname/obj/PRELOADER_OBJ/inc/custom_emi.h

custom_emi.h文件中,我们可以看到以下的定义:

#define CS_PART_NUMBER[0]       H9TQ64A8GTMCUR_KUM
#define CS_PART_NUMBER[1]       KMQ8X000SA_B414
...
#define CS_PART_NUMBER[9]       MT29TZZZ8D5JKERL_107W_95E

MTK支持的DDR型号

以下是公司MTK目前支持的DDR型号:

品牌名

型号

大小

MODE_REG5

Elpida

EDFA232A2MA

8192+8192

0x17800000

Micron

SM128M642E0FD2LG1-125BT

8192+8192

0x00000003

Micron

PB034-125BT

8192+8192

0x00000006

Micron

PB007-125BT

4096+4096

0x00000003

Elpida

EDF8132A1MC_GD_F

4096+4096

0x17800003

Hynix

H9CCNNN8GTMLAR

8192

0x00000006

报错分析

我们在实际操作中遇到了以下的报错:

PB007-125BT ?= KMFN60012M_B[Error] MODE_REG5(DRAM vendor_ID) should not be the same in the Combo list, MODE_REG5(H9CCNNN8GTMLAR)==MODE_REG5(H9TQ64A8GTMCUR_KUM)

原因

  1. MCP类型的Flash兼容,Flash ID必须各不相同。
  2. Discrete Flash和MCP Flash的兼容,要求Vendor ID(在MemoryDeviceList_MTxxxx.xls中的MODE_REG5)各不相同,并且所有兼容的DRAM的类型(如LPDDR2/LPDDR3)必须相同。如果有PCDDR3类型的DRAM,也不可以进行兼容。
  3. Discrete Flash和MCP Flash的兼容,Discrete eMMC的Flash ID不能和MCP中的Flash ID相同。

其他注意事项

  1. 如果刷入了错误的PL,下次刷机可能会无反应。此时需要使用正确的DDR PL进行刷机。
  2. 要兼容新的DDR,需要获取该物料的ETT BIN以及MDL表格,并向mtk online进行查询。
  3. 如果在fasttool中报告了DRAM的错误,可能是因为在pl刷入过程中被拔出。此时需要使用正确的PL重新连接并等待识别。

希望这篇博客能帮助理解MTK DDR的兼容性问题。

相关文章
|
Linux
全志 添加PWM7参数
全志 添加PWM7参数
181 0
|
芯片
MTK平台驱动调试指南 GPIO设置篇
MTK平台驱动调试指南 GPIO设置篇
963 1
Android.mk(makefile)中几个符号的区别:=、 :=、 ?=、 +=
本文解释了在Android.mk文件中使用的几种赋值符号的区别,包括`=`(基本赋值)、`:=`(覆盖赋值)、`?=`(条件赋值,仅在变量未赋值时操作)、`+=`(追加赋值),并通过实验演示了这些符号的具体行为和效果。
777 1
|
11月前
|
存储 编译器 数据处理
C 语言结构体与位域:高效数据组织与内存优化
C语言中的结构体与位域是实现高效数据组织和内存优化的重要工具。结构体允许将不同类型的数据组合成一个整体,而位域则进一步允许对结构体成员的位进行精细控制,以节省内存空间。两者结合使用,可在嵌入式系统等资源受限环境中发挥巨大作用。
350 12
|
API
Camera2预览方向、拍照方向设置
Camera2预览方向、拍照方向设置
1019 2
|
Android开发 芯片
Android源代码定制:移除无用lunch|新建lunch|自定义customize.mk
Android源代码定制:移除无用lunch|新建lunch|自定义customize.mk
741 3
|
传感器 编解码 Linux
V4L2框架 | MIPI Camera指令调试笔记
V4L2框架 | MIPI Camera指令调试笔记
6247 2
|
算法 Python
Python高级数据结构——分治法(Divide and Conquer)
Python高级数据结构——分治法(Divide and Conquer)
270 1
Python高级数据结构——分治法(Divide and Conquer)
MTK/RK/AW 动态屏参参数文件
MTK/RK/AW 动态屏参参数文件
170 0