Пример #1
0
/*
 * 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();
}
Пример #2
0
/*
 * 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();
}