XilinxProcessorIPLib/drivers/v_hdmitxss1/examples/xhdmi_example/si5324drv.c
int Si5324_Reset(void *IicPtr, u8 IICAddress) {
    int result;
    u8 buf[2];

    if (SI5324_DEBUG) {
        xil_printf("Resetting Si5324.\r\n");
    }
    buf[0] = 136;  // Register number
    buf[1] = 0x80; // bit 7 = RST_REG = 1: start of reset
    result = Si5324_DoSettings(IicPtr, IICAddress, buf, 2);
    if (result != SI5324_SUCCESS) {
        // Not all bytes were sent: IIC error occurred
        return SI5324_ERR_IIC;
    }
    // Should wait here for minimum reset active time (this time is not
    // documented in the Si5324 data sheet). Since IIC is slow, assume that
    // enough time has passed before the next IIC command is finished.
    buf[1] = 0x00; // bit 7 = RST_REG = 0: end of reset
    result = Si5324_DoSettings(IicPtr, IICAddress, buf, 2);
    if (result != SI5324_SUCCESS) {
        // Not all bytes were sent: IIC error occurred
        return SI5324_ERR_IIC;
    }
    return SI5324_SUCCESS;
}
/*****************************************************************************/
/**
 * Reset the SiliconLabs Si5324 clock generator.
 *
 * @param    IICBaseAddress contains the base address of the IIC master
 *           device.
 * @param    IICAddress contains the 7 bit IIC address of the Si5324 device.
 *
 * @return   SI5324_SUCCESS for success, SI5324_ERR_IIC for IIC access failure.
 *
 * @note     Private function.
 *****************************************************************************/
Reset the SiliconLabs Si5324 clock generator.
@param    IICBaseAddress contains the base address of the IIC master
device.
@param    IICAddress contains the 7 bit IIC address of the Si5324 device.

@return   SI5324_SUCCESS for success, SI5324_ERR_IIC for IIC access failure.

@note     Private function.
Reset the SiliconLabs Si5324 clock generator . @param IICBaseAddress contains the base address of the IIC master device . @param IICAddress contains the 7 bit IIC address of the Si5324 device . @return SI5324_SUCCESS for success SI5324_ERR_IIC for IIC access failure . @note Private function .
int Si5324_Reset(void *IicPtr, u8 IICAddress) {
    int result;
    u8 buf[2];
    if (SI5324_DEBUG) {
        xil_printf("Resetting Si5324.\r\n");
    }
    buf[0] = 136;  
    buf[1] = 0x80; 
    result = Si5324_DoSettings(IicPtr, IICAddress, buf, 2);
    if (result != SI5324_SUCCESS) {
        return SI5324_ERR_IIC;
    }
    buf[1] = 0x00; 
    result = Si5324_DoSettings(IicPtr, IICAddress, buf, 2);
    if (result != SI5324_SUCCESS) {
        return SI5324_ERR_IIC;
    }
    return SI5324_SUCCESS;
}
int Si5324_Reset ( void * IicPtr , u8 IICAddress ) { int result ; u8 buf [ 2 ] ; if ( SI5324_DEBUG ) { xil_printf ( " \r \n " ) ; } buf [ 0 ] = 136 ; buf [ 1 ] = 0x80 ; result = Si5324_DoSettings ( IicPtr , IICAddress , buf , 2 ) ; if ( result != SI5324_SUCCESS ) { return SI5324_ERR_IIC ; } buf [ 1 ] = 0x00 ; result = Si5324_DoSettings ( IicPtr , IICAddress , buf , 2 ) ; if ( result != SI5324_SUCCESS ) { return SI5324_ERR_IIC ; } return SI5324_SUCCESS ; }
Reset the SiliconLabs Si5324 clock generator.
Reset the SiliconLabs Si5324 clock generator .
// Register number // bit 7 = RST_REG = 1: start of reset // Not all bytes were sent: IIC error occurred // Should wait here for minimum reset active time (this time is not // documented in the Si5324 data sheet). Since IIC is slow, assume that // enough time has passed before the next IIC command is finished. // bit 7 = RST_REG = 0: end of reset // Not all bytes were sent: IIC error occurred