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