diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2001-05-25 16:28:46 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2001-05-25 16:28:46 +0000 |
commit | 332484b52e06e5ee8318297610ffa472a4087da8 (patch) | |
tree | bd9d988742a26002e6efff4c2c3383afef0a816c /c/src/lib/libbsp/m68k/mrm332/include/mrm332.h | |
parent | 2000-05-25 Matt Cross <profesor@gweep.net> (diff) | |
download | rtems-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.h | 71 |
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_ */ |