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 18 struct 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 */ 62 extern void outc(char); 63 extern void outs(char *); 64 extern void baget_write(char *s, int l); 65 extern int baget_printk(const char *, ...); 66 extern void balo_printf( char *f, ... ); 67 extern void balo_hungup(void); 68 69 #endif /* !(_MIPS_BAGET_H) */ 70