19#ifndef LIBBSP_POWERPC_MVME3100_BSP_H
20#define LIBBSP_POWERPC_MVME3100_BSP_H
41#define BSP_INTERRUPT_STACK_SIZE (16 * 1024)
92#define _IO_BASE 0xe0000000
93#define _ISA_MEM_BASE CHRP_ISA_MEM_BASE
95#define PCI_DRAM_OFFSET CHRP_PCI_DRAM_OFFSET
99#define PCI_MEM_WIN0 0x80000000
105#define BSP_OPEN_PIC_BASE_OFFSET 0x40000
106#define BSP_OPEN_PIC_BIG_ENDIAN
108#define BSP_8540_CCSR_BASE (0xe1000000)
110#define BSP_UART_IOBASE_COM1 (BSP_8540_CCSR_BASE+0x4500)
111#define BSP_UART_IOBASE_COM2 (BSP_8540_CCSR_BASE+0x4600)
112#define PCI_CONFIG_ADDR (BSP_8540_CCSR_BASE+0x8000)
113#define PCI_CONFIG_DATA (BSP_8540_CCSR_BASE+0x8004)
114#define PCI_CONFIG_WR_ADDR( addr, val ) out_be32((uint32_t*)(addr), (val))
116#define BSP_CONSOLE_PORT BSP_UART_COM1
117#define BSP_UART_BAUD_BASE (-9600)
118#define BSP_UART_USE_SHARED_IRQS
120#define BSP_MVME3100_IRQ_DETECT_REG ((volatile uint8_t *)0xe2000007)
126#define BSP_VPD_I2C_ADDR (0xA8>>1)
127#define BSP_USR0_I2C_ADDR (0xA4>>1)
128#define BSP_USR1_I2C_ADDR (0xA6>>1)
129#define BSP_THM_I2C_ADDR (0x90>>1)
130#define BSP_RTC_I2C_ADDR (0xD0>>1)
132#define BSP_I2C_BUS_DESCRIPTOR mpc8540_i2c_bus_descriptor
134#define BSP_I2C_BUS0_NAME "/dev/i2c0"
136#define BSP_I2C_VPD_EEPROM_NAME "vpd-eeprom"
137#define BSP_I2C_USR_EEPROM_NAME "usr-eeprom"
138#define BSP_I2C_USR1_EEPROM_NAME "usr1-eeprom"
139#define BSP_I2C_DS1621_NAME "ds1621"
140#define BSP_I2C_THM_NAME BSP_I2C_DS1621_NAME
141#define BSP_I2C_DS1621_RAW_NAME "ds1621-raw"
142#define BSP_I2C_DS1375_RAW_NAME "ds1375-raw"
143#define BSP_I2C_RTC_RAW_NAME BSP_I2C_DS1375_RAW_NAME
145#define BSP_I2C_VPD_EEPROM_DEV_NAME (BSP_I2C_BUS0_NAME "." BSP_I2C_VPD_EEPROM_NAME)
146#define BSP_I2C_USR_EEPROM_DEV_NAME (BSP_I2C_BUS0_NAME "." BSP_I2C_USR_EEPROM_NAME)
147#define BSP_I2C_USR1_EEPROM_DEV_NAME (BSP_I2C_BUS0_NAME "." BSP_I2C_USR1_EEPROM_NAME)
148#define BSP_I2C_DS1621_DEV_NAME (BSP_I2C_BUS0_NAME "." BSP_I2C_DS1621_NAME)
149#define BSP_I2C_THM_DEV_NAME BSP_I2C_DS1621_DEV_NAME
150#define BSP_I2C_DS1621_RAW_DEV_NAME (BSP_I2C_BUS0_NAME "." BSP_I2C_DS1621_RAW_NAME)
151#define BSP_I2C_DS1375_RAW_DEV_NAME (BSP_I2C_BUS0_NAME "." BSP_I2C_DS1375_RAW_NAME)
156#define BSP_EEPROM_BOOTPARMS_NAME BSP_I2C_USR1_EEPROM_DEV_NAME
157#define BSP_EEPROM_BOOTPARMS_SIZE 1024
158#define BSP_EEPROM_BOOTPARMS_OFFSET 0
159#define BSP_BOOTPARMS_WRITE_ENABLE() do { BSP_eeprom_write_enable(); } while (0)
160#define BSP_BOOTPARMS_WRITE_DISABLE() do { BSP_eeprom_write_protect();} while (0)
181int BSP_i2c_initialize(
void);
184#define BSP_MVME3100_SYS_CR ((volatile uint8_t *)0xe2000001)
185#define BSP_MVME3100_SYS_CR_RESET_MSK (7<<5)
186#define BSP_MVME3100_SYS_CR_RESET (5<<5)
187#define BSP_MVME3100_SYS_CR_EEPROM_WP (1<<1)
188#define BSP_MVME3100_SYS_CR_TSTAT_MSK (1<<0)
191#define BSP_MVME3100_SYS_IND_REG ((volatile uint8_t *)0xe2000002)
192#define BSP_LED_BRD_FAIL (1<<0)
193#define BSP_LED_USR1 (1<<1)
194#define BSP_LED_USR2 (1<<2)
195#define BSP_LED_USR3 (1<<3)
198#define BSP_MVME3100_FLASH_CSR ((volatile uint8_t *)0xe2000003)
199#define BSP_MVME3100_FLASH_CSR_FLASH_RDY (1<<0)
200#define BSP_MVME3100_FLASH_CSR_FBT_BLK_SEL (1<<1)
201#define BSP_MVME3100_FLASH_CSR_F_WP_HW (1<<2)
202#define BSP_MVME3100_FLASH_CSR_F_WP_SW (1<<3)
203#define BSP_MVME3100_FLASH_CSR_MAP_SEL (1<<4)
206#define BSP_MVME3100_IRQ_DETECT_REG ((volatile uint8_t *)0xe2000007)
217uint8_t BSP_setSysReg(
volatile uint8_t *r, uint8_t mask);
229uint8_t BSP_clrSysReg(
volatile uint8_t *r, uint8_t mask);
236uint8_t BSP_eeprom_write_protect(
void);
241uint8_t BSP_eeprom_write_enable(
void);
251uint8_t BSP_setLEDs(uint8_t mask);
259uint8_t BSP_clrLEDs(uint8_t mask);
262#define outport_byte(port,value) outb(value,port)
263#define outport_word(port,value) outw(value,port)
264#define outport_long(port,value) outl(value,port)
266#define inport_byte(port,value) (value = inb(port))
267#define inport_word(port,value) (value = inw(port))
268#define inport_long(port,value) (value = inl(port))
274extern unsigned int BSP_mem_size;
278extern unsigned int BSP_bus_frequency;
282extern unsigned int BSP_processor_frequency;
286extern unsigned int BSP_time_base_divisor;
290extern char *BSP_commandline_string;
292#define BSP_Convert_decrementer( _value ) \
293 ((unsigned long long) ((((unsigned long long)BSP_time_base_divisor) * 1000000ULL) /((unsigned long long) BSP_bus_frequency)) * ((unsigned long long) (_value)))
295extern int BSP_disconnect_clock_handler (
void);
296extern int BSP_connect_clock_handler (
void);
308extern unsigned long _BSP_clear_hostbridge_errors(
int enableMCP,
int quiet);
309extern void BSP_motload_pci_fixup(
void);
311struct rtems_bsdnet_ifconfig;
314rtems_tsec_attach(
struct rtems_bsdnet_ifconfig *ifcfg,
int attaching);
316#define RTEMS_BSP_NETWORK_DRIVER_NAME "tse1"
317#define RTEMS_BSP_NETWORK_DRIVER_ATTACH rtems_tsec_attach
322char *save_boot_params(
334extern void BSP_vme_config(
void);
335extern void BSP_pciConfigDump_early(
void );
This header file provides the default definition of BSP_INITIAL_EXTENSION.
This header file defines the RTEMS Classic API.