Subversion Repositories HelenOS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4399 trochtova 1
#ifndef PCI_REGS_H
2
#define PCI_REGS_H
3
 
4
// Header types 
5
#define PCI_HEADER_TYPE_DEV         0
6
#define PCI_HEADER_TYPE_BRIDGE      1
7
#define PCI_HEADER_TYPE_CARDBUS     2
8
 
9
// Header type 0 and 1
10
#define PCI_VENDOR_ID                   0x00
11
#define PCI_DEVICE_ID                   0x02
12
#define PCI_COMMAND                     0x04
13
#define PCI_STATUS                      0x06
14
#define PCI_REVISION_ID                 0x08
15
#define PCI_PROG_IF                     0x09
16
#define PCI_SUB_CLASS                   0x0A
17
#define PCI_BASE_CLASS                  0x0B
18
#define PCI_CACHE_LINE_SIZE             0x0C
19
#define PCI_LATENCY_TIMER               0x0D
20
#define PCI_HEADER_TYPE                 0x0E
21
#define PCI_BIST                        0x0F
22
 
23
#define PCI_BASE_ADDR_0                 0x10
24
#define PCI_BASE_ADDR_1                 0x14
25
 
26
// Header type 0
27
#define PCI_BASE_ADDR_2                 0x18
28
#define PCI_BASE_ADDR_3                 0x1B
29
#define PCI_BASE_ADDR_4                 0x20
30
#define PCI_BASE_ADDR_5                 0x24
31
 
32
#define PCI_CARDBUS_CIS_PTR             0x28
33
#define PCI_SUBSYSTEM_VENDOR_ID         0x2C
34
#define PCI_SUBSYSTEM_ID                0x2E
35
#define PCI_EXP_ROM_BASE                0x30
36
#define PCI_CAP_PTR                     0x34
37
#define PCI_INT_LINE                    0x3C
38
#define PCI_INT_PIN                     0x3D
39
#define PCI_MIN_GNT                     0x3E
40
#define PCI_MAX_LAT                     0x3F
41
 
42
// Header type 1
43
#define PCI_BRIDGE_PRIM_BUS_NUM         0x18
44
#define PCI_BRIDGE_SEC_BUS_NUM          0x19
45
#define PCI_BRIDGE_SUBORD_BUS_NUM       0x1A
46
#define PCI_BRIDGE_SEC_LATENCY_TIMER    0x1B
47
#define PCI_BRIDGE_IO_BASE              0x1C
48
#define PCI_BRIDGE_IO_LIMIT             0x1D
49
#define PCI_BRIDGE_SEC_STATUS           0x1E
50
#define PCI_BRIDGE_MEMORY_BASE          0x20
51
#define PCI_BRIDGE_MEMORY_LIMIT         0x22
52
#define PCI_BRIDGE_PREF_MEMORY_BASE     0x24
53
#define PCI_BRIDGE_PREF_MEMORY_LIMIT    0x26
54
#define PCI_BRIDGE_PREF_MEMORY_BASE_UP  0x28
55
#define PCI_BRIDGE_PREF_MEMORY_LIMIT_UP 0x2C
56
#define PCI_BRIDGE_IO_BASE_UP           0x30
57
#define PCI_BRIDGE_IO_LIMIT_UP          0x32
58
#define PCI_BRIDGE_EXP_ROM_BASE         0x38
59
#define PCI_BRIDGE_INT_LINE             0x3C
60
#define PCI_BRIDGE_INT_PIN              0x3D
61
#define PCI_BRIDGE_CTL                  0x3E
62
 
63
 
64
 
65
 
66
 
67
 
68
/*  // from psycho spec.
69
Reserved             0x28-0x2F n/a
70
Expansion ROM        0x30      4 bytes
71
Reserved             0x34-0x3B n/a
72
Interrupt Line       0x3C      1 byte
73
Interrupt Pin        0x3D      1 byte
74
MIN_GNT              0x3E      1 byte
75
MAX_LAT              0x3F      1 byte*/
76
 
77
 
78
#endif