* platforms. Only supported with DT boot.
                 */
                if (np && of_property_present(np, "syscon-raminit")) {
+                       unsigned int args[2];
                        u32 id;
                        struct c_can_raminit *raminit = &priv->raminit_sys;
 
                        ret = -EINVAL;
-                       raminit->syscon = syscon_regmap_lookup_by_phandle(np,
-                                                                         "syscon-raminit");
+                       raminit->syscon = syscon_regmap_lookup_by_phandle_args(np,
+                                                                              "syscon-raminit",
+                                                                              2, args);
                        if (IS_ERR(raminit->syscon)) {
                                ret = PTR_ERR(raminit->syscon);
                                goto exit_free_device;
                        }
 
-                       if (of_property_read_u32_index(np, "syscon-raminit", 1,
-                                                      &raminit->reg)) {
-                               dev_err(&pdev->dev,
-                                       "couldn't get the RAMINIT reg. offset!\n");
-                               goto exit_free_device;
-                       }
-
-                       if (of_property_read_u32_index(np, "syscon-raminit", 2,
-                                                      &id)) {
-                               dev_err(&pdev->dev,
-                                       "couldn't get the CAN instance ID\n");
-                               goto exit_free_device;
-                       }
+                       raminit->reg = args[0];
+                       id = args[1];
 
                        if (id >= drvdata->raminit_num) {
                                dev_err(&pdev->dev,