summaryrefslogtreecommitdiff
path: root/arch/sh/include/mach-sdk7786
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2010-12-17 09:58:04 (GMT)
committerPaul Mundt <lethal@linux-sh.org>2010-12-17 09:58:04 (GMT)
commit76496f8f2e104b8bb08db09c063a6817d18829a6 (patch)
tree412e7ddac359c88cf6423593d21e2783619d54e3 /arch/sh/include/mach-sdk7786
parentc43328e890b9e3a4ab8e8cb1020a8b1e9fda9ed1 (diff)
downloadlinux-76496f8f2e104b8bb08db09c063a6817d18829a6.tar.xz
sh: mach-sdk7786: Handle baseboard NMI source selection.
The on-board NMI switch is routed through and mangled by the FPGA prior to its delivery to the NMI pin, so add some glue for the various configuration options. The default is to unmask it and enable all input sources. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include/mach-sdk7786')
-rw-r--r--arch/sh/include/mach-sdk7786/mach/fpga.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/sh/include/mach-sdk7786/mach/fpga.h b/arch/sh/include/mach-sdk7786/mach/fpga.h
index 40f0c2d..a9cdac4 100644
--- a/arch/sh/include/mach-sdk7786/mach/fpga.h
+++ b/arch/sh/include/mach-sdk7786/mach/fpga.h
@@ -14,11 +14,16 @@
#define INTTESTR 0x040
#define SYSSR 0x050
#define NRGPR 0x060
+
#define NMISR 0x070
+#define NMISR_MAN_NMI BIT(0)
+#define NMISR_AUX_NMI BIT(1)
+#define NMISR_MASK (NMISR_MAN_NMI | NMISR_AUX_NMI)
#define NMIMR 0x080
#define NMIMR_MAN_NMIM BIT(0) /* Manual NMI mask */
#define NMIMR_AUX_NMIM BIT(1) /* Auxiliary NMI mask */
+#define NMIMR_MASK (NMIMR_MAN_NMIM | NMIMR_AUX_NMIM)
#define INTBSR 0x090
#define INTBMR 0x0a0
@@ -126,6 +131,9 @@
extern void __iomem *sdk7786_fpga_base;
extern void sdk7786_fpga_init(void);
+/* arch/sh/boards/mach-sdk7786/nmi.c */
+extern void sdk7786_nmi_init(void);
+
#define SDK7786_FPGA_REGADDR(reg) (sdk7786_fpga_base + (reg))
/*