/* Resets the IIC device. Reset must only be called after the driver has been initialized. The configuration of the device after reset is the same as its configuration after initialization. Any data transfer that is in progress is aborted. 
The upper layer software is responsible for re-configuring (if necessary) and reenabling interrupts for the IIC device after the reset. */
void XIicPs_Reset(XIicPs *InstancePtr)
/* Resets the IIC device. Reset must only be called after the driver has been initialized. The configuration of the device after reset is the same as its configuration after initialization. Any data transfer that is in progress is aborted. 
The upper layer software is responsible for re-configuring (if necessary) and reenabling interrupts for the IIC device after the reset. */
void XIicPs_Reset(XIicPs *InstancePtr)
{
        Xil_AssertVoid(InstancePtr != NULL);
        Xil_AssertVoid(InstancePtr->IsReady == (u32)XIL_COMPONENT_IS_READY);
        XIicPs_Abort(InstancePtr);
        XIicPs_WriteReg(InstancePtr->Config.BaseAddress, XIICPS_CR_OFFSET,
                          XIICPS_CR_RESET_VALUE);
        XIicPs_WriteReg(InstancePtr->Config.BaseAddress,
                          XIICPS_TIME_OUT_OFFSET, XIICPS_TO_RESET_VALUE);
        XIicPs_WriteReg(InstancePtr->Config.BaseAddress, XIICPS_IDR_OFFSET,
                          XIICPS_IXR_ALL_INTR_MASK);
}