return ret;
        }
 
-       pvt->rst = devm_reset_control_get_exclusive(dev, NULL);
+       pvt->rst = devm_reset_control_get_optional_exclusive(dev, NULL);
        if (IS_ERR(pvt->rst))
                return dev_err_probe(dev, PTR_ERR(pvt->rst),
                                     "failed to get reset control\n");
 
-       ret = pvt_reset_control_deassert(dev, pvt);
-       if (ret)
-               return dev_err_probe(dev, ret, "cannot deassert reset control\n");
+       if (pvt->rst) {
+               ret = pvt_reset_control_deassert(dev, pvt);
+               if (ret)
+                       return dev_err_probe(dev, ret,
+                                            "cannot deassert reset control\n");
+       }
 
        ret = regmap_read(pvt->c_map, PVT_IP_CONFIG, &val);
        if(ret < 0)