kernel/eka/drivers/pbus/pccard/cis.h
changeset 0 a41df078684a
equal deleted inserted replaced
-1:000000000000 0:a41df078684a
       
     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