/* * Copy U-Boot from OneNAND to DRAM (368KB) */ void Main(void) { volatile unsigned int base = UBOOT_PHY_BASE; int block, page; #if defined(CONFIG_SMDKC100_POP_AC) for (block=0, page = 2; page < 64; page++) { ONENAND_ReadPage((void *)base, block, page); base += ONENAND_PAGE_SIZE; } for (block=1, page = 0; page < 64; page++) { ONENAND_ReadPage((void *)base, block, page); base += ONENAND_PAGE_SIZE; } for (block=2, page = 0; page < 64; page++) { ONENAND_ReadPage((void *)base, block, page); base += ONENAND_PAGE_SIZE; } #elif defined(CONFIG_SMDKC100_POP_D) for (block=0, page = 1; page < 64; page++) { ONENAND_ReadPage((void *)base, block, page); base += ONENAND_PAGE_SIZE; } for (block=1, page = 0; page < 32; page++) { ONENAND_ReadPage((void *)base, block, page); base += ONENAND_PAGE_SIZE; } #endif run_uboot(); }
/* * Copy U-Boot from OneNAND to DRAM (368KB) */ void Main(void) { volatile unsigned int base = UBOOT_PHY_BASE; int block, page; if(ONENAND_PAGE_SIZE == 4096) { #if defined(S5PC110_EVT1) page = 2; #else page = 4; #endif for (block=0; page < 64; page++) { ONENAND_ReadPage((void *)base, block, page); base += ONENAND_PAGE_SIZE; } for (block=1, page = 0; page < 32; page++) { ONENAND_ReadPage((void *)base, block, page); base += ONENAND_PAGE_SIZE; } } else { page = 4; for (block=0; page < 64; page++) { ONENAND_ReadPage((void *)base, block, page); base += ONENAND_PAGE_SIZE; } for (block=1, page = 0; page < 64; page++) { ONENAND_ReadPage((void *)base, block, page); base += ONENAND_PAGE_SIZE; } } run_uboot(); }