void MHD_OUT_EN(void)
{
    byte state , int_stat;
    int_stat = ReadIndexedRegister(INDEXED_PAGE_0,0x74);
    printk("[MHD]MHD_OUT_EN INT register value is: 0x%02x \n", int_stat);
    state = ReadIndexedRegister(INDEXED_PAGE_0, 0x81);
    printk("[MHD]MHD_OUT_EN register 0x81 value is: 0x%02x\n", state);

    if((state & 0x02) && (int_stat &0x01))
    {
        printk("[MHD]MHD_OUT_EN :: enable output\n");
        ReadModifyWriteIndexedRegister(INDEXED_PAGE_0,0x80,SI_BIT_4,0x0);
        msleep(20);
        ReadModifyWriteIndexedRegister(INDEXED_PAGE_0,0x80,SI_BIT_4,SI_BIT_4);
        msleep(60);

        set_mhd_power_active_mode();
        mhd_tx_fifo_stable(); //fifo clear
    }
    MHD_INT_clear();
}
void sii9234_tpi_init(void)
{
    MHD_HW_Reset();
    if(!MHL_i2c_init)
    {
        TPI_DEBUG_PRINT (("[MHD] I2C not ready\n"));
        return;
    }

    //sii9234_initial_registers_set();  //previous setting
    printk("[MHD]9234 init ++ \n");
    //DisableInterrupts();
    //MHD_INT_clear();
    sii9234_register_init();
    sii9234_start_tpi();
    mhd_rx_connected();
    enable_mhd_tx();
    set_mhd_power_active_mode();
    mhd_tx_fifo_stable(); //fifo clear
    //EnableInterrupts();
    printk("[MHD]9234 init -- \n");
}