/** * * This function does a selftest on the IIC device and XIic driver as an * example. * * @param DeviceId is the XPAR_<IIC_instance>_DEVICE_ID value from * xparameters.h. * * @return XST_SUCCESS if successful, XST_FAILURE if unsuccessful. * * @note None. * ****************************************************************************/ int IicSelfTestExample(u16 DeviceId) { int Status; XIic_Config *ConfigPtr; /* Pointer to configuration data */ /* * Initialize the IIC driver so that it is ready to use. */ ConfigPtr = XIic_LookupConfig(DeviceId); if (ConfigPtr == NULL) { return XST_FAILURE; } Status = XIic_CfgInitialize(&Iic, ConfigPtr, ConfigPtr->BaseAddress); if (Status != XST_SUCCESS) { return XST_FAILURE; } /* * Perform a self-test to ensure that the hardware was built * correctly. */ Status = XIic_SelfTest(&Iic); if (Status != XST_SUCCESS) { return XST_FAILURE; } return XST_SUCCESS; }
/** * * This function performs self test on DisplayPort Receiver Subsystem * sub-cores. * * @param InstancePtr is a pointer to the XDpRxSs core instance. * * @return * - XST_SUCCESS if self test passed. * - Otherwise, prints self test failed message. * * @note None. * ******************************************************************************/ u32 XDpRxSs_SelfTest(XDpRxSs *InstancePtr) { u32 Status; /* Verify argument. */ Xil_AssertNonvoid(InstancePtr != NULL); /* Check DP availability */ if (InstancePtr->DpPtr) { Status = XDp_SelfTest(InstancePtr->DpPtr); if (Status != XST_SUCCESS) { xdbg_printf(XDBG_DEBUG_GENERAL,"ERR::DP Self test " "failed\n\r"); } } #if (XPAR_XHDCP_NUM_INSTANCES > 0) if ((InstancePtr->Hdcp1xPtr) && (InstancePtr->Config.HdcpEnable)) { Status = XHdcp1x_SelfTest(InstancePtr->Hdcp1xPtr); if (Status != XST_SUCCESS) { xdbg_printf(XDBG_DEBUG_GENERAL,"ERR::HDCP Self test " "failed\r\n"); } } if (InstancePtr->TmrCtrPtr) { Status = XTmrCtr_SelfTest(InstancePtr->TmrCtrPtr, 0); if (Status != XST_SUCCESS) { xdbg_printf(XDBG_DEBUG_GENERAL,"ERR::Timer Counter " "Self test failed\r\n"); } } #endif /* Check IIC availability */ if (InstancePtr->IicPtr) { Status = (u32)XIic_SelfTest(InstancePtr->IicPtr); if (Status != XST_SUCCESS) { xdbg_printf(XDBG_DEBUG_GENERAL,"ERR::IIC Self test " "failed\n\r"); } } return XST_SUCCESS; }