android 开机流程分析
@@@@platform/mt6582/lk/platform.c:
1. void platform_early_init(void)
{
/* initialize the uart */
uart_init_early();
platform_init_interrupts();
platform_early_init_timer();
mt_gpio_set_default();
mtk_wdt_init();
#ifdef LK_PROFILING
dprintf(INFO,"[PROFILE] ------- WDT Init takes %d ms -------- \n", (int)get_timer(time_wdt_early_init));
g_fb_size = mt_disp_get_vram_size();
g_fb_base = memory_size() - g_fb_size + DRAM_PHY_ADDR;
dprintf(INFO, "FB base = 0x%x, FB size = %d\n", g_fb_base, g_fb_size);
//FIXME: Disable for MT6582 FPGA Ealry Porting
#ifndef DISABLE_DISPLAY_IN_LK_FOR_82_BRINGUP
if (!(lcm_params->type==LCM_TYPE_DSI && lcm_params->dsi.mode ==CMD_MODE))
{printf("tony:will mt_disp_init...000\n");
mt_disp_init((void *)g_fb_base);
}
#endif
}
2.void platform_init(void)
{
#ifdef MTK_EMMC_SUPPORT
mmc_legacy_init(1);
#else
#ifndef MACH_FPGA
nand_init();
nand_driver_test();