42#ifndef LIBBSP_POWERPC_GEN5200_BSP_H
43#define LIBBSP_POWERPC_GEN5200_BSP_H
63LINKER_SYMBOL(bsp_ram_start);
64LINKER_SYMBOL(bsp_ram_end);
65LINKER_SYMBOL(bsp_ram_size);
67LINKER_SYMBOL(bsp_rom_start);
68LINKER_SYMBOL(bsp_rom_end);
69LINKER_SYMBOL(bsp_rom_size);
71LINKER_SYMBOL(bsp_dpram_start);
72LINKER_SYMBOL(bsp_dpram_end);
73LINKER_SYMBOL(bsp_dpram_size);
75LINKER_SYMBOL(bsp_section_text_start);
76LINKER_SYMBOL(bsp_section_text_end);
77LINKER_SYMBOL(bsp_section_text_size);
79LINKER_SYMBOL(bsp_section_data_start);
80LINKER_SYMBOL(bsp_section_data_end);
81LINKER_SYMBOL(bsp_section_data_size);
83LINKER_SYMBOL(bsp_section_bss_start);
84LINKER_SYMBOL(bsp_section_bss_end);
85LINKER_SYMBOL(bsp_section_bss_size);
87LINKER_SYMBOL(bsp_work_area_start);
93#ifdef MPC5200_BOARD_PM520_ZE30
97#ifdef MPC5200_BOARD_PM520_CR825
101#ifdef MPC5200_BOARD_ICECUBE
105#ifdef MPC5200_BOARD_BRS5L
115#if defined(MPC5200_BOARD_PM520_ZE30)
121#if defined(MPC5200_BOARD_PM520_CR825)
125#if !defined(HAS_UBOOT)
127 #define NEED_LOW_LEVEL_INIT
130#if defined(MPC5200_BOARD_BRS5L)
135#define HAS_NVRAM_93CXX
137#elif defined(MPC5200_BOARD_BRS6L)
138 #define MPC5200_BRS6L_FPGA_BEGIN 0x800000
139 #define MPC5200_BRS6L_FPGA_SIZE (64 * 1024)
140 #define MPC5200_BRS6L_FPGA_END \
141 (MPC5200_BRS6L_FPGA_BEGIN + MPC5200_BRS6L_FPGA_SIZE)
143 #define MPC5200_BRS6L_MRAM_BEGIN 0xff000000
144 #define MPC5200_BRS6L_MRAM_SIZE (4 * 1024 * 1024)
145 #define MPC5200_BRS6L_MRAM_END \
146 (MPC5200_BRS6L_MRAM_BEGIN + MPC5200_BRS6L_MRAM_SIZE)
151#elif defined (MPC5200_BOARD_ICECUBE)
159#elif defined (MPC5200_BOARD_DP2)
164#error "board type not defined"
170#include <bsp/i2cdrv.h>
183struct rtems_bsdnet_ifconfig;
184extern int rtems_mpc5200_fec_driver_attach_detach (
struct rtems_bsdnet_ifconfig *
config,
int attaching);
185#define RTEMS_BSP_NETWORK_DRIVER_NAME "eth1"
186#define RTEMS_BSP_NETWORK_DRIVER_ATTACH rtems_mpc5200_fec_driver_attach_detach
203#ifdef HAS_NVRAM_93CXX
204#define NVRAM_DRIVER_TABLE_ENTRY \
205 { nvram_driver_initialize, nvram_driver_open, nvram_driver_close, \
206 nvram_driver_read, nvram_driver_write, NULL }
212#define RTEMS_BSP_HAS_IDE_DRIVER
223#if defined(HAS_UBOOT)
224#define IPB_CLOCK (bsp_uboot_board_info.bi_ipbfreq)
225#define XLB_CLOCK (bsp_uboot_board_info.bi_busfreq)
226#define G2_CLOCK (bsp_uboot_board_info.bi_intfreq)
227#elif defined(MPC5200_BOARD_BRS5L) || defined(MPC5200_BOARD_BRS6L)
228#define IPB_CLOCK 66000000
229#define XLB_CLOCK 132000000
230#define G2_CLOCK 396000000
232#define IPB_CLOCK 33000000
233#define XLB_CLOCK 66000000
234#define G2_CLOCK 231000000
237#if defined(HAS_UBOOT)
238#define GEN5200_CONSOLE_BAUD (bsp_uboot_board_info.bi_baudrate)
240#define GEN5200_CONSOLE_BAUD 115200
255#define BSP_Convert_decrementer( _value ) \
256 (int) (((_value) * 4000) / (XLB_CLOCK/10000))
259#define USE_SLICETIMER_0 TRUE
260#define USE_SLICETIMER_1 FALSE
263#define BSP_IDLE_TASK_BODY bsp_idle_thread
266void BSP_IRQ_Benchmarking_Reset(
void);
267void BSP_IRQ_Benchmarking_Report(
void);
269#if defined(HAS_UBOOT)
271 const char *bsp_uboot_getenv(
278int mpc5200_eth_mii_read(
This header file provides the default definition of BSP_INITIAL_EXTENSION.
void * bsp_idle_thread(uintptr_t ignored)
Optimized idle task.
Definition: bspidle.c:39
General purpose assembler macros, linker command file support and some inline functions for direct re...
This header file defines the RTEMS Classic API.
Definition: deflate.c:114