diff options
author | Ralf Corsepius <ralf.corsepius@rtems.org> | 2005-12-31 05:09:26 +0000 |
---|---|---|
committer | Ralf Corsepius <ralf.corsepius@rtems.org> | 2005-12-31 05:09:26 +0000 |
commit | ca680bc5890abe0d6bfe7eb4a40a0229f1b6bd36 (patch) | |
tree | 805a5ddce1250235d6133376ddabb5543eb2cf82 /c/src/lib/libbsp/powerpc/gen5200/include/bsp.h | |
parent | Add BuildRoot. (diff) | |
download | rtems-ca680bc5890abe0d6bfe7eb4a40a0229f1b6bd36.tar.bz2 |
New (CVS import Thomas Doerfler <Thomas.Doerfler@embedded-brains.de>'s
submission).
Diffstat (limited to 'c/src/lib/libbsp/powerpc/gen5200/include/bsp.h')
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/include/bsp.h | 245 |
1 files changed, 245 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/powerpc/gen5200/include/bsp.h b/c/src/lib/libbsp/powerpc/gen5200/include/bsp.h new file mode 100644 index 0000000000..7b80905e20 --- /dev/null +++ b/c/src/lib/libbsp/powerpc/gen5200/include/bsp.h @@ -0,0 +1,245 @@ +/*===============================================================*\ +| Project: RTEMS generic MPC5200 BSP | ++-----------------------------------------------------------------+ +| File: bsp.h ++-----------------------------------------------------------------+ +| Partially based on the code references which are named below. | +| Adaptions, modifications, enhancements and any recent parts of | +| the code are: | +| Copyright (c) 2005 | +| Embedded Brains GmbH | +| Obere Lagerstr. 30 | +| D-82178 Puchheim | +| Germany | +| rtems@embedded-brains.de | ++-----------------------------------------------------------------+ +| The license and distribution terms for this file may be | +| found in the file LICENSE in this distribution or at | +| | +| http://www.rtems.com/license/LICENSE. | +| | ++-----------------------------------------------------------------+ +| this file contains board specific definitions | ++-----------------------------------------------------------------+ +| date history ID | +| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | +| 01.12.05 creation doe | +|*****************************************************************| +|*CVS information: | +|*(the following information is created automatically, | +|*do not edit here) | +|*****************************************************************| +|* $Log$ +|* Revision 1.11 2005/12/09 08:57:03 thomas +|* added/modifed file headers +|* +|* Revision 1.10 2005/12/06 14:11:12 thomas +|* added EB file headers +|* + * +|*****************************************************************| +\*===============================================================*/ + +#ifndef __GEN5200_BSP_h +#define __GEN5200_BSP_h + +/* + * distinguish board characteristics + */ +/* + * for PM520 mdule on a ZE30 carrier + */ +#if defined(PM520_ZE30) +#define PM520 +#define GPIOPCR_INITMASK 0x337F3F77 +#define GPIOPCR_INITVAL 0x01552114 +/* we have PSC1/4/5/6 */ +/* #define GEN5200_UART_AVAIL_MASK 0x39 */ +#define GEN5200_UART_AVAIL_MASK 0x39 +#endif +/* + * for PM520 mdule on a CR825 carrier + */ +#if defined(PM520_CR825) +#define PM520 +#define GPIOPCR_INITMASK 0x330F0F77 +#define GPIOPCR_INITVAL 0x01050444 +/* we have PSC1/2/3*/ +#define GEN5200_UART_AVAIL_MASK 0x07 +#endif + +#if defined(BRS5L) +/* + * IMD Custom Board BRS5L + */ +#define GPIOPCR_INITMASK 0xb30F0F77 +#define GPIOPCR_INITVAL 0x91050444 +/* we have PSC1/2/3 */ +#define GEN5200_UART_AVAIL_MASK 0x07 +/* + * address range definitions + */ +/* ROM definitions (2 MB) */ +#define ROM_START 0xFFE00000 +#define ROM_END 0xFFFFFFFF +#define BOOT_START ROM_START +#define BOOT_END ROM_END + +/* SDRAM definitions (256 MB) */ +#define RAM_START 0x00000000 +#define RAM_END 0x0FFFFFFF + +/* DPRAM definitions (64 KB) */ +#define DPRAM_START 0xFF000000 +#define DPRAM_END 0xFF0003FF + +/* internal memory map definitions (64 KB) */ +#define MBAR 0xF0000000 + +/* we need the low level initialization in start.S*/ +#define NEED_LOW_LEVEL_INIT + +#define HAS_NVRAM_93CXX +#elif defined (PM520) + +/* + * MicroSys PM520 internal memory map definitions + */ +#define MBAR 0xF0000000 +#define HAS_UBOOT + +#else +#error "board type not defined" +#endif + +#ifndef ASM + +#ifdef __cplusplus +extern "C" { +#endif + +#include "bspopts.h" + +#include <rtems.h> +#include <rtems/console.h> +#include <rtems/clockdrv.h> +#include <i2cdrv.h> + +#if defined(HAS_UBOOT) +#define CONFIG_MPC5xxx +#include <u-boot.h> +extern bd_t *uboot_bdinfo_ptr; +extern bd_t uboot_bdinfo_copy; +#endif + +/* + * Network driver configuration + */ +struct rtems_bsdnet_ifconfig; +extern int rtems_mpc5200_fec_driver_attach_detach (struct rtems_bsdnet_ifconfig *config, int attaching); +#define RTEMS_BSP_NETWORK_DRIVER_NAME "eth1" +#define RTEMS_BSP_NETWORK_DRIVER_ATTACH rtems_mpc5200_fec_driver_attach_detach + +/* miscellaneous stuff assumed to exist */ + +extern rtems_configuration_table BSP_Configuration; +/* + * We need to decide how much memory will be non-cacheable. This + * will mainly be memory that will be used in DMA (network and serial + * buffers). + */ +/* +#define NOCACHE_MEM_SIZE 512*1024 +*/ + +/* + * Define the time limits for RTEMS Test Suite test durations. + * Long test and short test duration limits are provided. These + * values are in seconds and need to be converted to ticks for the + * application. + * + */ + +#define MAX_LONG_TEST_DURATION 300 /* 5 minutes = 300 seconds */ +#define MAX_SHORT_TEST_DURATION 3 /* 3 seconds */ + +/* + * Stuff for Time Test 27 + */ +#define MUST_WAIT_FOR_INTERRUPT 0 + +/* + * Device Driver Table Entries + */ + +/* + * NOTE: Use the standard Console driver entry + */ + +/* + * NOTE: Use the standard Clock driver entry + */ + +#ifdef HAS_NVRAM_93CXX +#define NVRAM_DRIVER_TABLE_ENTRY \ + { nvram_driver_initialize, nvram_driver_open, nvram_driver_close, \ + nvram_driver_read, nvram_driver_write, NULL } +#endif + +#define RTC_DRIVER_TABLE_ENTRY \ + { rtc_initialize, NULL, NULL, NULL, NULL, NULL } +extern rtems_device_driver rtc_initialize( + rtems_device_major_number major, + rtems_device_minor_number minor, + void *arg +); + +/* + * indicate, that BSP has IDE driver + */ +#define RTEMS_BSP_HAS_IDE_DRIVER + +/* + * How many libio files we want + */ +#define BSP_LIBIO_MAX_FDS 20 + +/* functions */ + +void bsp_cleanup(void); + +/* console modes (only termios) */ +#ifdef PRINTK_MINOR +#undef PRINTK_MINOR +#endif +#define PRINTK_MINOR PSC1_MINOR + +#define SINGLE_CHAR_MODE +#define UARTS_USE_TERMIOS_INT 1 + +/* ata modes */ +#undef ATA_USE_INT + +/* clock settings */ +#if defined(HAS_UBOOT) +#define IPB_CLOCK (uboot_bdinfo_ptr->bi_ipbfreq) +#define XLB_CLOCK (uboot_bdinfo_ptr->bi_busfreq) +#define G2_CLOCK (uboot_bdinfo_ptr->bi_intfreq) +#else +#define IPB_CLOCK 33000000 /* 33 MHz */ +#define XLB_CLOCK 66000000 /* 66 MHz */ +#define G2_CLOCK 231000000 /* 231 MHz */ +#endif + +/* slicetimer settings */ +#define USE_SLICETIMER_0 TRUE +#define USE_SLICETIMER_1 FALSE + +#ifdef __cplusplus +} +#endif + +#endif /* ASM */ + +#endif /* GEN5200 */ +/* end of include file */ |