17#ifndef LIBBSP_POWERPC_MOTOROLA_POWERPC_BSP_H
18#define LIBBSP_POWERPC_MOTOROLA_POWERPC_BSP_H
94#if defined(mot_ppc_mvme2100)
95#define _IO_BASE CHRP_ISA_IO_BASE
96#define _ISA_MEM_BASE CHRP_ISA_MEM_BASE
98#define PCI_DRAM_OFFSET CHRP_PCI_DRAM_OFFSET
100#define PCI_MEM_BASE 0
102#define PCI_MEM_WIN0 0x80000000
105#define _IO_BASE PREP_ISA_IO_BASE
106#define _ISA_MEM_BASE PREP_ISA_MEM_BASE
109#define PCI_DRAM_OFFSET PREP_PCI_DRAM_OFFSET
111#define PCI_MEM_BASE PREP_ISA_MEM_BASE
112#define PCI_MEM_WIN0 0
114#define PCI_DRAM_OFFSET 0
115#define PCI_MEM_BASE 0
116#define PCI_MEM_WIN0 PREP_ISA_MEM_BASE
123#define BSP_HAS_PC_PCI
128#define RTEMS_BSP_PCI_IO_REGION_BASE 0
129#define RTEMS_BSP_PCI_MEM_REGION_BASE PCI_DRAM_OFFSET
134#define RTEMS_BSP_ADDR_PTR(_type) uint ## _type ## _t __volatile*
135#define RTEMS_BSP_ADDR_CPTR(_type) const RTEMS_BSP_ADDR_PTR(_type)
136#define RTEMS_BSP_ADDRESS_READ(_addr, _type) \
137 *((RTEMS_BSP_ADDR_CPTR(_type)) (((RTEMS_BSP_ADDR_CPTR(8)) _addr) + PCI_DRAM_OFFSET))
138#define RTEMS_BSP_ADDRESS_WRITE(_addr, _val, _type) \
139 *((RTEMS_BSP_ADDR_PTR(_type)) (((RTEMS_BSP_ADDR_PTR(8)) _addr) + PCI_DRAM_OFFSET)) = (_val)
141#define RTEMS_BSP_READ_1(_addr) RTEMS_BSP_ADDRESS_READ(_addr, 8)
142#define RTEMS_BSP_READ_2(_addr) RTEMS_BSP_ADDRESS_READ(_addr, 16)
143#define RTEMS_BSP_READ_4(_addr) RTEMS_BSP_ADDRESS_READ(_addr, 32)
144#define RTEMS_BSP_READ_8(_addr) RTEMS_BSP_ADDRESS_READ(_addr, 64)
146#define RTEMS_BSP_WRITE_1(_addr, _val) RTEMS_BSP_ADDRESS_WRITE(_addr, _val, 8)
147#define RTEMS_BSP_WRITE_2(_addr, _val) RTEMS_BSP_ADDRESS_WRITE(_addr, _val, 16)
148#define RTEMS_BSP_WRITE_4(_addr, _val) RTEMS_BSP_ADDRESS_WRITE(_addr, _val, 32)
149#define RTEMS_BSP_WRITE_8(_addr, _val) RTEMS_BSP_ADDRESS_WRITE(_addr, _val, 64)
159#if defined(mot_ppc_mvme2100)
160#define BSP_UART_IOBASE_COM1 ((_IO_BASE)+0x01e10000)
162#define BSP_OPEN_PIC_BASE_OFFSET 0x40000
164#define MVME_HAS_DEC21140
166#define BSP_UART_IOBASE_COM1 ((_IO_BASE)+0x3f8)
167#define BSP_UART_IOBASE_COM2 ((_IO_BASE)+0x2f8)
170#define BSP_KBD_IOBASE ((_IO_BASE)+0x60)
171#define BSP_VGA_IOBASE ((_IO_BASE)+0x3c0)
174#if defined(mvme2300) || defined(mot_ppc_mvme2307) || defined(mot_ppc_mvme2700)
175#define MVME_HAS_DEC21140
179#define BSP_CONSOLE_PORT BSP_UART_COM1
180#define BSP_UART_BAUD_BASE 115200
182struct rtems_bsdnet_ifconfig;
184#if defined(MVME_HAS_DEC21140)
185#define RTEMS_BSP_NETWORK_DRIVER_NAME "dc1"
186#define RTEMS_BSP_NETWORK_DRIVER_ATTACH rtems_dec21140_driver_attach
187extern int rtems_dec21140_driver_attach(
struct rtems_bsdnet_ifconfig *,
int);
191#define RTEMS_BSP_NETWORK_DRIVER_NAME "ne1"
192#define RTEMS_BSP_NETWORK_DRIVER_ATTACH rtems_ne_driver_attach
193extern int rtems_ne_driver_attach(
struct rtems_bsdnet_ifconfig *,
int);
195static inline const char* bsp_cmdline_arg(
const char* arg)
202#define BSP_IDLE_TASK_BODY bsp_ppc_idle_task_body
203extern void *bsp_ppc_idle_task_body(uintptr_t arg);
206#include <bsp/openpic.h>
221#define BSP_PIC_DO_EOI openpic_eoi(0)
224#define outport_byte(port,value) outb(value,port)
225#define outport_word(port,value) outw(value,port)
226#define outport_long(port,value) outl(value,port)
228#define inport_byte(port,value) (value = inb(port))
229#define inport_word(port,value) (value = inw(port))
230#define inport_long(port,value) (value = inl(port))
239extern unsigned int BSP_mem_size;
243extern unsigned int BSP_heap_start;
247extern unsigned int BSP_bus_frequency;
251extern unsigned int BSP_processor_frequency;
255extern unsigned int BSP_time_base_divisor;
260extern char *BSP_commandline_string;
262#define BSP_Convert_decrementer( _value ) \
263 ((unsigned long long) ((((unsigned long long)BSP_time_base_divisor) * 1000000ULL) /((unsigned long long) BSP_bus_frequency)) * ((unsigned long long) (_value)))
266extern int BSP_disconnect_clock_handler (
void);
267extern int BSP_connect_clock_handler (
void);
279extern unsigned long _BSP_clear_hostbridge_errors(
int enableMCP,
int quiet);
284char *save_boot_params(
296void VIA_isa_bridge_interrupts_setup(
void);
BSP Command Line Handler.
This header file provides the default definition of BSP_INITIAL_EXTENSION.
const char * rtems_bsp_cmdline_get_param_raw(const char *name)
Obtain Pointer to the Entire Matching Argument.
Definition: bspcmdline_getparamraw.c:47
This header file defines the RTEMS Classic API.