]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - arch/avr32/lib/interrupts.c
Add GPL-2.0+ SPDX-License-Identifier to source files
[karo-tx-uboot.git] / arch / avr32 / lib / interrupts.c
1 /*
2  * Copyright (C) 2006 Atmel Corporation
3  *
4  * SPDX-License-Identifier:     GPL-2.0+
5  */
6 #include <common.h>
7
8 #include <asm/sysreg.h>
9
10 void enable_interrupts(void)
11 {
12         asm volatile("csrf      %0" : : "n"(SYSREG_GM_OFFSET));
13 }
14
15 int disable_interrupts(void)
16 {
17         unsigned long sr;
18
19         sr = sysreg_read(SR);
20         asm volatile("ssrf      %0" : : "n"(SYSREG_GM_OFFSET));
21
22 #ifdef CONFIG_AT32UC3A0xxx
23         /* Two NOPs are required after masking interrupts on the
24          * AT32UC3A0512ES. See errata 41.4.5.5. */
25         asm("nop");
26         asm("nop");
27 #endif
28
29         return !SYSREG_BFEXT(GM, sr);
30 }