]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - arch/mn10300/proc-mn2ws0050/include/proc/intctl-regs.h
Merge tag 'v2.6.37' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / arch / mn10300 / proc-mn2ws0050 / include / proc / intctl-regs.h
diff --git a/arch/mn10300/proc-mn2ws0050/include/proc/intctl-regs.h b/arch/mn10300/proc-mn2ws0050/include/proc/intctl-regs.h
new file mode 100644 (file)
index 0000000..a1e9772
--- /dev/null
@@ -0,0 +1,29 @@
+#ifndef _ASM_PROC_INTCTL_REGS_H
+#define _ASM_PROC_INTCTL_REGS_H
+
+#ifndef _ASM_INTCTL_REGS_H
+# error "please don't include this file directly"
+#endif
+
+/* intr acceptance group reg */
+#define IAGR                   __SYSREG(0xd4000100, u16)
+
+/* group number register */
+#define IAGR_GN                        0x003fc
+
+#define __GET_XIRQ_TRIGGER(X, Z) (((Z) >> ((X) * 2)) & 3)
+
+#define __SET_XIRQ_TRIGGER(X, Y, Z)            \
+({                                             \
+       typeof(Z) x = (Z);                      \
+       x &= ~(3 << ((X) * 2));                 \
+       x |= ((Y) & 3) << ((X) * 2);            \
+       (Z) = x;                                \
+})
+
+/* external pin intr spec reg */
+#define EXTMD0                 __SYSREG(0xd4000200, u32)
+#define GET_XIRQ_TRIGGER(X)    __GET_XIRQ_TRIGGER(X, EXTMD0)
+#define SET_XIRQ_TRIGGER(X, Y) __SET_XIRQ_TRIGGER(X, Y, EXTMD0)
+
+#endif /* _ASM_PROC_INTCTL_REGS_H */