goto err_destroy_job_wq;
        }
 
-       mm_pdev = __get_pdev_by_id(pdev, MDP_INFRA_SCP);
-       if (WARN_ON(!mm_pdev)) {
-               dev_err(&pdev->dev, "Could not get scp device\n");
-               ret = -ENODEV;
-               goto err_destroy_clock_wq;
+       mdp->scp = scp_get(pdev);
+       if (!mdp->scp) {
+               mm_pdev = __get_pdev_by_id(pdev, MDP_INFRA_SCP);
+               if (WARN_ON(!mm_pdev)) {
+                       dev_err(&pdev->dev, "Could not get scp device\n");
+                       ret = -ENODEV;
+                       goto err_destroy_clock_wq;
+               }
+               mdp->scp = platform_get_drvdata(mm_pdev);
        }
-       mdp->scp = platform_get_drvdata(mm_pdev);
+
        mdp->rproc_handle = scp_get_rproc(mdp->scp);
        dev_dbg(&pdev->dev, "MDP rproc_handle: %pK", mdp->rproc_handle);