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

IXP425 Feature Control (IxFeatureCtrl) API

The Public API for the IXP425 Feature Control. More...


Modules

Software Configuration for Access Component
 This section describes software configuration in access component. The configuration can be changed at run-time. ixFeatureCtrlSwConfigurationCheck( ) will be used across applicable access component to check the configuration. ixFeatureCtrlSwConfigurationWrite( ) is used to write the software configuration.


Defines

#define IX_FEATURE_CTRL_COMPONENT_DISABLED
 Hardware Component is disabled/unavailable. Return status by ixFeatureCtrlComponentCheck().

#define IX_FEATURE_CTRL_COMPONENT_ENABLED
 Hardware Component is available. Return status by ixFeatureCtrlComponentCheck().

#define IX_FEATURE_CTRL_SILICON_TYPE_A0
 This is the value of A0 Silicon in product ID.

#define IX_FEATURE_CTRL_SILICON_TYPE_B0
 This is the value of B0 Silicon in product ID.

#define IX_FEATURE_CTRL_SILICON_STEPPING_MASK
 This is the mask of silicon stepping in product ID.

#define IX_FEATURE_CTRL_XSCALE_FREQ_533
 This is the value of 533MHz XScale Core in product ID.

#define IX_FEATURE_CTRL_XSCALE_FREQ_400
 This is the value of 400MHz XScale Core in product ID.

#define IX_FEATURE_CTRL_XSCALE_FREQ_266
 This is the value of 266MHz XScale Core in product ID.

#define IX_FEATURE_CTRL_XSCALE_FREQ_MASK
 This is the mask of XScale Core in product ID.

#define IX_FEATURECTRL_REG_LOC_RCOMP
 The bit location for RComp Circuitry.

#define IX_FEATURECTRL_REG_LOC_USB
 The bit location for USB Controller.

#define IX_FEATURECTRL_REG_LOC_HASH
 The bit location for Hashing Coprocessor.

#define IX_FEATURECTRL_REG_LOC_AES
 The bit location for AES Coprocessor.

#define IX_FEATURECTRL_REG_LOC_DES
 The bit location for DES Coprocessor.

#define IX_FEATURECTRL_REG_LOC_HDLC
 The bit location for HDLC Coprocessor.

#define IX_FEATURECTRL_REG_LOC_AAL
 The bit location for AAL Coprocessor.

#define IX_FEATURECTRL_REG_LOC_HSS
 The bit location for HSS Coprocessor.

#define IX_FEATURECTRL_REG_LOC_UTOPIA
 The bit location for UTOPIA Coprocessor.

#define IX_FEATURECTRL_REG_LOC_ETH0
 The bit location for Ethernet 0 Coprocessor.

#define IX_FEATURECTRL_REG_LOC_ETH1
 The bit location for Ethernet 1 Coprocessor.

#define IX_FEATURECTRL_REG_LOC_NPEA
 The bit location for NPE A.

#define IX_FEATURECTRL_REG_LOC_NPEB
 The bit location for NPE B.

#define IX_FEATURECTRL_REG_LOC_NPEC
 The bit location for NPE C.

#define IX_FEATURECTRL_REG_LOC_PCI
 The bit location for PCI Controller.

#define IX_FEATURECTRL_REG_LOC_UTOPIA_PHY_LIMIT
 The bit location for Utopia PHY Limit Status.

#define IX_FEATURECTRL_RCOMP
 The Component Name for RCOMP Circuitry. The name will be used for ixFeatureCtrlComponentCheck().

#define IX_FEATURECTRL_USB
 The Component Name for USB Controller. The name will be used for ixFeatureCtrlComponentCheck().

#define IX_FEATURECTRL_HASH
 The Component Name for Hashing Coprocessor. The name will be used for ixFeatureCtrlComponentCheck().

#define IX_FEATURECTRL_AES
 The Component Name for AES Coprocessor. The name will be used for ixFeatureCtrlComponentCheck().

#define IX_FEATURECTRL_DES
 The Component Name for DES Coprocessor. The name will be used for ixFeatureCtrlComponentCheck().

#define IX_FEATURECTRL_HDLC
 The Component Name for HDLC Coprocessor. The name will be used for ixFeatureCtrlComponentCheck().

#define IX_FEATURECTRL_AAL
 The Component Name for AAL Coprocessor. The name will be used for ixFeatureCtrlComponentCheck().

#define IX_FEATURECTRL_HSS
 The Component Name for HSS Coprocessor. The name will be used for ixFeatureCtrlComponentCheck().

#define IX_FEATURECTRL_UTOPIA
 The Component Name for Utopia Coprocessor. The name will be used for ixFeatureCtrlComponentCheck().

#define IX_FEATURECTRL_ETH0
 The Component Name for Ethernet 0 Coprocessor. The name will be used for ixFeatureCtrlComponentCheck().

