1/* 2 * baget.h: Definitions specific to Baget/MIPS machines. 3 * 4 * Copyright (C) 1998 Gleb Raiko & Vladimir Roganov 5 */ 6#ifndef _MIPS_BAGET_H 7#define _MIPS_BAGET_H 8 9#include "vic.h" 10#include "vac.h" 11 12#define VIC_BASE 0xBFFC0000 13#define VAC_BASE 0xBFFD0000 14 15 16/* Baget interrupt registers and their sizes */ 17 18struct baget_int_reg { 19 unsigned long address; 20 int size; /* in bytes */ 21}; 22#define BAGET_INT_NONE {0,0} 23 24#define BAGET_INT0_ACK {0xbffa0003,1} 25#define BAGET_INT1_ACK {0xbffa0008,4} 26#define BAGET_INT5_ACK {0xbff00000,1} 27 28#define BAGET_WRERR_ACK ((volatile char*)0xbff00000) 29 30 31/* Baget address spaces */ 32 33#define BAGET_A24M_BASE 0xFC000000 /* VME-master A24 base address */ 34#define BAGET_A24S_BASE 0x00000000 /* VME-slave A24 base address */ 35#define BAGET_A24S_MASK 0x00c00000 /* VME-slave A24 address mask */ 36#define BAGET_GSW_BASE 0xf000 /* global switches address base */ 37#define BAGET_MSW_BASE(P) (0xe000+(P)*0x100) /* module switches address base */ 38 39#define BAGET_LED_BASE ((volatile short *)(0xbffd0000 + 0x00001800)) 40 41#define BAGET_PIL_NR 8 42#define BAGET_IRQ_NR NR_IRQS /* 64 */ 43#define BAGET_IRQ_MASK(x) ((NR_IRQS-1) & (x)) 44 45#define BAGET_FPU_IRQ 0x26 46#define BAGET_VIC_TIMER_IRQ 0x32 47#define BAGET_VAC_TIMER_IRQ 0x36 48#define BAGET_BSM_IRQ 0x3C 49 50#define BAGET_LANCE_MEM_BASE 0xfcf10000 51#define BAGET_LANCE_MEM_SIZE 0x10000 52#define BAGET_LANCE_IO_BASE 0xbffeff00 53 54#define BALO_OFFSET 0x400000 /* sync with ld.script.balo */ 55#define BALO_SIZE 0x200000 /* sync with image segs size */ 56 57/* move it to the right place, somehere in include/asm */ 58#define CAUSE_DBE 0x1C 59#define CAUSE_MASK 0x7C 60 61/* Simple debug fascilities */ 62extern void outc(char); 63extern void outs(char *); 64extern void baget_write(char *s, int l); 65extern int baget_printk(const char *, ...); 66extern void balo_printf( char *f, ... ); 67extern void balo_hungup(void); 68 69#endif /* !(_MIPS_BAGET_H) */ 70