mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-01 17:10:11 +00:00
a752a8b4c4
Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
35 lines
583 B
C
35 lines
583 B
C
/*
|
|
* Copyright (C) 2006 Atmel Corporation
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
#include <common.h>
|
|
|
|
#include <asm/sysreg.h>
|
|
|
|
int interrupt_init(void)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
void enable_interrupts(void)
|
|
{
|
|
asm volatile("csrf %0" : : "n"(SYSREG_GM_OFFSET));
|
|
}
|
|
|
|
int disable_interrupts(void)
|
|
{
|
|
unsigned long sr;
|
|
|
|
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);
|
|
}
|