This adds support to load the video firmware
and bring ARM9 out of reset. This is useful
for platforms which does not have trustzone
to reset the ARM9.
+static int store_firmware_dev(struct device *dev, void *data)
+{
+ struct venus_core *core;
+
+ core = (struct venus_core *)data;
+ if (!core)
+ return -EINVAL;
+
+ if (of_device_is_compatible(dev->of_node, "qcom,venus-pil-no-tz"))
+ core->fw.dev = dev;
+
+ return 0;
+}
+
- ret = venus_boot(dev, core->res->fwname);
+ ret = of_platform_populate(dev->of_node, NULL, NULL, dev);
+ if (ret)
+ goto err_runtime_disable;
+
+ /* Attempt to register child devices */
+ ret = device_for_each_child(dev, core, store_firmware_dev);
+
+ ret = venus_boot(core);
if (ret)
goto err_runtime_disable;