X-Git-Url: http://rtime.felk.cvut.cz/gitweb/rtems-devel.git/blobdiff_plain/10b2983fac8faddb905129911bb8248d97679aa0..4b03a407862b0ea1c3acd0305e24818ef1943757:/rtems-patches/current/rtems-update-mrm332-to-mo376.patch diff --git a/rtems-patches/current/rtems-update-mrm332-to-mo376.patch b/rtems-patches/current/rtems-update-mrm332-to-mo376.patch new file mode 100644 index 0000000..330d95b --- /dev/null +++ b/rtems-patches/current/rtems-update-mrm332-to-mo376.patch @@ -0,0 +1,379 @@ +Index: rtems/c/src/lib/libbsp/m68k/mo376/start/start.S +=================================================================== +--- rtems.orig/c/src/lib/libbsp/m68k/mo376/start/start.S ++++ rtems/c/src/lib/libbsp/m68k/mo376/start/start.S +@@ -2,7 +2,7 @@ + * $Id + */ + +-#include "mrm332.h" ++#include "mo376.h" + #include + #include + +Index: rtems/c/src/lib/libbsp/m68k/mo376/include/bsp.h +=================================================================== +--- rtems.orig/c/src/lib/libbsp/m68k/mo376/include/bsp.h ++++ rtems/c/src/lib/libbsp/m68k/mo376/include/bsp.h +@@ -26,7 +26,7 @@ extern "C" { + #include + #include + #include +-#include ++#include + #include + #include + +Index: rtems/c/src/lib/libbsp/m68k/mo376/ChangeLog +=================================================================== +--- rtems.orig/c/src/lib/libbsp/m68k/mo376/ChangeLog ++++ rtems/c/src/lib/libbsp/m68k/mo376/ChangeLog +@@ -11,6 +11,11 @@ + + * include/bsp.h: New header guard. + ++2005-04-08 Pavel Pisa ++ ++ * MO376 BSP for PiKRON's MO_CPU1/MO_CPU2 board started ++ as clone of MRM332 BSP. ++ + 2005-01-07 Ralf Corsepius + + * Makefile.am: Eliminate CFLAGS_OPTIMIZE_V. +Index: rtems/c/src/lib/libbsp/m68k/mo376/clock/ckinit.c +=================================================================== +--- rtems.orig/c/src/lib/libbsp/m68k/mo376/clock/ckinit.c ++++ rtems/c/src/lib/libbsp/m68k/mo376/clock/ckinit.c +@@ -20,7 +20,7 @@ + #include + #include + #include +-#include ++#include + + #define CLOCK_VECTOR MRM_PIV + +Index: rtems/c/src/lib/libbsp/m68k/mo376/configure.ac +=================================================================== +--- rtems.orig/c/src/lib/libbsp/m68k/mo376/configure.ac ++++ rtems/c/src/lib/libbsp/m68k/mo376/configure.ac +@@ -3,7 +3,7 @@ + ## $Id: configure.ac,v 1.14 2004/09/24 06:32:09 ralf Exp $ + + AC_PREREQ(2.59) +-AC_INIT([rtems-c-src-lib-libbsp-m68k-mrm332],[_RTEMS_VERSION],[rtems-bugs@rtems.com]) ++AC_INIT([rtems-c-src-lib-libbsp-m68k-mo376],[_RTEMS_VERSION],[rtems-bugs@rtems.com]) + AC_CONFIG_SRCDIR([bsp_specs]) + RTEMS_TOP(../../../../../..) + +Index: rtems/c/src/lib/libbsp/m68k/mo376/README +=================================================================== +--- rtems.orig/c/src/lib/libbsp/m68k/mo376/README ++++ rtems/c/src/lib/libbsp/m68k/mo376/README +@@ -2,23 +2,24 @@ + # $Id: README,v 1.1 2001/05/25 16:28:46 joel Exp $ + # + +-Description: mrm332 ++Description: mo376 + ============ +-CPU: MC68332 @16 or 25MHz +-RAM: 32k or 512k +-ROM: 512k flash ++CPU: MC68376 @21MHz ++RAM: 1MiB or 2MiB ++ROM: 1MiB or 2MiB flash + +- The Mini RoboMind is a small board based on the 68332 microcontroller +-designed and build by Mark Castelluccio. For details, see: ++ The mo376 BSP supports MO_CPU1/MO_CPU2 boards developed by PiKRON company. ++The design documentation conforms open-source mind of board authors ++and can be found on the company pages + +- http://www.robominds.com ++ http://www.pikron.com/en/main_frame_mo_cpu1.html + +- This BSP was ported from the efi332 BSP by Matt Cross (profesor@gweep.net), +-the efi332 BSP was written by John S Gwynne. ++ This BSP has been cloned from Mini RoboMind BSP written for small board based ++on the 68332 microcontroller designed and build by Mark Castelluccio ++ ++ The mrm332 BSP was ported from the efi332 BSP by Matt Cross (profesor@gweep.net), ++the efi332 was written by John S Gwynne. + + TODO: + ===== +-- integrate the interrupt driven stdin/stdout into RTEMS to (a) reduce +- the interrupt priority and (2) to prevent it from blocking. +-- add a timer driver for the tmtest set. + +Index: rtems/c/src/lib/libbsp/m68k/mo376/Makefile.am +=================================================================== +--- rtems.orig/c/src/lib/libbsp/m68k/mo376/Makefile.am ++++ rtems/c/src/lib/libbsp/m68k/mo376/Makefile.am +@@ -16,7 +16,7 @@ nodist_include_HEADERS = include/bspopts + DISTCLEANFILES = include/bspopts.h + noinst_PROGRAMS = + +-include_HEADERS += include/mrm332.h ++include_HEADERS += include/mo376.h + nodist_include_HEADERS += ../../shared/include/coverhd.h + + EXTRA_DIST = times +Index: rtems/c/src/lib/libbsp/m68k/mo376/console/sci.c +=================================================================== +--- rtems.orig/c/src/lib/libbsp/m68k/mo376/console/sci.c ++++ rtems/c/src/lib/libbsp/m68k/mo376/console/sci.c +@@ -129,7 +129,7 @@ + + // system clock definitions, i dont have documentation on this... + +-#if 0 // Not needed, this is provided in mrm332.h ++#if 0 // Not needed, this is provided in mo376.h + #define XTAL 32768.0 // crystal frequency in Hz + #define NUMB_W 0 // system clock parameters + #define NUMB_X 1 +@@ -1238,7 +1238,7 @@ static void SciSetBaud(uint32_t rate) + + // calculate the register value as a float and convert to an int + // set baud rate - you must define the system clock constant +- // see mrm332.h for an example ++ // see mo376.h for an example + + value = ( (uint16_t) ( SYS_CLOCK / rate / 32.0 + 0.5 ) & 0x1fff ); + +Index: rtems/c/src/lib/libbsp/m68k/mo376/startup/start_c.c +=================================================================== +--- rtems.orig/c/src/lib/libbsp/m68k/mo376/startup/start_c.c ++++ rtems/c/src/lib/libbsp/m68k/mo376/startup/start_c.c +@@ -2,7 +2,7 @@ + * $Id + */ + +-#include ++#include + #include + #define __START_C__ + #include "bsp.h" +Index: rtems/c/src/lib/libbsp/m68k/mo376/times +=================================================================== +--- rtems.orig/c/src/lib/libbsp/m68k/mo376/times ++++ rtems/c/src/lib/libbsp/m68k/mo376/times +@@ -1,5 +1,5 @@ + # +-# Timing Test Suite Results for the MRM332 BSP ++# Timing Test Suite Results for the MO376 BSP + # + # $Id: times,v 1.2 2004/01/07 21:13:50 joel Exp $ + # +@@ -8,9 +8,9 @@ NOTE: This BSP is user submitted and no + + TBD: MATT - update this with real times! + +-Board: MRM332 ++Board: MO376 + CPU: 68332 +-Clock Speed: 20 Mhz ++Clock Speed: 21 Mhz + Memory Configuration: SRAM, DRAM, cache, etc + Wait States: + +Index: rtems/c/src/lib/libbsp/m68k/mo376/include/mo376.h +=================================================================== +--- /dev/null ++++ rtems/c/src/lib/libbsp/m68k/mo376/include/mo376.h +@@ -0,0 +1,70 @@ ++/* mo376.h ++ * ++ * $Id: mo376.h,v 1.5 2004/04/21 16:01:35 ralf Exp $ ++ */ ++ ++#ifndef _MO376_H_ ++#define _MO376_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 1 ++/* 16.77722 MHz: */ ++#define MRM_W 1 /* system clock parameters */ ++#define MRM_X 1 ++#define MRM_Y 0x0f ++#endif ++ ++#if 0 ++/* 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 19200 /* RS232 Baud Rate */ ++ ++/* macros/functions */ ++ ++#ifndef ASM ++ ++/* ++ * 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 /* ASM */ ++ ++#endif /* _MRM_H_ */ +Index: rtems/c/src/lib/libbsp/m68k/mo376/include/mrm332.h +=================================================================== +--- rtems.orig/c/src/lib/libbsp/m68k/mo376/include/mrm332.h ++++ /dev/null +@@ -1,70 +0,0 @@ +-/* mrm332.h +- * +- * $Id: mrm332.h,v 1.5 2004/04/21 16:01:35 ralf Exp $ +- */ +- +-#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 1 +-/* 16.77722 MHz: */ +-#define MRM_W 1 /* system clock parameters */ +-#define MRM_X 1 +-#define MRM_Y 0x0f +-#endif +- +-#if 0 +-/* 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 19200 /* RS232 Baud Rate */ +- +-/* macros/functions */ +- +-#ifndef ASM +- +-/* +- * 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 /* ASM */ +- +-#endif /* _MRM_H_ */ +Index: rtems/make/custom/mo376.cfg +=================================================================== +--- rtems.orig/make/custom/mo376.cfg ++++ rtems/make/custom/mo376.cfg +@@ -1,7 +1,7 @@ + # +-# Config file for the mrm332 BSP ++# Config file for the mo376 BSP + # +-# $Id: mrm332.cfg,v 1.8 2004/02/04 16:50:30 ralf Exp $ ++# $Id: mo376.cfg,v 1.8 2004/02/04 16:50:30 ralf Exp $ + # + + include $(RTEMS_ROOT)/make/custom/default.cfg +@@ -10,7 +10,7 @@ RTEMS_CPU=m68k + RTEMS_CPU_MODEL=m68332 + + # This is the actual bsp directory used during the build process. +-RTEMS_BSP_FAMILY=mrm332 ++RTEMS_BSP_FAMILY=mo376 + + # This contains the compiler options necessary to select the CPU model + # and (hopefully) optimize for it. +@@ -26,7 +26,7 @@ CFLAGS_OPTIMIZE_V=-O4 -fomit-frame-point + ifeq ($(MRM_IN_ROM),yes) + # Build a rommable image - move the .data section after the .text section + # in the image. +-CPU_CFLAGS += -qnolinkcmds -T $(exec_prefix)/mrm332/lib/linkcmds_ROM ++CPU_CFLAGS += -qnolinkcmds -T $(exec_prefix)/mo376/lib/linkcmds_ROM + + # This is a good way to get debug information. The output file is large + # though and greatly slows the build process so only do this if needed. +Index: rtems/c/src/lib/libbsp/m68k/mo376/preinstall.am +=================================================================== +--- rtems.orig/c/src/lib/libbsp/m68k/mo376/preinstall.am ++++ rtems/c/src/lib/libbsp/m68k/mo376/preinstall.am +@@ -44,9 +44,9 @@ $(PROJECT_INCLUDE)/bspopts.h: include/bs + $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bspopts.h + PREINSTALL_FILES += $(PROJECT_INCLUDE)/bspopts.h + +-$(PROJECT_INCLUDE)/mrm332.h: include/mrm332.h $(PROJECT_INCLUDE)/$(dirstamp) +- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/mrm332.h +-PREINSTALL_FILES += $(PROJECT_INCLUDE)/mrm332.h ++$(PROJECT_INCLUDE)/mo376.h: include/mo376.h $(PROJECT_INCLUDE)/$(dirstamp) ++ $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/mo376.h ++PREINSTALL_FILES += $(PROJECT_INCLUDE)/mo376.h + + $(PROJECT_INCLUDE)/coverhd.h: ../../shared/include/coverhd.h $(PROJECT_INCLUDE)/$(dirstamp) + $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/coverhd.h