SAMA5 NOR boot: Use a static memory variable to determine if/when we boot to NOR FLASH
This commit is contained in:
parent
5fef770362
commit
52f114a10e
|
@ -88,10 +88,19 @@ int nor_main(int argc, char *argv)
|
||||||
{
|
{
|
||||||
uint32_t regval;
|
uint32_t regval;
|
||||||
|
|
||||||
|
/* Here we have a in memory value we can change in the debugger
|
||||||
|
* to begin booting in NOR Flash
|
||||||
|
*/
|
||||||
|
|
||||||
|
static volatile uint32_t wait = 1;
|
||||||
|
|
||||||
#ifdef CONFIG_SAMA5D3xEK_NOR_START
|
#ifdef CONFIG_SAMA5D3xEK_NOR_START
|
||||||
printf("Configuring and booting from NOR FLASH on CS0\n");
|
printf("Configuring and booting from NOR FLASH on CS0\n");
|
||||||
|
wait = 0;
|
||||||
|
|
||||||
#else
|
#else
|
||||||
printf("Configuring NOR FLASH on CS0 and halting\n");
|
printf("Configuring NOR FLASH on CS0 and waiting\n");
|
||||||
|
wait = 1;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Make sure that the SMC peripheral is enabled (But of course it is... we
|
/* Make sure that the SMC peripheral is enabled (But of course it is... we
|
||||||
|
@ -180,16 +189,14 @@ int nor_main(int argc, char *argv)
|
||||||
cp15_invalidate_dcache_all();
|
cp15_invalidate_dcache_all();
|
||||||
cp15_invalidate_tlbs();
|
cp15_invalidate_tlbs();
|
||||||
|
|
||||||
#ifdef CONFIG_SAMA5D3xEK_NOR_START
|
|
||||||
/* Then jump into NOR flash */
|
/* Then jump into NOR flash */
|
||||||
|
|
||||||
|
while (!wait)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
NOR_ENTRY();
|
NOR_ENTRY();
|
||||||
|
|
||||||
#else
|
|
||||||
/* Or just wait patiently for the user to break in with GDB. */
|
|
||||||
|
|
||||||
for (;;);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return 0; /* We should not get here in either case */
|
return 0; /* We should not get here in either case */
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue