summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorStefan Agner <stefan.agner@toradex.com>2014-12-17 17:58:40 +0100
committerStefan Agner <stefan.agner@toradex.com>2014-12-17 18:38:46 +0100
commit6f0bbad6b805cf2014eec54531dbe4ddb4867a91 (patch)
tree111322498c811383e22463057b76b59cd2848434 /include
parent4f10615fb1b80f0f959095c87c662089376d168c (diff)
ARM: imx: vf610: extend MSCM with CPU2CPU interrupt support
Extend the MSCM driver with CPU2CPU interrupt support. Those interrupts are mainly used for the external MCC kernel module which uses the functionality to pass messages to the secondary Cortex-M4 core. In Timesys version (at least up to 1.06), the interrupt handling was directly done in the MCC kernel module. However, because newer kernels use virtual interrupt numbers, it is not possible to use hardcoded hardware IRQ number by default. By requesting the interupts within the MSCM driver and exporting some helper functions.
Diffstat (limited to 'include')
-rw-r--r--include/linux/vf610_mscm.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/vf610_mscm.h b/include/linux/vf610_mscm.h
new file mode 100644
index 000000000000..881fbd772a95
--- /dev/null
+++ b/include/linux/vf610_mscm.h
@@ -0,0 +1,11 @@
+#ifndef __VF610_MSCM__
+#define __VF610_MSCM__
+
+#include <linux/interrupt.h>
+
+int mscm_request_cpu2cpu_irq(unsigned int intid, irq_handler_t handler,
+ const char *name, void *priv);
+void mscm_free_cpu2cpu_irq(unsigned int intid, void *priv);
+void mscm_trigger_cpu2cpu_irq(unsigned int intid, int cpuid);
+
+#endif /* __VF610_MSCM__ */