summaryrefslogtreecommitdiff
path: root/c/src/lib/libbsp/powerpc/beatnik/include/bsp.h
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/powerpc/beatnik/include/bsp.h')
-rw-r--r--c/src/lib/libbsp/powerpc/beatnik/include/bsp.h300
1 files changed, 0 insertions, 300 deletions
diff --git a/c/src/lib/libbsp/powerpc/beatnik/include/bsp.h b/c/src/lib/libbsp/powerpc/beatnik/include/bsp.h
deleted file mode 100644
index 9cc9ae085f..0000000000
--- a/c/src/lib/libbsp/powerpc/beatnik/include/bsp.h
+++ /dev/null
@@ -1,300 +0,0 @@
-/*
- * bsp.h -- contain BSP API definition.
- */
-
-/*
- * Copyright (C) 1999 Eric Valette. valette@crf.canon.fr
- *
- * 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.
- *
- * S. Kate Feng 2003-2007 : Modified it to support the mvme5500 BSP.
- *
- * Modified for the 'beatnik' BSP by T. Straumann, 2005-2007.
- */
-
-#ifndef LIBBSP_BEATNIK_BSP_H
-#define LIBBSP_BEATNIK_BSP_H
-
-#ifndef ASM
-
-#include <bspopts.h>
-#include <bsp/default-initial-extension.h>
-
-#include <rtems.h>
-#include <rtems/console.h>
-#include <libcpu/io.h>
-#include <rtems/clockdrv.h>
-#include <bsp/vectors.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Board type */
-typedef enum {
- Unknown = 0,
- MVME5500,
- MVME6100
-} BSP_BoardType;
-
-BSP_BoardType BSP_getBoardType(void);
-
-/* Discovery Version */
-
-typedef enum {
- unknown = 0,
- GT_64260_A, /* Revision 0x10 */
- GT_64260_B, /* Revision 0x20 */
- MV_64360,
-} DiscoveryVersion;
-
-/* Determine the type of discovery chip on this board; info
- * is cached and repeated calls just return the cached value.
- *
- * If a non-zero argument is passed, the routine panics
- * (BSP_panic) if no recognized bridge is found;
- */
-DiscoveryVersion BSP_getDiscoveryVersion(int assertion);
-
-/*
- * confdefs.h overrides for this BSP:
- * - Interrupt stack space is not minimum if defined.
- */
-#define BSP_INTERRUPT_STACK_SIZE (16 * 1024)
-
-/*
- * base address definitions for several devices
- */
-#define BSP_MV64x60_BASE (0xf1000000)
-#define BSP_MV64x60_DEV1_BASE (0xf1100000)
-#define BSP_UART_IOBASE_COM1 ((BSP_MV64x60_DEV1_BASE)+0x20000)
-#define BSP_UART_IOBASE_COM2 ((BSP_MV64x60_DEV1_BASE)+0x21000)
-#define BSP_UART_USE_SHARED_IRQS
-
-#define BSP_NVRAM_BASE_ADDR (0xf1110000)
-#define BSP_NVRAM_END_ADDR (0xf1117fff)
-#define BSP_NVRAM_RTC_START (0xf1117ff8)
-
-#define BSP_NVRAM_BOOTPARMS_START (0xf1111000)
-#define BSP_NVRAM_BOOTPARMS_END (0xf1111fff)
-
-
-/* This is only active/used during early init. It defines
- * the hose0 base for the shared/generic pci code.
- * Our own BSP specific pci initialization will then
- * override the PCI configuration (see gt_pci_init.c:BSP_pci_initialize)
- */
-
-#define PCI_CONFIG_ADDR (BSP_MV64x60_BASE + 0xcf8)
-#define PCI_CONFIG_DATA (BSP_MV64x60_BASE + 0xcfc)
-
-/* our wonderful PCI initialization remaps everything to CPU addresses
- * - before calling BSP_pci_initialize() this is NOT VALID, however
- * and the deprecated inl()/outl() etc won't work!
- */
-#define _IO_BASE 0x00000000
-/* wonderful MotLoad has the base address as seen from the
- * CPU programmed into config space :-)
- */
-#define PCI_MEM_BASE 0
-#define PCI_MEM_BASE_ADJUSTMENT 0
-#define PCI_DRAM_OFFSET 0
-
-extern void BSP_motload_pci_fixup(void);
-
-/* PCI <-> local address mapping - no sophisticated windows
- * (i.e., no support for cached regions etc. you read a BAR
- * from config space and that's 1:1 where the CPU sees it).
- * Our memory is mapped 1:1 to PCI also.
- */
-#define BSP_PCI2LOCAL_ADDR(a) ((uint32_t)(a))
-#define BSP_LOCAL2PCI_ADDR(a) ((uint32_t)(a))
-
-#define BSP_CONFIG_NUM_PCI_CACHE_SLOTS 32
-
-#define BSP_CONSOLE_PORT BSP_UART_COM1
-#define BSP_UART_BAUD_BASE 115200
-
-/* I2C Devices */
-/* Note that the i2c addresses stated in the manual are
- * left-shifted by one bit.
- */
-#define BSP_VPD_I2C_ADDR (0xA8>>1) /* the VPD EEPROM */
-#define BSP_USR_I2C_ADDR (0xAA>>1) /* the user EEPROM */
-#define BSP_THM_I2C_ADDR (0x90>>1) /* the DS1621 temperature sensor & thermostat */
-
-#define BSP_I2C_BUS_DESCRIPTOR gt64260_i2c_bus_descriptor
-
-#define BSP_I2C_BUS0_NAME "/dev/i2c0"
-
-#define BSP_I2C_VPD_EEPROM_NAME "vpd-eeprom"
-#define BSP_I2C_USR_EEPROM_NAME "usr-eeprom"
-#define BSP_I2C_DS1621_NAME "ds1621"
-#define BSP_I2C_THM_NAME BSP_I2C_DS1621_NAME
-#define BSP_I2C_DS1621_RAW_NAME "ds1621-raw"
-
-#define BSP_I2C_VPD_EEPROM_DEV_NAME (BSP_I2C_BUS0_NAME"."BSP_I2C_VPD_EEPROM_NAME)
-#define BSP_I2C_USR_EEPROM_DEV_NAME (BSP_I2C_BUS0_NAME"."BSP_I2C_USR_EEPROM_NAME)
-#define BSP_I2C_DS1621_DEV_NAME (BSP_I2C_BUS0_NAME"."BSP_I2C_DS1621_NAME)
-#define BSP_I2C_THM_DEV_NAME BSP_I2C_DS1621_DEV_NAME
-#define BSP_I2C_DS1621_RAW_DEV_NAME (BSP_I2C_BUS0_NAME"."BSP_I2C_DS1621_RAW_NAME)
-
-
-/* Initialize the I2C driver and register all devices
- * RETURNS 0 on success, -1 on error.
- *
- * Access to the VPD and user EEPROMS as well
- * as the ds1621 temperature sensor is possible
- * by means of file nodes
- *
- * /dev/i2c0.vpd-eeprom (read-only)
- * /dev/i2c0.usr-eeprom (read-write)
- * /dev/i2c0.ds1621 (read-only; one byte: board-temp in degC)
- * /dev/i2c0.ds1621-raw (read-write; transfer bytes to/from the ds1621)
- */
-int BSP_i2c_initialize(void);
-
-/* Networking; */
-#if defined(RTEMS_NETWORKING)
-#include <bsp/bsp_bsdnet_attach.h>
-#endif
-
-/* NOT FOR PUBLIC USE BELOW HERE */
-#define BSP_PCI_HOSE0_MEM_BASE 0x80000000 /* must be aligned to size */
-#define BSP_PCI_HOSE0_MEM_SIZE 0x20000000
-
-#define BSP_PCI_HOSE1_MEM_BASE 0xe0000000
-
-#define BSP_DEV_AND_PCI_IO_BASE 0xf0000000
-#define BSP_DEV_AND_PCI_IO_SIZE 0x10000000
-
-/* maintain coherency between CPU and GT64340 Ethernet
- * (andpossibly other Discovery components).
- */
-#define BSP_RW_PAGE_ATTRIBUTES TRIV121_ATTR_M
-
-extern unsigned BSP_pci_hose1_bus_base;
-
-void BSP_pci_initialize(void);
-
-/* Exception Handling */
-
-/* Use a task notepad to attach user exception handler info;
- * may be changed by application startup code (EPICS uses 11)
- */
-#define BSP_EXCEPTION_NOTEPAD 14
-
-#ifndef ASM
-
-#define outport_byte(port,value) outb(value,port)
-#define outport_word(port,value) outw(value,port)
-#define outport_long(port,value) outl(value,port)
-
-#define inport_byte(port,value) (value = inb(port))
-#define inport_word(port,value) (value = inw(port))
-#define inport_long(port,value) (value = inl(port))
-/*
- * Vital Board data Start using DATA RESIDUAL
- */
-/*
- * Total memory using RESIDUAL DATA
- */
-extern unsigned int BSP_mem_size;
-/*
- * Start of the heap
- */
-extern unsigned int BSP_heap_start;
-/*
- * PCI Bus Frequency
- */
-extern unsigned int BSP_bus_frequency;
-/*
- * processor clock frequency
- */
-extern unsigned int BSP_processor_frequency;
-/*
- * Time base divisior (how many tick for 1 second).
- */
-extern unsigned int BSP_time_base_divisor;
-
-extern char BSP_productIdent[20];
-extern char BSP_serialNumber[20];
-
-extern char BSP_enetAddr0[7];
-extern char BSP_enetAddr1[7];
-
-/*
- * The commandline as passed from the bootloader.
- */
-extern char *BSP_commandline_string;
-
-
-#define BSP_Convert_decrementer( _value ) \
- ((unsigned long long) ((((unsigned long long)BSP_time_base_divisor) * 1000000ULL) /((unsigned long long) BSP_bus_frequency)) * ((unsigned long long) (_value)))
-
-extern rtems_configuration_table BSP_Configuration;
-extern void BSP_panic(char *s);
-extern void bsp_reset(void);
-extern int BSP_disconnect_clock_handler (void);
-extern int BSP_connect_clock_handler (void);
-
-/* clear hostbridge errors
- *
- * enableMCP: whether to enable MCP checkstop / machine check interrupts
- * on the hostbridge and in HID0.
- *
- * NOTE: The 5500 and 6100 boards have NO PHYSICAL CONNECTION
- * to MCP so 'enableMCP' will always fail!
- *
- * quiet : be silent
- *
- * RETURNS : PCI status (hose 0 in byte 0, host 1 in byte 1) and
- * VME bridge status (upper 16 bits).
- * Zero if no errors were found.
- */
-extern unsigned long _BSP_clear_hostbridge_errors(int enableMCP, int quiet);
-
-/* clear vme bridge errors and return (bridge-dependent) 16-bit status
- *
- * quiet : be silent
- *
- * RETURNS : 0 if there were no errors, non-zero, bridge-dependent
- * 16-bit error status on error.
- *
- */
-extern unsigned short (*_BSP_clear_vmebridge_errors)(int);
-
-/*
- * Prototypes for debug helpers
- */
-void discovery_pic_set_debug_irq(int on);
-void discovery_pic_install_debug_irq(void);
-
-/*
- * Prototypes for methods called only from .S for dependency tracking
- */
-char *save_boot_params(
- void *r3,
- void *r4,
- void *r5,
- char *cmdline_start,
- char *cmdline_end
-);
-void zero_bss(void);
-
-/*
- * Prototypes for methods in the BSP that cross file boundaries
- */
-uint32_t probeMemoryEnd(void);
-
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !ASM */
-
-#endif