diff options
Diffstat (limited to 'include/bfin/bf537Stamp/bsp.h')
-rw-r--r-- | include/bfin/bf537Stamp/bsp.h | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/include/bfin/bf537Stamp/bsp.h b/include/bfin/bf537Stamp/bsp.h new file mode 100644 index 0000000000..93f43e86d9 --- /dev/null +++ b/include/bfin/bf537Stamp/bsp.h @@ -0,0 +1,124 @@ +/* bsp.h + * + * This include file contains all board IO definitions for bf537Stamp. + * + * Copyright (c) 2006 by Atos Automacao Industrial Ltda. + * written by Alain Schaefer <alain.schaefer@easc.ch> + * and Antonio Giovanini <antonio@atos.com.br> + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.org/license/LICENSE. + */ + + +#ifndef LIBBSP_BFIN_BF537STAMP_BSP_H +#define LIBBSP_BFIN_BF537STAMP_BSP_H + +#ifndef ASM + +#include <bspopts.h> +#include <bsp/default-initial-extension.h> + +#include <rtems.h> +#include <rtems/console.h> +#include <rtems/clockdrv.h> + +#include <libcpu/bf537.h> +#include <libcpu/memoryRegs.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/* configure data cache to use 16K of each SRAM bank when enabled */ +#define BSP_DATA_CACHE_CONFIG (3 << DMEM_CONTROL_DMC_SHIFT) + + +/* + * PLL and clock setup values: + */ + +/* + * PLL configuration for bf533Stamp + * + * XTL = 27 MHz + * CLKIN = 13 MHz + * VCO = 391 MHz + * CCLK = 391 MHz + * SCLK = 130 MHz + */ + +#define PLL_CSEL 0x0000 /* CCLK = VCO */ +#define PLL_SSEL 0x0003 /* SCLK = CCLK/3 */ +#define PLL_MSEL 0x3A00 /* VCO = 29xCLKIN */ +#define PLL_DF 0x0001 /* CLKIN = XTL/2 */ + +#define CCLK 500000000 /* CORE CLOCK */ +#define SCLK 100000000 /* SYSTEM CLOCK */ + +#define CONSOLE_FORCE_BAUD 57600 + +/* + * Blackfin environment memory map + */ +#define L1_DATA_SRAM_A 0xff800000L + +#define FIFOLENGTH 0x100 + +/* + * Simple spin delay in microsecond units for device drivers. + * This is very dependent on the clock speed of the target. + */ + +#define rtems_bsp_delay( microseconds ) \ + { \ + } + +/* Constants */ + +#define RAM_START 0 +#define RAM_END 0x4000000 + +/* functions */ + +/* + * Helper Function to use the EzKits LEDS. + * Can be used by the Application. + */ +void setLED(uint8_t value); + +/* + * Helper Function to use the EzKits LEDS + */ +uint8_t getLEDs(void); +void setLEDs(uint8_t value); +uint8_t getButtons(void); + +rtems_isr_entry set_vector( /* returns old vector */ + rtems_isr_entry handler, /* isr routine */ + rtems_vector_number vector, /* vector number */ + int type /* RTEMS or RAW intr */ +); + +/* + * Internal BSP methods that are used across file boundaries + */ +void Init_RTC(void); + +/* + * Network driver configuration + */ +struct rtems_bsdnet_ifconfig; +extern int bf537Stamp_network_driver_attach(struct rtems_bsdnet_ifconfig *, int); + +#define RTEMS_BSP_NETWORK_DRIVER_NAME "eth1" +#define RTEMS_BSP_NETWORK_DRIVER_ATTACH bf537Stamp_network_driver_attach + +#ifdef __cplusplus +} +#endif + +#endif /* !ASM */ + +#endif |