Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6
[linux-2.6] / include / asm-i386 / mca.h
1 /* -*- mode: c; c-basic-offset: 8 -*- */
2
3 /* Platform specific MCA defines */
4 #ifndef _ASM_MCA_H
5 #define _ASM_MCA_H
6
7 /* Maximal number of MCA slots - actually, some machines have less, but
8  * they all have sufficient number of POS registers to cover 8.
9  */
10 #define MCA_MAX_SLOT_NR  8
11
12 /* Most machines have only one MCA bus.  The only multiple bus machines
13  * I know have at most two */
14 #define MAX_MCA_BUSSES 2
15
16 #define MCA_PRIMARY_BUS         0
17 #define MCA_SECONDARY_BUS       1
18
19 /* Dummy slot numbers on primary MCA for integrated functions */
20 #define MCA_INTEGSCSI   (MCA_MAX_SLOT_NR)
21 #define MCA_INTEGVIDEO  (MCA_MAX_SLOT_NR+1)
22 #define MCA_MOTHERBOARD (MCA_MAX_SLOT_NR+2)
23
24 /* Dummy POS values for integrated functions */
25 #define MCA_DUMMY_POS_START     0x10000
26 #define MCA_INTEGSCSI_POS       (MCA_DUMMY_POS_START+1)
27 #define MCA_INTEGVIDEO_POS      (MCA_DUMMY_POS_START+2)
28 #define MCA_MOTHERBOARD_POS     (MCA_DUMMY_POS_START+3)
29
30 /* MCA registers */
31
32 #define MCA_MOTHERBOARD_SETUP_REG       0x94
33 #define MCA_ADAPTER_SETUP_REG           0x96
34 #define MCA_POS_REG(n)                  (0x100+(n))
35
36 #define MCA_ENABLED     0x01    /* POS 2, set if adapter enabled */
37
38 /* Max number of adapters, including both slots and various integrated
39  * things.
40  */
41 #define MCA_NUMADAPTERS (MCA_MAX_SLOT_NR+3)
42
43 #endif