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