Main Page   Modules   Alphabetical List   Data Structures   File List   Data Fields   Globals  

IxFeatureCtrl.h

Go to the documentation of this file.
00001 
00049 /* ------------------------------------------------------
00050    Doxygen group definitions
00051    ------------------------------------------------------ */
00060 #ifndef IXFEATURECTRL_H
00061 #define IXFEATURECTRL_H
00062 
00063 /*
00064  * User defined include files
00065  */
00066 #include "IxTypes.h"
00067 #include "ixp425.h"
00068 
00069 /*
00070  * #defines and macros
00071  */
00072 
00073 /*************************************************************
00074  * The following are IxFeatureCtrlComponentCheck return values.
00075  ************************************************************/
00076 
00085 #define  IX_FEATURE_CTRL_COMPONENT_DISABLED 0
00086 
00095 #define  IX_FEATURE_CTRL_COMPONENT_ENABLED  1
00096 
00097 /************************************************************************
00098  * Product ID in XScale CP15 - Register 0
00099  *  - It contains information on the maximum XScale Core Frequency and
00100  *    Silicon Stepping.  
00101  *  - XScale Core Frequency Id indicates only the maximum XScale frequency
00102  *    achievable and not the running XScale frequency (maybe stepped down).    
00103  *  - The register is read by using ixFeatureCtrlProductIdRead.
00104  *  - Usage example: 
00105  *          productId = ixFeatureCtrlProductIdRead();
00106  *          if( (productId & IX_FEATURE_CTRL_SILICON_STEPPING_MASK) == 
00107  *              IX_FEATURE_CTRL_SILICON_TYPE_A0 )
00108  *          if( (productId & IX_FEATURE_CTRL_XSCALE_FREQ_MASK) == 
00109  *              IX_FEATURE_CTRL_XSCALE_FREQ_533 )    
00110  * 
00111  *  31 28 27 24 23 20 19 16 15 12 11                  4 3              0  
00112  *  -------------------------------------------------------------------- 
00113  * | 0x6 | 0x9 | 0x0 | 0x5 | 0x4 | XScale Core Freq Id | Si Stepping Id |    
00114  *  --------------------------------------------------------------------
00115  *
00116  *   Maximum Achievable XScale Core Frequency Id :  533MHz  - 0x1C
00117  *                                                  400MHz  - 0x1D 
00118  *                                                  266MHz  - 0x1F
00119  * 
00120  *  Si Stepping Id            :  A       - 0x0    
00121  *                               B       - 0x1 
00122  ************************************************************************/
00123 
00131 #define IX_FEATURE_CTRL_SILICON_TYPE_A0   0
00132 
00140 #define IX_FEATURE_CTRL_SILICON_TYPE_B0   1
00141 
00149 #define IX_FEATURE_CTRL_SILICON_STEPPING_MASK  0xF 
00150 
00158 #define IX_FEATURE_CTRL_XSCALE_FREQ_533  ((0x1C)<<4)
00159 
00167 #define IX_FEATURE_CTRL_XSCALE_FREQ_400  ((0x1D)<<4)
00168 
00176 #define IX_FEATURE_CTRL_XSCALE_FREQ_266 ((0x1F)<<4)   
00177 
00185 #define IX_FEATURE_CTRL_XSCALE_FREQ_MASK ((0xFF)<<4)  
00186 
00187 
00188 /************************************************************************
00189  * IXP425 Feature Control Register  
00190  * - It contains the information (available/unavailable) of IXP425
00191  *   hardware components in their corresponding bit location. 
00192  * - Bit value of 0 means the hardware component is available 
00193  *   or not software disabled. Hardware component that is available 
00194  *   can be software disabled.  
00195  * - Bit value of 1 means the hardware is unavailable or software  
00196  *   disabled.Hardware component that is unavailable cannot be software 
00197  *   enabled. 
00198  * - Use ixFeatureCtrlHwCapabilityRead() to read the hardware component's
00199  *   availability.  
00200  * - Use ixFeatureCtrlRead() to get the current IXP425 feature control  
00201  *   register value.    
00202  *
00203  *   Bit            Field Description (Hardware Component Availability) 
00204  *   ---            ---------------------------------------------------
00205  *    0             RComp Circuitry     
00206  *    1             USB Controller
00207  *    2             Hashing Coprocessor
00208  *    3             AES Coprocessor 
00209  *    4             DES Coprocessor 
00210  *    5             HDLC Coprocessor
00211  *    6             AAL Coprocessor
00212  *    7             HSS Coprocesspr
00213  *    8             Utopia Coprocessor
00214  *    9             Ethernet 0 Coprocessor
00215  *   10             Ethernet 1 Coprocessor
00216  *   11             NPE A 
00217  *   12             NPE B  
00218  *   13             NPE C
00219  *   14             PCI Controller
00220  *   15             Reserved
00221  *  16-17           Utopia PHY Limit Status : 0x0 - 32 PHY 
00222  *                                            0x1 - 16 PHY
00223  *                                            0x2 -  8 PHY
00224  *                                            0x3 -  4 PHY  
00225  *  18-31           Reserved    
00226  ************************************************************************/
00234 #define IX_FEATURECTRL_REG_LOC_RCOMP 0
00235 
00243 #define IX_FEATURECTRL_REG_LOC_USB 1
00244 
00252 #define IX_FEATURECTRL_REG_LOC_HASH 2
00253 
00261 #define IX_FEATURECTRL_REG_LOC_AES 3
00262 
00270 #define IX_FEATURECTRL_REG_LOC_DES 4
00271 
00279 #define IX_FEATURECTRL_REG_LOC_HDLC 5
00280 
00288 #define IX_FEATURECTRL_REG_LOC_AAL 6
00289 
00297 #define IX_FEATURECTRL_REG_LOC_HSS 7
00298 
00306 #define IX_FEATURECTRL_REG_LOC_UTOPIA 8
00307 
00315 #define IX_FEATURECTRL_REG_LOC_ETH0 9
00316 
00324 #define IX_FEATURECTRL_REG_LOC_ETH1 10
00325 
00333 #define IX_FEATURECTRL_REG_LOC_NPEA 11
00334 
00342 #define IX_FEATURECTRL_REG_LOC_NPEB 12
00343 
00351 #define IX_FEATURECTRL_REG_LOC_NPEC 13
00352 
00360 #define IX_FEATURECTRL_REG_LOC_PCI 14
00361 
00369 #define IX_FEATURECTRL_REG_LOC_UTOPIA_PHY_LIMIT 16
00370 
00384 #define IX_FEATURECTRL_RCOMP    (1<<IX_FEATURECTRL_REG_LOC_RCOMP)
00385 
00394 #define IX_FEATURECTRL_USB    (1<<IX_FEATURECTRL_REG_LOC_USB)
00395 
00404 #define IX_FEATURECTRL_HASH    (1<<IX_FEATURECTRL_REG_LOC_HASH)
00405 
00414 #define IX_FEATURECTRL_AES    (1<<IX_FEATURECTRL_REG_LOC_AES)
00415 
00424 #define IX_FEATURECTRL_DES    (1<<IX_FEATURECTRL_REG_LOC_DES)
00425 
00434 #define IX_FEATURECTRL_HDLC    (1<<IX_FEATURECTRL_REG_LOC_HDLC)
00435 
00444 #define IX_FEATURECTRL_AAL    (1<<IX_FEATURECTRL_REG_LOC_AAL)
00445 
00454 #define IX_FEATURECTRL_HSS    (1<<IX_FEATURECTRL_REG_LOC_HSS)
00455 
00464 #define IX_FEATURECTRL_UTOPIA    (1<<IX_FEATURECTRL_REG_LOC_UTOPIA)
00465 
00474 #define IX_FEATURECTRL_ETH0    (1<<IX_FEATURECTRL_REG_LOC_ETH0)
00475 
00484 #define IX_FEATURECTRL_ETH1    (1<<IX_FEATURECTRL_REG_LOC_ETH1)
00485 
00494 #define IX_FEATURECTRL_NPEA    (1<<IX_FEATURECTRL_REG_LOC_NPEA)
00495 
00504 #define IX_FEATURECTRL_NPEB    (1<<IX_FEATURECTRL_REG_LOC_NPEB)
00505 
00514 #define IX_FEATURECTRL_NPEC   (1<<IX_FEATURECTRL_REG_LOC_NPEC)
00515 
00524 #define IX_FEATURECTRL_PCI   (1<<IX_FEATURECTRL_REG_LOC_PCI)
00525 
00534 #define IX_FEATURECTRL_REG_UTOPIA_32PHY  0x0
00535 
00544 #define IX_FEATURECTRL_REG_UTOPIA_16PHY  0x1
00545 
00554 #define IX_FEATURECTRL_REG_UTOPIA_8PHY   0x2
00555 
00564 #define IX_FEATURECTRL_REG_UTOPIA_4PHY   0x3
00565 
00588 #define IX_FEATURE_CTRL_SWCONFIG_DISABLED 0  
00589 
00598 #define IX_FEATURE_CTRL_SWCONFIG_ENABLED 1  
00599 
00608 /*
00609  * Entry for new run-time software configuration should be added here.
00610  */
00611 typedef enum
00612 {
00613     IX_FEATURECTRL_ETH_LEARNING,       
00614     IX_FEATURECTRL_SWCONFIG_MAX        
00615 } IxFeatureCtrlSwConfig;
00616 
00617 
00622 /*
00623  * Typedefs
00624  */
00625 
00634 typedef UINT32 IxFeatureCtrlReg;
00635 
00644 typedef UINT32 IxFeatureCtrlProductId;
00645 
00654 typedef UINT32 IxFeatureCtrlComponentType;
00655 
00656 /*
00657  * Prototypes for interface functions
00658  */
00659 
00676 IxFeatureCtrlReg
00677 ixFeatureCtrlRead (void);
00678 
00700 IxFeatureCtrlReg
00701 ixFeatureCtrlHwCapabilityRead (void);
00702 
00722 void
00723 ixFeatureCtrlWrite (IxFeatureCtrlReg expUnitReg);
00724 
00748 IX_STATUS
00749 ixFeatureCtrlComponentCheck (IxFeatureCtrlComponentType componentType);
00750 
00763 IxFeatureCtrlProductId
00764 ixFeatureCtrlProductIdRead (void) ;
00765 
00789 IX_STATUS
00790 ixFeatureCtrlSwConfigurationCheck (IxFeatureCtrlSwConfig swConfigType);
00791 
00813 void
00814 ixFeatureCtrlSwConfigurationWrite (IxFeatureCtrlSwConfig swConfigType, BOOL enabled);
00815 
00826 void
00827 ixFeatureCtrlIxp400SwVersionShow (void);
00828 
00829 #endif /* IXFEATURECTRL_H */
00830 
Automatically generated from sources. © Intel Corp. 2003