diff options
Diffstat (limited to 'arch/mips/include/asm/sgi/gio.h')
-rw-r--r-- | arch/mips/include/asm/sgi/gio.h | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/arch/mips/include/asm/sgi/gio.h b/arch/mips/include/asm/sgi/gio.h new file mode 100644 index 000000000000..889cf028c95d --- /dev/null +++ b/arch/mips/include/asm/sgi/gio.h | |||
@@ -0,0 +1,86 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * gio.h: Definitions for SGI GIO bus | ||
7 | * | ||
8 | * Copyright (C) 2002 Ladislav Michl | ||
9 | */ | ||
10 | |||
11 | #ifndef _SGI_GIO_H | ||
12 | #define _SGI_GIO_H | ||
13 | |||
14 | /* | ||
15 | * GIO bus addresses | ||
16 | * | ||
17 | * The Indigo and Indy have two GIO bus connectors. Indigo2 (all models) have | ||
18 | * three physical connectors, but only two slots, GFX and EXP0. | ||
19 | * | ||
20 | * There is 10MB of GIO address space for GIO64 slot devices | ||
21 | * slot# slot type address range size | ||
22 | * ----- --------- ----------------------- ----- | ||
23 | * 0 GFX 0x1f000000 - 0x1f3fffff 4MB | ||
24 | * 1 EXP0 0x1f400000 - 0x1f5fffff 2MB | ||
25 | * 2 EXP1 0x1f600000 - 0x1f9fffff 4MB | ||
26 | * | ||
27 | * There are un-slotted devices, HPC, I/O and misc devices, which are grouped | ||
28 | * into the HPC address space. | ||
29 | * - MISC 0x1fb00000 - 0x1fbfffff 1MB | ||
30 | * | ||
31 | * Following space is reserved and unused | ||
32 | * - RESERVED 0x18000000 - 0x1effffff 112MB | ||
33 | * | ||
34 | * GIO bus IDs | ||
35 | * | ||
36 | * Each GIO bus device identifies itself to the system by answering a | ||
37 | * read with an "ID" value. IDs are either 8 or 32 bits long. IDs less | ||
38 | * than 128 are 8 bits long, with the most significant 24 bits read from | ||
39 | * the slot undefined. | ||
40 | * | ||
41 | * 32-bit IDs are divided into | ||
42 | * bits 0:6 the product ID; ranges from 0x00 to 0x7F. | ||
43 | * bit 7 0=GIO Product ID is 8 bits wide | ||
44 | * 1=GIO Product ID is 32 bits wide. | ||
45 | * bits 8:15 manufacturer version for the product. | ||
46 | * bit 16 0=GIO32 and GIO32-bis, 1=GIO64. | ||
47 | * bit 17 0=no ROM present | ||
48 | * 1=ROM present on this board AND next three words | ||
49 | * space define the ROM. | ||
50 | * bits 18:31 up to manufacturer. | ||
51 | * | ||
52 | * IDs above 0x50/0xd0 are of 3rd party boards. | ||
53 | * | ||
54 | * 8-bit IDs | ||
55 | * 0x01 XPI low cost FDDI | ||
56 | * 0x02 GTR TokenRing | ||
57 | * 0x04 Synchronous ISDN | ||
58 | * 0x05 ATM board [*] | ||
59 | * 0x06 Canon Interface | ||
60 | * 0x07 16 bit SCSI Card [*] | ||
61 | * 0x08 JPEG (Double Wide) | ||
62 | * 0x09 JPEG (Single Wide) | ||
63 | * 0x0a XPI mez. FDDI device 0 | ||
64 | * 0x0b XPI mez. FDDI device 1 | ||
65 | * 0x0c SMPTE 259M Video [*] | ||
66 | * 0x0d Babblefish Compression [*] | ||
67 | * 0x0e E-Plex 8-port Ethernet | ||
68 | * 0x30 Lyon Lamb IVAS | ||
69 | * 0xb8 GIO 100BaseTX Fast Ethernet (gfe) | ||
70 | * | ||
71 | * [*] Device provide 32-bit ID. | ||
72 | * | ||
73 | */ | ||
74 | |||
75 | #define GIO_ID(x) (x & 0x7f) | ||
76 | #define GIO_32BIT_ID 0x80 | ||
77 | #define GIO_REV(x) ((x >> 8) & 0xff) | ||
78 | #define GIO_64BIT_IFACE 0x10000 | ||
79 | #define GIO_ROM_PRESENT 0x20000 | ||
80 | #define GIO_VENDOR_CODE(x) ((x >> 18) & 0x3fff) | ||
81 | |||
82 | #define GIO_SLOT_GFX_BASE 0x1f000000 | ||
83 | #define GIO_SLOT_EXP0_BASE 0x1f400000 | ||
84 | #define GIO_SLOT_EXP1_BASE 0x1f600000 | ||
85 | |||
86 | #endif /* _SGI_GIO_H */ | ||