我现在阅读提供的demo device_srio_loopback.c 文件,函数 SrioDevice_init中代码,手册中寄存器是只读属性,为什么可以写入,手册中寄存器只有11个选项,但是代码为什么有14个输入,有的选项我没有找到
(
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;
}
