Hi,
pdk_C6678_1_1_2_6\packages\ti\drv\srio\device\device_srio_loopback.c
/* TODO: Configure the processing element features * The SRIO RL file is missing the Re-transmit Suppression Support (Bit6) field definition */ peFeatures.isBridge = 0; peFeatures.isEndpoint = 0; peFeatures.isProcessor = 1; peFeatures.isSwitch = 0; peFeatures.isMultiport = 0; peFeatures.isFlowArbiterationSupported = 0; peFeatures.isMulticastSupported = 0; peFeatures.isExtendedRouteConfigSupported = 0; peFeatures.isStandardRouteConfigSupported = 1; peFeatures.isFlowControlSupported = 1; peFeatures.isCRFSupported = 0; peFeatures.isCTLSSupported = 1; peFeatures.isExtendedFeaturePtrValid = 1; peFeatures.numAddressBitSupported = 1; CSL_SRIO_SetProcessingElementFeatures (hSrio, &peFeatures); CSL_IDEF_INLINE void CSL_SRIO_SetProcessingElementFeatures ( CSL_SrioHandle hSrio, SRIO_PE_FEATURES* ptrPEFeatures ) { Uint32 value = 0; /* Initialize the various fields in the register */ CSL_FINS (value, SRIO_RIO_PE_FEAT_BRDG, ptrPEFeatures->isBridge); CSL_FINS (value, SRIO_RIO_PE_FEAT_MEM, ptrPEFeatures->isEndpoint); CSL_FINS (value, SRIO_RIO_PE_FEAT_PROC, ptrPEFeatures->isProcessor); CSL_FINS (value, SRIO_RIO_PE_FEAT_SW, ptrPEFeatures->isSwitch); CSL_FINS (value, SRIO_RIO_PE_FEAT_MULT_P, ptrPEFeatures->isMultiport); CSL_FINS (value, SRIO_RIO_PE_FEAT_FLOW_ARB, ptrPEFeatures->isFlowArbiterationSupported); CSL_FINS (value, SRIO_RIO_PE_FEAT_MC, ptrPEFeatures->isMulticastSupported); CSL_FINS (value, SRIO_RIO_PE_FEAT_ERTC, ptrPEFeatures->isExtendedRouteConfigSupported); CSL_FINS (value, SRIO_RIO_PE_FEAT_SRTC, ptrPEFeatures->isStandardRouteConfigSupported); CSL_FINS (value, SRIO_RIO_PE_FEAT_FLOW_CTRL,ptrPEFeatures->isFlowControlSupported); CSL_FINS (value, SRIO_RIO_PE_FEAT_CRF, ptrPEFeatures->isCRFSupported); CSL_FINS (value, SRIO_RIO_PE_FEAT_CTLS, ptrPEFeatures->isCTLSSupported); CSL_FINS (value, SRIO_RIO_PE_FEAT_EXT_FEA, ptrPEFeatures->isExtendedFeaturePtrValid); CSL_FINS (value, SRIO_RIO_PE_FEAT_EXT_AS, ptrPEFeatures->numAddressBitSupported); hSrio->RIO_PE_FEAT = value;
The PE_FEAT register in the manual is a read-only attribute. Why can it be written? There are only 11 options in the register in the manual, but why there are 14 options in the code, please help explain.