首页 > 代码库 > android 无法开机的uart log浅析

android 无法开机的uart log浅析

类似complex R/W mem test fail 在preloader阶段挂掉,请和弊司联系;
[SD0] DAT CRC error,请打patch:ALPS00787669;
NAND项目:
init: command r=-1 ‘ mount ubifs ubi@system /system wait‘
init: command r=-1 ‘ mount ubifs ubi@userdata /data nosuid nodev wait‘
init: command r=-1 ‘ mount ubifs ubi@cache /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 /emmc@cache /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

android 无法开机的uart log浅析