summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/m68k/mrm332/include/mrm332.h
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2001-05-25 16:28:46 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2001-05-25 16:28:46 +0000
commit332484b52e06e5ee8318297610ffa472a4087da8 (patch)
treebd9d988742a26002e6efff4c2c3383afef0a816c /c/src/lib/libbsp/m68k/mrm332/include/mrm332.h
parent2000-05-25 Matt Cross <profesor@gweep.net> (diff)
downloadrtems-332484b52e06e5ee8318297610ffa472a4087da8.tar.bz2
2000-05-25 Matt Cross <profesor@gweep.net>
* New MRM332 BSP for the Mini RoboMind board based on the 68332 microcontroller designed and build by Mark Castelluccio. For details on the MRM see http://www.robominds.com. * .cvsignore, ChangeLog Makefile.am, README, bsp_specs, clock/.cvsignore, clock/Makefile.am, clock/ckinit.c, configure.in, console/.cvsignore, console/Makefile.am, console/console.c, include/.cvsignore, include/Makefile.am, include/bsp.h, include/mrm332.h, misc/dotests, misc/gdbinit68, misc/interr.c, spurious/.cvsignore, spurious/Makefile.am, spurious/spinit.c, start/.cvsignore, start/Makefile.am, start/start.c, startup/.cvsignore, startup/Makefile.am, startup/bspclean.c, startup/bspstart.c, startup/except_vect_332_ROM.S, startup/linkcmds, startup/linkcmds_ROM, timer/.cvsignore, timer/Makefile.am, timer/timer.c, times, wrapup/.cvsignore, wrapup/Makefile.am: Initial files.
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_ */