static int hdmi_drv_init(void) { HDMI_LOG("hdmi_drv_init +\n" ); Mask_MHL_Intr(); cust_hdmi_power_on(true); if(not_switch_to_d3 == 0) { HalOpenI2cDevice("Sil_MHL", "sii8348drv"); } txInitFlag = 0; chip_inited = false; HDMI_LOG("hdmi_drv_init -\n" ); return 0; }
static int hdmi_drv_init(void) { MHL_DBG("hdmi_drv_init, not_switch_to_d3: %d, init-%d\n", not_switch_to_d3, chip_inited); if(chip_inited == TRUE) return 0; cust_hdmi_power_on(true); if(not_switch_to_d3 == 0) { HalOpenI2cDevice("Sil_MHL", "sii8348drv"); } txInitFlag = 0; chip_inited = true; #ifdef CONFIG_MTK_LEGACY // cust_hdmi_i2s_gpio_on(0); cust_hdmi_dpi_gpio_on(0); #else // i2s_gpio_ctrl(0); dpi_gpio_ctrl(0); #endif MHL_DBG("hdmi_drv_init -\n" ); return 0; }
static int hdmi_drv_init(void) { halReturn_t halStatus; SiiOsStatus_t osalStatus; printk("Starting %s\n", MHL_PART_NAME); if(!SiiCraInitialize()) { SII_DEBUG_PRINT(SII_OSAL_DEBUG_TRACE,"Initialization of CRA layer failed!\n"); return -EIO; } osalStatus = SiiOsInit(0); if (osalStatus != SII_OS_STATUS_SUCCESS) { SII_DEBUG_PRINT(SII_OSAL_DEBUG_TRACE,"Initialization of OSAL failed, error code: %d\n",osalStatus); return -EIO; } halStatus = HalInit(); if (halStatus != HAL_RET_SUCCESS) { SII_DEBUG_PRINT(SII_OSAL_DEBUG_TRACE,"Initialization of HAL failed, error code: %d\n",halStatus); SiiOsTerm(); return -EIO; } //#if MTK_project //xuecheng //I2c_Init(); //#endif halStatus = HalOpenI2cDevice(MHL_PART_NAME, MHL_DRIVER_NAME); if (halStatus != HAL_RET_SUCCESS) { SII_DEBUG_PRINT(SII_OSAL_DEBUG_TRACE,"Opening of I2c device %s failed, error code: %d\n", MHL_PART_NAME, halStatus); HalTerm(); SiiOsTerm(); return -EIO; } //msleep(200); #ifdef SiI8338DRIVER_INTERRUPT_MODE halStatus = HalInstallIrqHandler(SiiMhlTxDeviceIsr); if (halStatus != HAL_RET_SUCCESS) { SII_DEBUG_PRINT(SII_OSAL_DEBUG_TRACE,"Initialization of HAL interrupt support failed, error code: %d\n", halStatus); HalCloseI2cDevice(); HalTerm(); SiiOsTerm(); return -EIO; } #else StartEventThread(); /* begin monitoring for events if using polling mode*/ #endif mhl_init_rmt_input_dev(); return 0; }
int32_t StartMhlTxDevice(void) { halReturn_t halStatus; SiiOsStatus_t osalStatus; printk("Starting %s\n", MHL_PART_NAME); SiiMhlTxHwReset(10,200); if(!SiiCraInitialize()) { SII_DEBUG_PRINT(SII_OSAL_DEBUG_TRACE,"Initialization of CRA layer failed!\n"); return -EIO; } osalStatus = SiiOsInit(0); if (osalStatus != SII_OS_STATUS_SUCCESS) { SII_DEBUG_PRINT(SII_OSAL_DEBUG_TRACE,"Initialization of OSAL failed, error code: %d\n",osalStatus); return -EIO; } halStatus = HalInit(); if (halStatus != HAL_RET_SUCCESS) { SII_DEBUG_PRINT(SII_OSAL_DEBUG_TRACE,"Initialization of HAL failed, error code: %d\n",halStatus); SiiOsTerm(); return -EIO; } //#if MTK_project //xuecheng //I2c_Init(); //#endif halStatus = HalOpenI2cDevice(MHL_PART_NAME, MHL_DRIVER_NAME); if (halStatus != HAL_RET_SUCCESS) { SII_DEBUG_PRINT(SII_OSAL_DEBUG_TRACE,"Opening of I2c device %s failed, error code: %d\n", MHL_PART_NAME, halStatus); HalTerm(); SiiOsTerm(); return -EIO; } msleep(200); #ifdef SiI8338DRIVER_INTERRUPT_MODE halStatus = HalInstallIrqHandler(SiiMhlTxDeviceIsr); if (halStatus != HAL_RET_SUCCESS) { SII_DEBUG_PRINT(SII_OSAL_DEBUG_TRACE,"Initialization of HAL interrupt support failed, error code: %d\n", halStatus); HalCloseI2cDevice(); HalTerm(); SiiOsTerm(); return -EIO; } #else StartEventThread(); /* begin monitoring for events if using polling mode*/ #endif //xuecheng HalInstallCheckDeviceCB(SiiCheckDevice); HalAcquireIsrLock(); siHdmiTx_VideoSel(HDMI_720P60); siHdmiTx_AudioSel(I2S_44); SiiMhlTxInitialize(EVENT_POLL_INTERVAL_MS); HalReleaseIsrLock(); return 0; }