#define IX_FEATURECTRL_ETH1
 The Component Name for Ethernet 1 Coprocessor. The name will be used for ixFeatureCtrlComponentCheck().

#define IX_FEATURECTRL_NPEA
 The Component Name for NPE A. The name will be used for ixFeatureCtrlComponentCheck().

#define IX_FEATURECTRL_NPEB
 The Component Name for NPE B. The name will be used for ixFeatureCtrlComponentCheck().

#define IX_FEATURECTRL_NPEC
 The Component Name for NPE C. The name will be used for ixFeatureCtrlComponentCheck().

#define IX_FEATURECTRL_PCI
 The Component Name for PCI Controller. The name will be used for ixFeatureCtrlComponentCheck().

#define IX_FEATURECTRL_REG_UTOPIA_32PHY
 Maximum UTOPIA PHY available to IXP425 is 32.

#define IX_FEATURECTRL_REG_UTOPIA_16PHY
 Maximum UTOPIA PHY available to IXP425 is 16.

#define IX_FEATURECTRL_REG_UTOPIA_8PHY
 Maximum UTOPIA PHY available to IXP425 is 8.

#define IX_FEATURECTRL_REG_UTOPIA_4PHY
 Maximum UTOPIA PHY available to IXP425 is 4.


Typedefs

typedef UINT32 IxFeatureCtrlReg
 Feature Control Register that contains hardware components' availability information.

typedef UINT32 IxFeatureCtrlProductId
 Product ID of Silicon that contains Silicon Stepping and Maximum XScale Core Frequency information.

typedef UINT32 IxFeatureCtrlComponentType
 The component type used for ixFeatureCtrlComponentCheck().


Functions

IxFeatureCtrlReg ixFeatureCtrlRead (void)
 This function reads out the CURRENT value of Feature Control Register. The current value may not be the same as that of the hardware component availability.

IxFeatureCtrlReg ixFeatureCtrlHwCapabilityRead (void)
 This function reads out the hardware capability of a silicon type as defined in feature control register.This value is different from that returned by ixFeatureCtrlRead() because this function returns the actual hardware component availability.

void ixFeatureCtrlWrite (IxFeatureCtrlReg expUnitReg)
 This function write the value stored in IxFeatureCtrlReg expUnitReg to the Feature Control Register.

IX_STATUS ixFeatureCtrlComponentCheck (IxFeatureCtrlComponentType componentType)
 This function will check the availability of hardware component specified as componentType value.

IxFeatureCtrlProductId ixFeatureCtrlProductIdRead (void)
 This function will return IXP425 product ID i.e. CP15, Register 0.

IX_STATUS ixFeatureCtrlSwConfigurationCheck (IxFeatureCtrlSwConfig swConfigType)
 This function checks whether the specified software configuration is enabled or disabled.

void ixFeatureCtrlSwConfigurationWrite (IxFeatureCtrlSwConfig swConfigType, BOOL enabled)
 This function enable/disable the specified software configuration.

void ixFeatureCtrlIxp400SwVersionShow (void)
 This function shows the current software release information for IXP400.


Detailed Description

The Public API for the IXP425 Feature Control.


Define Documentation

#define IX_FEATURE_CTRL_COMPONENT_DISABLED
 

Hardware Component is disabled/unavailable. Return status by ixFeatureCtrlComponentCheck().

Definition at line 85 of file IxFeatureCtrl.h.

#define IX_FEATURE_CTRL_COMPONENT_ENABLED
 

Hardware Component is available. Return status by ixFeatureCtrlComponentCheck().

Definition at line 95 of file IxFeatureCtrl.h.

#define IX_FEATURE_CTRL_SILICON_STEPPING_MASK
 

This is the mask of silicon stepping in product ID.

Definition at line 149 of file IxFeatureCtrl.h.

#define IX_FEATURE_CTRL_SILICON_TYPE_A0
 

This is the value of A0 Silicon in product ID.

Definition at line 131 of file IxFeatureCtrl.h.

#define IX_FEATURE_CTRL_SILICON_TYPE_B0
 

This is the value of B0 Silicon in product ID.

Definition at line 140 of file IxFeatureCtrl.h.

#define IX_FEATURE_CTRL_XSCALE_FREQ_266
 

This is the value of 266MHz XScale Core in product ID.

Definition at line 176 of file IxFeatureCtrl.h.

#define IX_FEATURE_CTRL_XSCALE_FREQ_400
 

This is the value of 400MHz XScale Core in product ID.

Definition at line 167 of file IxFeatureCtrl.h.

#define IX_FEATURE_CTRL_XSCALE_FREQ_533
 

This is the value of 533MHz XScale Core in product ID.

Definition at line 158 of file IxFeatureCtrl.h.

#define IX_FEATURE_CTRL_XSCALE_FREQ_MASK
 

