|
1 // Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 // All rights reserved. |
|
3 // This component and the accompanying materials are made available |
|
4 // under the terms of the License "Eclipse Public License v1.0" |
|
5 // which accompanies this distribution, and is available |
|
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // e32\drivers\pbus\pccard\cis.h |
|
15 // |
|
16 // |
|
17 |
|
18 // General definitions, applicable to multiple tuple types |
|
19 const TUint8 KCisTplExt=0x80; // Extended tuple |
|
20 const TUint8 KCisTplExponM=0x07; // Mask for exponent field. |
|
21 const TUint8 KCisTplMantM=0x78; // Mask for mantisa field. |
|
22 const TUint8 KCisTplMantFO=3; // Offset for mantisa field. |
|
23 |
|
24 |
|
25 // Function Identification Tuple (KCisTplFuncId) - Function codes |
|
26 const TUint8 KCisTplFuncIdMultiFunc=0x00; |
|
27 const TUint8 KCisTplFuncIdMemory=0x01; |
|
28 const TUint8 KCisTplFuncIdSerial=0x02; |
|
29 const TUint8 KCisTplFuncIdParallel=0x03; |
|
30 const TUint8 KCisTplFuncIdFixed=0x04; |
|
31 const TUint8 KCisTplFuncIdVideo=0x05; |
|
32 const TUint8 KCisTplFuncIdNetwork=0x06; |
|
33 const TUint8 KCisTplFuncIdAims=0x07; |
|
34 const TUint8 KCisTplFuncIdScsi=0x08; |
|
35 const TUint8 KCisTplFuncIdVendorSpecific=0xFE; |
|
36 const TUint8 KCisTplFuncIdInvalid=0xFF; |
|
37 |
|
38 // Configuration Tuple (KCisTplConfig) |
|
39 const TUint8 KTpCcRaszM=0x03; // Mask for size of TPCC_RADR field. |
|
40 const TUint8 KTpCcRaszFO=0; // Offset for size of TPCC_RADR field. |
|
41 const TUint8 KTpCcRmszM=0x3C; // Mask for size of TPCC_RMSK field. |
|
42 const TUint8 KTpCcRmszFO=2; // Offset for size of TPCC_RMSK field. |
|
43 |
|
44 // Configuration Table Entry Tuple (KCisTplCfTableEntry) |
|
45 const TUint8 KTpCeOptionM=0x3F; // Mask for Config. Option field. |
|
46 const TUint8 KTpCeIsDefaultM=0x40; // Mask for Is Default field. |
|
47 const TUint8 KTpCeIntfPresM=0x80; // Mask for interface present field. |
|
48 const TUint8 KTpCeIntfTypeM=0x0F; // Mask for interface type field. |
|
49 |
|
50 const TUint8 KTpCeBvdM=0x10; // Mask for BVD active field |
|
51 const TUint8 KTpCeWpM=0x20; // Mask for WP active field |
|
52 const TUint8 KTpCeReadyM=0x40; // Mask for READY active field |
|
53 const TUint8 KTpCeWaitM=0x80; // Mask for WAIT active field |
|
54 |
|
55 const TUint8 KTpCePwrPresM=0x03; // Mask for Power present field. |
|
56 const TUint8 KTpCePwrPresFO=0; // Offset for Power present field. |
|
57 const TUint8 KTpCeTimPresM=0x04; // Mask for Timing present field. |
|
58 const TUint8 KTpCeTimPresFO=2; // Offset for Timing present field. |
|
59 const TUint8 KTpCeIoPresM=0x08; // Mask for IO space present field. |
|
60 const TUint8 KTpCeIoPresFO=3; // Offset for IO space present field. |
|
61 const TUint8 KTpCeIrqPresM=0x10; // Mask for IRQ present field. |
|
62 const TUint8 KTpCeIrqPresFO=4; // Offset for IRQ present field. |
|
63 const TUint8 KTpCeMemPresM=0x60; // Mask for Mem space present field. |
|
64 const TUint8 KTpCeMemPresFO=5; // Offset for Mem space present field. |
|
65 const TUint8 KTpCeMiscPresM=0x80; // Mask for Misc present field. |
|
66 const TUint8 KTpCeMiscPresFO=7; // Offset for Misc present field. |
|
67 |
|
68 const TUint8 KTpCeTimWaitM=0x03; // Mask for wait timing field. |
|
69 const TUint8 KTpCeTimWaitFO=0; // Offset for wait timing field. |
|
70 const TUint8 KTpCeTimRdyM=0x1C; // Mask for ready timing field. |
|
71 const TUint8 KTpCeTimRdyFO=2; // Offset for ready timing field. |
|
72 const TUint8 KTpCeTimResM=0xE0; // Mask for reserved timing field. |
|
73 const TUint8 KTpCeTimResFO=5; // Offset for reserved timing field. |
|
74 |
|
75 const TUint8 KTpCeIoLinesM=0x1F; // Mask for IOAddrLines field. |
|
76 const TUint8 KTpCeIoLinesFO=0; // Offset for IOAddrLines field. |
|
77 const TUint8 KTpCeBus16_8M=0x60; // Mask for Bus16/8 field. |
|
78 const TUint8 KTpCeBus16_8FO=5; // Offset for Bus16/8 field. |
|
79 const TUint8 KTpCeRangePresM=0x80; // Mask for IO range field. |
|
80 const TUint8 KTpCeRangePresFO=7; // Offset for IO range field. |
|
81 const TUint8 KTpCeIoRangesM=0x0F; // Mask for number of IO ranges. |
|
82 const TUint8 KTpCeIoRangesFO=0; // Offset for number of IO ranges. |
|
83 const TUint8 KTpCeIoAddrSzM=0x30; // Mask for size of IO addr. |
|
84 const TUint8 KTpCeIoAddrSzFO=4; // Offset for size of IO addr. |
|
85 const TUint8 KTpCeIoAddrLenM=0xC0; // Mask for size of IO len. |
|
86 const TUint8 KTpCeIoAddrLenFO=6; // Offset for size of IO len. |
|
87 |
|
88 const TUint8 KTpCeIrqMaskM=0x10; // Mask for mask field in IRQ info. |
|
89 |
|
90 const TUint8 KTpCeMemWindowsM=0x07; // Mask for number of memory windows. |
|
91 const TUint8 KTpCeMemLenSzM=0x18; // Mask for size of each window len. |
|
92 const TUint8 KTpCeMemLenSzFO=3; // Offset for size of each window len. |
|
93 const TUint8 KTpCeMemAddrSzM=0x60; // Mask for size of each window addr. |
|
94 const TUint8 KTpCeMemAddrSzFO=5; // Offset for size of each window addr. |
|
95 const TUint8 KTpCeMemHostAddrM=0x80;// Mask for host address field |
|
96 |
|
97 const TUint8 KTpCePwrDownM=0x20; // Mask for power down in Misc info. |
|
98 |
|
99 // Device Information Tuples (KCisTplDevice,KCisTplDeviceA) |
|
100 const TUint8 KTpDiDSpeedM=0x07; // Mask for Device Speed field. |
|
101 const TUint8 KTpDiDSpeedNull=0; |
|
102 const TUint8 KTpDiDSpeed250nS=1; |
|
103 const TUint8 KTpDiDSpeed200nS=2; |
|
104 const TUint8 KTpDiDSpeed150nS=3; |
|
105 const TUint8 KTpDiDSpeed100nS=4; |
|
106 const TUint8 KTpDiDSpeedExt=7; |
|
107 |
|
108 const TUint8 KTpDiWpsM=0x08; // Mask for Write Prot. field. |
|
109 const TUint8 KTpDiDTypeM=0xF0; // Mask for Device Type field. |
|
110 const TUint8 KTpDiDTypeFO=4; // Offset for Device Type field. |
|
111 const TUint8 KTpDiDTypeNull=0; |
|
112 const TUint8 KTpDiDTypeRom=1; |
|
113 const TUint8 KTpDiDTypeOtprom=2; |
|
114 const TUint8 KTpDiDTypeEprom=3; |
|
115 const TUint8 KTpDiDTypeEeprom=4; |
|
116 const TUint8 KTpDiDTypeFlash=5; |
|
117 const TUint8 KTpDiDTypeSram=6; |
|
118 const TUint8 KTpDiDTypeDram=7; |
|
119 const TUint8 KTpDiDTypeFuncSpec=13; |
|
120 const TUint8 KTpDiDTypeExtend=14; |
|
121 |
|
122 const TUint8 KTpDiDSizeM=0x07; // Mask for Size Code field. |
|
123 const TUint8 KTpDiDSizeFO=0; // Offset for Size Code field. |
|
124 const TUint8 KTpDiDUnitsM=0xF8; // Mask for Num of Units field. |
|
125 const TUint8 KTpDiDUnitsFO=3; // Offset for Num of Units field. |
|
126 const TUint8 KTpDiDSize512=0; |
|
127 const TUint8 KTpDiDSize2K=1; |
|
128 const TUint8 KTpDiDSize8K=2; |
|
129 const TUint8 KTpDiDSize32K=3; |
|
130 const TUint8 KTpDiDSize128K=4; |
|
131 const TUint8 KTpDiDSize512K=5; |
|
132 const TUint8 KTpDiDSize2M=6; |
|
133 |
|
134 // Other Conditions Device Info. Tuples (KCisTplDeviceOC,KCisTplDeviceOA) |
|
135 const TUint8 KTpDoMWaitM=0x01; // Mask for MWAIT field. |
|
136 const TUint8 KTpDoVccUsedM=0x06; // Mask for VccUsed field. |
|
137 const TUint8 KTpDoVccUsedFO=1; // Offset for VccUsed field. |
|
138 |
|
139 const TInt KMaxTuplesPerCis=256; |
|
140 |