summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/m68k/mrm332/include/mrm332.h
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/m68k/mrm332/include/mrm332.h')
-rw-r--r--c/src/lib/libbsp/m68k/mrm332/include/mrm332.h71
1 files changed, 71 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/m68k/mrm332/include/mrm332.h b/c/src/lib/libbsp/m68k/mrm332/include/mrm332.h
new file mode 100644
index 0000000000..c0ef0a7d6c
--- /dev/null
+++ b/c/src/lib/libbsp/m68k/mrm332/include/mrm332.h
@@ -0,0 +1,71 @@
+/* mrm332.h
+ *
+ * $Id$
+ */
+
+#ifndef _MRM332_H_
+#define _MRM332_H_
+
+
+/* SIM_MM (SIM Module Mapping) determines the location of the control
+ register block. When MM=0, register addresses range fom 0x7ff000 to
+ 0x7FFFFF. When MM=1, register addresses range from 0xfff000 to
+ 0xffffff. */
+#define SIM_MM 1
+
+
+/* Interrupt related definitions */
+#define SIM_IARB 15
+#define QSM_IARB 10
+
+#define MRM_PIV 64
+#define ISRL_PIT 4 /* zero disables PIT */
+
+#define EFI_QIVR 66 /* 66=>SCI and 67=>QSPI interrupt */
+#define ISRL_QSPI 0
+
+#define EFI_SPINT 24 /* spurious interrupt */
+#define EFI_INT1 25 /* CTS interrupt */
+#define ISRL_SCI 6
+
+
+
+/* System Clock definitions */
+#define XTAL 32768.0 /* crystal frequency in Hz */
+
+#if 0
+/* Default MRM clock rate (8.388688 MHz) set by CPU32: */
+#define MRM_W 0 /* system clock parameters */
+#define MRM_X 0
+#define MRM_Y 0x3f
+#endif
+
+#if 0
+/* 16.77722 MHz: */
+#define MRM_W 1 /* system clock parameters */
+#define MRM_X 1
+#define MRM_Y 0x0f
+#endif
+
+#if 1
+/* 25.16582 MHz: */
+#define MRM_W 1 /* system clock parameters */
+#define MRM_X 1
+#define MRM_Y 0x17
+#endif
+
+#define SYS_CLOCK (XTAL*4.0*(MRM_Y+1)*(1 << (2*MRM_W+MRM_X)))
+#define SCI_BAUD 9600 /* RS232 Baud Rate */
+
+
+/* macros/functions */
+
+/*
+ * This prototype really should have the noreturn attribute but
+ * that causes a warning. Not sure how to fix that.
+ */
+/* static void reboot(void) __attribute__ ((noreturn)); */
+static void reboot(void);
+__inline__ static void reboot() {asm("trap #15; .word 0x0063");}
+
+#endif /* _MRM_H_ */