问题描述:
对于ls104x的核心板,其支持两种启动方式,一种是Qspi启动,一种是emmc启动,然后根据客户实际使用需求拓展出了SD卡启动的方式。但实际上,SD卡启动的原理是插入SD卡之后,直接将SOC上的emmc引脚引到SD卡上,直接抢掉了emmc的引脚。
这样做的问题是,由于SD卡的引脚电平为3.3v,emmc的引脚电平是1.8v,所以如果我们将SD卡和emmc启动的镜像使用同一个,按照SD卡的电平来进行设置的的时候,在emmc启动的时候,给emmc的芯片的电压就是3.3v,会使其更容易损坏,emmc输出的引脚电平为1.8v,会被SOC使用3.3v电平域读取的时候误将高电平信号读成低电平信号,导致emmc无法启动或者出现其他不稳定的现象。
所以,我们需要寻找一个新的解决方法。
已知启动顺序:
QSPI启动时,硬件最早介入1.8v——>RCW介入变成3.3v——>uboot的emmc驱动介入(mmc rescan的时候)——>内核驱动介入1.8v
此过程的uboot是由emmc默认配置读入到RAM的
emmc启动时,硬件最早介入1.8v——>RCW介入变成3.3v——>SPL阶段uboot的emmc驱动介入——>内核驱动介入1.8v
此过程的uboot是由SPL中uboot的emmc驱动配置读入到RAM的。