summaryrefslogtreecommitdiffstats
path: root/arch/c6x/include
diff options
context:
space:
mode:
authorMark Salter <msalter@redhat.com>2011-10-04 11:17:47 -0400
committerMark Salter <msalter@redhat.com>2011-10-06 19:48:26 -0400
commit69910a284cee7864c9bf96e13505a4ab35ab8dce (patch)
tree8610fa7cbd9055c3c639cf9058a5a8ae15244a38 /arch/c6x/include
parent09831ca73443bd819ad7993db5409b19c899ba33 (diff)
downloadlinux-69910a284cee7864c9bf96e13505a4ab35ab8dce.tar.bz2
C6X: general SoC support
This patch provides a soc_ops struct which provides hooks for SoC functionality which doesn't fit well into other places. Signed-off-by: Mark Salter <msalter@redhat.com> Signed-off-by: Aurelien Jacquiot <a-jacquiot@ti.com> Acked-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/c6x/include')
-rw-r--r--arch/c6x/include/asm/soc.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/arch/c6x/include/asm/soc.h b/arch/c6x/include/asm/soc.h
new file mode 100644
index 000000000000..43f50159e59b
--- /dev/null
+++ b/arch/c6x/include/asm/soc.h
@@ -0,0 +1,35 @@
+/*
+ * Miscellaneous SoC-specific hooks.
+ *
+ * Copyright (C) 2011 Texas Instruments Incorporated
+ *
+ * Author: Mark Salter <msalter@redhat.com>
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2. This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+#ifndef _ASM_C6X_SOC_H
+#define _ASM_C6X_SOC_H
+
+struct soc_ops {
+ /* Return active exception event or -1 if none */
+ int (*get_exception)(void);
+
+ /* Assert an event */
+ void (*assert_event)(unsigned int evt);
+};
+
+extern struct soc_ops soc_ops;
+
+extern int soc_get_exception(void);
+extern void soc_assert_event(unsigned int event);
+extern int soc_mac_addr(unsigned int index, u8 *addr);
+
+/*
+ * for mmio on SoC devices. regs are always same byte order as cpu.
+ */
+#define soc_readl(addr) __raw_readl(addr)
+#define soc_writel(b, addr) __raw_writel((b), (addr))
+
+#endif /* _ASM_C6X_SOC_H */