mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-17 02:15:02 +00:00
AVR32: Must add NOPs after disabling interrupts for AT32UC3A0512ES
The AT32UC3A0512ES chip has a bug when disabling interrupts. As a workaround, two NOPs can be inserted. Signed-off-by: Gunnar Rangoy <gunnar@rangoy.com> Signed-off-by: Paul Driveklepp <pauldriveklepp@gmail.com> Signed-off-by: Olav Morken <olavmrk@gmail.com> Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
This commit is contained in:
parent
f5f652fa91
commit
b423f94063
1 changed files with 7 additions and 0 deletions
|
@ -35,5 +35,12 @@ int disable_interrupts(void)
|
|||
sr = sysreg_read(SR);
|
||||
asm volatile("ssrf %0" : : "n"(SYSREG_GM_OFFSET));
|
||||
|
||||
#ifdef CONFIG_AT32UC3A0xxx
|
||||
/* Two NOPs are required after masking interrupts on the
|
||||
* AT32UC3A0512ES. See errata 41.4.5.5. */
|
||||
asm("nop");
|
||||
asm("nop");
|
||||
#endif
|
||||
|
||||
return !SYSREG_BFEXT(GM, sr);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue