PUBLIC void GSP_Init(void)
{
    int ret = 0;
    ret = clk_enable(g_gsp_emc_clk);
    if(ret) {
        printk(KERN_ERR "%s: enable emc clock failed!\n",__FUNCTION__);
        return;
    } else {
        pr_debug(KERN_INFO "%s: enable emc clock ok!\n",__FUNCTION__);
    }
#ifndef GSP_IOMMU_WORKAROUND1
    GSP_HWMODULE_SOFTRESET();//workaround gsp-iommu bug
#endif
    GSP_IRQMODE_SET(GSP_IRQ_MODE_LEVEL);
}
Exemple #2
0
PUBLIC int GSP_Init(gsp_context_t *gspCtx)
{
    int ret = 0;
    GSP_module_enable(gspCtx);
    ret = clk_prepare_enable(gspCtx->gsp_emc_clk);
    //GSP_AUTO_GATE_ENABLE();//gsp driver take charge of auto_gate bit instead of pm
    if(ret) {
        printk(KERN_ERR "%s: enable emc clock failed!\n",__FUNCTION__);
        return GSP_KERNEL_CLOCK_ERR;
    } else {
        pr_debug(KERN_INFO "%s: enable emc clock ok!\n",__FUNCTION__);
    }

    //GSP_HWMODULE_SOFTRESET();//sharkL bug 350028
    GSP_IRQMODE_SET(GSP_IRQ_MODE_LEVEL);
    ret = GSP_ClocksCheckPhase0();
    return ret;
}