From: Kshitiz <kshitiz.varsh...@nxp.com>

This commit manually binds dcp_rng device driver and initalizes it inside
arch_misc_init() function.

Signed-off-by: Kshitiz Varshney <kshitiz.varsh...@nxp.com>
Reviewed-by: Ye Li <ye...@nxp.com>
---
 arch/arm/mach-imx/mx6/soc.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/arch/arm/mach-imx/mx6/soc.c b/arch/arm/mach-imx/mx6/soc.c
index 3e538754d9..9bf16119c2 100644
--- a/arch/arm/mach-imx/mx6/soc.c
+++ b/arch/arm/mach-imx/mx6/soc.c
@@ -31,6 +31,8 @@
 #include <hang.h>
 #include <cpu_func.h>
 #include <env.h>
+#include<dm/device-internal.h>
+#include<dm/lists.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -1005,6 +1007,20 @@ int arch_misc_init(void)
                if (ret)
                        printf("Failed to initialize caam_jr: %d\n", ret);
        }
+
+       if (IS_ENABLED(CONFIG_FSL_DCP_RNG)) {
+               struct udevice *dev;
+               int ret;
+
+               ret = device_bind_driver(NULL, "dcp_rng", "dcp_rng", NULL);
+               if (ret)
+                       printf("Couldn't bind dcp rng driver (%d)\n", ret);
+
+               ret = uclass_get_device_by_driver(UCLASS_RNG, 
DM_DRIVER_GET(dcp_rng), &dev);
+               if (ret)
+                       printf("Failed to initialize dcp rng: %d\n", ret);
+       }
+
        setup_serial_number();
        return 0;
 }
-- 
2.25.1

Reply via email to