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