内容
[DESCRIPTION]
浅析不开机的uart log
-
类似complex R/W mem test fail 在preloader阶段挂掉,请和弊司联系;
-
[SD0] DAT CRC error,请打patch:ALPS00787669;
-
NAND项目:
-
init: command r=-1 ' mount ubifs /system wait'
-
init: command r=-1 ' mount ubifs /data nosuid nodev wait'
-
init: command r=-1 ' mount ubifs /cache nosuid nodev wait'
-
eMMC项目:
-
init: command r=-1 ' mount ext4 /emmc@android /system noatime ro remount wait'
-
init: command r=-1 ' mount ext4 /emmc@usrdata /data noatime nosuid nodev wait noauto_da_alloc,discard'
-
init: command r=-1 ' mount ext4 /cache noatime nosuid nodev wait noauto_da_alloc,discard'
出现类似NAND项目或者eMMC项目的任一条错误,请按照[FAQ05169] [Storage]如何从手机上readback任意分区的image回来
的说明read back对应的分区数据;对于NAND项目,需要page only和page +spare两种方式
-
log中出现Exception stack,则请提供对应版本的symbols(须与抓取log的问题机器中版本为同一次编译生成):\kernel\out\vmlinux
其他说明:
-
[SD0] SET_CLK(52000kHz): SCLK(50000kHz) 表示eMMC在preloader阶段工作在52MHZ
-
msdc0 -> !!! Set<200000KHz> Source<200000KHz> 表示eMMC在kernel阶段工作在200MHZ
-
对于log中出现data crc error,time out的情况,时常需要对eMMC的工作频率进行降低,pl、lk和kernel阶段的clk设定分别为
-
\mediatek\platform\mt6×××\preloader\src\drivers\msdc.c
void msdc_config_clock(struct mmc_host *host, int ddr, u32 hz)
-
\mediatek\platform\mt6×××\lk\msdc.c
void msdc_config_clock(struct mmc_host *host, int ddr, u32 hz)
-
\mediatek\platform\mt6×××\kernel\drivers\mmc-host\sd.c
static void msdc_set_mclk(struct msdc_host *host, int ddr, u32 hz)
对应的降频处理修改点为下面三支文件去除MSDC_UHS1,可以查看patch:ALPS00787669的修改来进一步理解:
\mediatek\custom\project\lk\cust_msdc.c
\mediatek\custom\project\preloader\msdc_cust.c
\mediatek\custom\project\kernel\core\src\board.c
|