This is the mask of XScale Core in product ID.

Definition at line 185 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_AAL
 

The Component Name for AAL Coprocessor. The name will be used for ixFeatureCtrlComponentCheck().

Definition at line 444 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_AES
 

The Component Name for AES Coprocessor. The name will be used for ixFeatureCtrlComponentCheck().

Definition at line 414 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_DES
 

The Component Name for DES Coprocessor. The name will be used for ixFeatureCtrlComponentCheck().

Definition at line 424 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_ETH0
 

The Component Name for Ethernet 0 Coprocessor. The name will be used for ixFeatureCtrlComponentCheck().

Definition at line 474 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_ETH1
 

The Component Name for Ethernet 1 Coprocessor. The name will be used for ixFeatureCtrlComponentCheck().

Definition at line 484 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_HASH
 

The Component Name for Hashing Coprocessor. The name will be used for ixFeatureCtrlComponentCheck().

Definition at line 404 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_HDLC
 

The Component Name for HDLC Coprocessor. The name will be used for ixFeatureCtrlComponentCheck().

Definition at line 434 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_HSS
 

The Component Name for HSS Coprocessor. The name will be used for ixFeatureCtrlComponentCheck().

Definition at line 454 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_NPEA
 

The Component Name for NPE A. The name will be used for ixFeatureCtrlComponentCheck().

Definition at line 494 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_NPEB
 

The Component Name for NPE B. The name will be used for ixFeatureCtrlComponentCheck().

Definition at line 504 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_NPEC
 

The Component Name for NPE C. The name will be used for ixFeatureCtrlComponentCheck().

Definition at line 514 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_PCI
 

The Component Name for PCI Controller. The name will be used for ixFeatureCtrlComponentCheck().

Definition at line 524 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_RCOMP
 

The Component Name for RCOMP Circuitry. The name will be used for ixFeatureCtrlComponentCheck().

Definition at line 384 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_REG_LOC_AAL
 

The bit location for AAL Coprocessor.

Definition at line 288 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_REG_LOC_AES
 

The bit location for AES Coprocessor.

Definition at line 261 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_REG_LOC_DES
 

The bit location for DES Coprocessor.

Definition at line 270 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_REG_LOC_ETH0
 

The bit location for Ethernet 0 Coprocessor.

Definition at line 315 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_REG_LOC_ETH1
 

The bit location for Ethernet 1 Coprocessor.

Definition at line 324 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_REG_LOC_HASH
 

The bit location for Hashing Coprocessor.

Definition at line 252 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_REG_LOC_HDLC
 

The bit location for HDLC Coprocessor.

Definition at line 279 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_REG_LOC_HSS
 

The bit location for HSS Coprocessor.

Definition at line 297 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_REG_LOC_NPEA
 

The bit location for NPE A.

Definition at line 333 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_REG_LOC_NPEB
 

The bit location for NPE B.

Definition at line 342 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_REG_LOC_NPEC
 

The bit location for NPE C.

Definition at line 351 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_REG_LOC_PCI
 

The bit location for PCI Controller.

Definition at line 360 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_REG_LOC_RCOMP
 

The bit location for RComp Circuitry.

Definition at line 234 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_REG_LOC_USB
 

The bit location for USB Controller.

Definition at line 243 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_REG_LOC_UTOPIA
 

The bit location for UTOPIA Coprocessor.

Definition at line 306 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_REG_LOC_UTOPIA_PHY_LIMIT
 

The bit location for Utopia PHY Limit Status.

Definition at line 369 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_REG_UTOPIA_16PHY
 

Maximum UTOPIA PHY available to IXP425 is 16.

Definition at line 544 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_REG_UTOPIA_32PHY
 

Maximum UTOPIA PHY available to IXP425 is 32.

Definition at line 534 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_REG_UTOPIA_4PHY
 

Maximum UTOPIA PHY available to IXP425 is 4.

Definition at line 564 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_REG_UTOPIA_8PHY
 

Maximum UTOPIA PHY available to IXP425 is 8.

Definition at line 554 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_USB
 

The Component Name for USB Controller. The name will be used for ixFeatureCtrlComponentCheck().

Definition at line 394 of file IxFeatureCtrl.h.

#define IX_FEATURECTRL_UTOPIA
 

The Component Name for Utopia Coprocessor. The name will be used for ixFeatureCtrlComponentCheck().

Definition at line 464 of file IxFeatureCtrl.h.


Typedef Documentation

IxFeatureCtrlComponentType
 

The component type used for ixFeatureCtrlComponentCheck().

Definition at line 654 of file IxFeatureCtrl.h.

IxFeatureCtrlProductId
 

Product ID of Silicon that contains Silicon Stepping and Maximum XScale Core Frequency information.

Definition at line 644 of file IxFeatureCtrl.h.

