summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorCatalin Marinas <catalin.marinas@arm.com>2009-07-20 16:25:37 +0100
committerCatalin Marinas <catalin.marinas@arm.com>2009-09-08 13:19:44 +0100
commit78b124262dda66b1122f70224d5906fd4f14bdbf (patch)
tree650cea3b4214ac9a63a196c4d2680c33015f8542 /include
parent0d7971281206bb437f884652ecbc401701e31919 (diff)
Cortex-M3: Add NVIC support
This patch implements the NVIC (interrupt controller) support for Cortex-M3. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'include')
-rw-r--r--include/asm-arm/hardware/nvic.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/include/asm-arm/hardware/nvic.h b/include/asm-arm/hardware/nvic.h
new file mode 100644
index 000000000000..b7f80266bafd
--- /dev/null
+++ b/include/asm-arm/hardware/nvic.h
@@ -0,0 +1,34 @@
+/*
+ * linux/include/asm-arm/hardware/nvic.h
+ *
+ * Copyright (C) 2008 ARM Limited, All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#ifndef __ASM_ARM_HARDWARE_NVIC_H
+#define __ASM_ARM_HARDWARE_NVIC_H
+
+#include <linux/compiler.h>
+
+#define V7M_SCS 0xe000e000
+#define NVIC_INTR_CTRL (V7M_SCS + 0x004)
+#define NVIC_SYSTICK_CTRL (V7M_SCS + 0x010)
+#define NVIC_SYSTICK_RELOAD (V7M_SCS + 0x014)
+#define NVIC_SYSTICK_CURRENT (V7M_SCS + 0x018)
+#define NVIC_SYSTICK_CALIBRATION (V7M_SCS + 0x01c)
+#define NVIC_SET_ENABLE (V7M_SCS + 0x100)
+#define NVIC_CLEAR_ENABLE (V7M_SCS + 0x180)
+#define NVIC_SET_PENDING (V7M_SCS + 0x200)
+#define NVIC_CLEAR_PENDING (V7M_SCS + 0x280)
+#define NVIC_ACTIVE_BIT (V7M_SCS + 0x300)
+#define NVIC_PRIORITY (V7M_SCS + 0x400)
+#define NVIC_INTR_CTRL_STATE (V7M_SCS + 0xd04)
+#define NVIC_SOFTWARE_INTR (V7M_SCS + 0xf00)
+
+#ifndef __ASSEMBLY__
+void nvic_init(void);
+#endif
+
+#endif