在进行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)
原因
- MCP类型的Flash兼容,Flash ID必须各不相同。
- Discrete Flash和MCP Flash的兼容,要求Vendor ID(在
MemoryDeviceList_MTxxxx.xls
中的MODE_REG5)各不相同,并且所有兼容的DRAM的类型(如LPDDR2/LPDDR3)必须相同。如果有PCDDR3类型的DRAM,也不可以进行兼容。 - Discrete Flash和MCP Flash的兼容,Discrete eMMC的Flash ID不能和MCP中的Flash ID相同。
其他注意事项
- 如果刷入了错误的PL,下次刷机可能会无反应。此时需要使用正确的DDR PL进行刷机。
- 要兼容新的DDR,需要获取该物料的ETT BIN以及MDL表格,并向mtk online进行查询。
- 如果在fasttool中报告了DRAM的错误,可能是因为在pl刷入过程中被拔出。此时需要使用正确的PL重新连接并等待识别。
希望这篇博客能帮助理解MTK DDR的兼容性问题。