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