IxFeatureCtrlReg
 

Feature Control Register that contains hardware components' availability information.

Definition at line 634 of file IxFeatureCtrl.h.


Function Documentation

IX_STATUS ixFeatureCtrlComponentCheck IxFeatureCtrlComponentType  componentType  ) 
 

This function will check the availability of hardware component specified as componentType value.

Usage Example:

  • if(IX_FEATURE_CTRL_COMPONENT_DISABLED != ixFeatureCtrlComponentCheck(IX_FEATURECTRL_ETH0))
  • if(IX_FEATURE_CTRL_COMPONENT_ENABLED == ixFeatureCtrlComponentCheck(IX_FEATURECTRL_PCI))

This function is typically called during component initialization time.

Parameters:
IxFeatureCtrlComponentType (in)componentType - the type of a component as defined above as IX_FEATURECTRL_XXX (Exp: IX_FEATURECTRL_PCI, IX_FEATURECTRL_ETH0)
Returns:
  • IX_FEATURE_CTRL_COMPONENT_ENABLED if component is available
  • IX_FEATURE_CTRL_COMPONENT_DISABLED if component is unavailable

IxFeatureCtrlReg ixFeatureCtrlHwCapabilityRead void   ) 
 

This function reads out the hardware capability of a silicon type as defined in feature control register.This value is different from that returned by ixFeatureCtrlRead() because this function returns the actual hardware component availability.

The bit location of each hardware component is defined above. A value of '1' in bit means the hardware component is not available. A value of '0' means the hardware component is available.

Returns:
  • IxFeatureCtrlReg - the hardware capability of IXP425.
Warning:
  • This function must not be called when IXP425 is running as the result is undefined.

void ixFeatureCtrlIxp400SwVersionShow void   ) 
 

This function shows the current software release information for IXP400.

Returns:
none

IxFeatureCtrlProductId ixFeatureCtrlProductIdRead void   ) 
 

This function will return IXP425 product ID i.e. CP15, Register 0.

Returns:
  • IxFeatureCtrlProductId - the value of product ID.

IxFeatureCtrlReg ixFeatureCtrlRead void   ) 
 

This function reads out the CURRENT value of Feature Control Register. The current value may not be the same as that of the hardware component availability.

The bit location of each hardware component is defined above. A value of '1' in bit means the hardware component is not available. A value of '0' means the hardware component is available.

Returns:
  • IxFeatureCtrlReg - the current value of IXP425 Feature Control Register

IX_STATUS ixFeatureCtrlSwConfigurationCheck IxFeatureCtrlSwConfig  swConfigType  ) 
 

This function checks whether the specified software configuration is enabled or disabled.

Usage Example:

  • if(IX_FEATURE_CTRL_SWCONFIG_DISABLED != ixFeatureCtrlSwConfigurationCheck(IX_FEATURECTRL_ETH_LEARNING))
  • if(IX_FEATURE_CTRL_SWCONFIG_ENABLED == ixFeatureCtrlSwConfigurationCheck(IX_FEATURECTRL_ETH_LEARNING))

This function is typically called during access component initialization time.

Parameters:
IxFeatureCtrlSwConfig (in)swConfigType - the type of a software configuration defined in IxFeatureCtrlSwConfig enumeration.
Returns:
  • IX_FEATURE_CTRL_SWCONFIG_ENABLED if software configuration is enabled.
  • IX_FEATURE_CTRL_SWCONFIG_DISABLED if software configuration is disabled.

void ixFeatureCtrlSwConfigurationWrite IxFeatureCtrlSwConfig  swConfigType,
BOOL  enabled
 

This function enable/disable the specified software configuration.

Usage Example:

  • ixFeatureCtrlSwConfigurationWrite(IX_FEATURECTRL_ETH_LEARNING, TRUE) is used to enable Ethernet Learning Feature
  • ixFeatureCtrlSwConfigurationWrite(IX_FEATURECTRL_ETH_LEARNING, FALSE) is used to disable Ethernet Learning Feature

Parameters:
IxFeatureCtrlSwConfig (in)swConfigType - the type of a software configuration defined in IxFeatureCtrlSwConfig enumeration.
BOOL (in)enabled - To enable(TRUE) / disable (FALSE) the specified software configuration.
Returns:
none

void ixFeatureCtrlWrite IxFeatureCtrlReg  expUnitReg  ) 
 

This function write the value stored in IxFeatureCtrlReg expUnitReg to the Feature Control Register.

The bit location of each hardware component is defined above. The write is only effective on available hardware components. Writing '1' in a bit will software disable the respective hardware component. A '0' will mean that the hardware component will remain to be operable.

Parameters:
IxFeatureCtrlReg (in)expUnitReg - The value to be written to feature control register.
Returns:
none

Automatically generated from sources. © Intel Corp. 2003