int32_t sprdfb_dsi_uninit(struct sprdfb_device *dev)
{
	dsih_error_t result;
	result = mipi_dsih_close(&(dsi_ctx.dsi_inst));
	if(OK != result){
		FB_PRINT("sprdfb: [%s]: sprdfb_dsi_uninit fail (%d)!\n", __FUNCTION__, result);
		return -1;
	} else {
		dsi_ctx.is_inited = 0;
	}

	dsi_core_write_function(DSI_CTL_BEGIN, R_DSI_HOST_PHY_IF_CTRL, 0);
	mdelay(3);

	return 0;
}
int32_t sprdfb_dsi_uninit(struct sprdfb_device *dev)
{
	dsih_error_t result;
	dsih_ctrl_t* dsi_instance = &(dsi_ctx.dsi_inst);
	printk(KERN_INFO "sprdfb: [%s], dev_id = %d\n",__FUNCTION__, dev->dev_id);
	result = mipi_dsih_close(&(dsi_ctx.dsi_inst));
	dsi_instance->status = NOT_INITIALIZED;

	if(OK != result){
		printk(KERN_ERR "sprdfb: [%s]: sprdfb_dsi_uninit fail (%d)!\n", __FUNCTION__, result);
		return -1;
	}

	dsi_core_write_function(SPRD_MIPI_DSIC_BASE, R_DSI_HOST_PHY_IF_CTRL, 0);
	mdelay(10);
	return 0;
}
示例#3
0
int32_t autotst_dsi_uninit(void)
{
	dsih_error_t result;
	dsih_ctrl_t* dsi_instance = &(autotst_dsi_ctx.dsi_inst);

	printk(KERN_INFO "autotst_dsi: [%s]\n",__FUNCTION__);

	dsi_core_write_function(SPRD_MIPI_DSIC_BASE, R_DSI_HOST_PHY_IF_CTRL, 0);
	result = mipi_dsih_close(&(autotst_dsi_ctx.dsi_inst));
	dsi_instance->status = NOT_INITIALIZED;

	autotst_dsi_ctx.status = 1;

	if(OK != result){
		printk(KERN_ERR "autotst_dsi: [%s] fail (%d)!\n", __FUNCTION__, result);
		return -1;
	}

	mdelay(10);
	dsi_disable();
	return 0;
}
int32_t sprdfb_dsi_uninit(struct sprdfb_device *dev)
{
	dsih_error_t result;
	dsih_ctrl_t* dsi_instance = &(dsi_ctx.dsi_inst);
	printk(KERN_INFO "sprdfb: [%s], dev_id = %d\n",__FUNCTION__, dev->dev_id);
#ifdef FB_DSIH_VERSION_1P21A
	mipi_dsih_dphy_enable_hs_clk(&(dsi_instance->phy_instance), false);
#else
	dsi_core_write_function(SPRD_MIPI_DSIC_BASE, R_DSI_HOST_PHY_IF_CTRL, 0);
#endif
	result = mipi_dsih_close(&(dsi_ctx.dsi_inst));
	dsi_instance->status = NOT_INITIALIZED;

	dsi_ctx.status = 1;

	if(OK != result){
		printk(KERN_ERR "sprdfb: [%s]: sprdfb_dsi_uninit fail (%d)!\n", __FUNCTION__, result);
		return -1;
	}

	msleep(10);
	dsi_disable();
	return 0;
}