os/kernelhwsrv/kernel/eka/drivers/pbus/pccard/cis.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
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