- interrupts : the interrupt number for the RNG module.
                Used for "ti,omap4-rng" and "inside-secure,safexcel-eip76"
 - clocks: the trng clock source. Only mandatory for the
-  "inside-secure,safexcel-eip76" compatible.
+  "inside-secure,safexcel-eip76" compatible, the second clock is
+  needed for the Armada 7K/8K SoCs
+- clock-names: mandatory if there is a second clock, in this case the
+  name must be "core" for the first clock and "reg" for the second
+  one
+
 
 Example:
 /* AM335x */
 
        const struct omap_rng_pdata     *pdata;
        struct hwrng rng;
        struct clk                      *clk;
+       struct clk                      *clk_reg;
 };
 
 static inline u32 omap_rng_read(struct omap_rng_dev *priv, u16 reg)
                }
        }
 
+       priv->clk_reg = devm_clk_get(&pdev->dev, "reg");
+       if (IS_ERR(priv->clk_reg) && PTR_ERR(priv->clk_reg) == -EPROBE_DEFER)
+               return -EPROBE_DEFER;
+       if (!IS_ERR(priv->clk_reg)) {
+               ret = clk_prepare_enable(priv->clk_reg);
+               if (ret) {
+                       dev_err(&pdev->dev,
+                               "Unable to enable the register clk: %d\n",
+                               ret);
+                       goto err_register;
+               }
+       }
+
        ret = (dev->of_node) ? of_get_omap_rng_device_details(priv, pdev) :
                                get_omap_rng_device_details(priv);
        if (ret)
        pm_runtime_put_sync(&pdev->dev);
        pm_runtime_disable(&pdev->dev);
 
+       clk_disable_unprepare(priv->clk_reg);
        clk_disable_unprepare(priv->clk);
 err_ioremap:
        dev_err(dev, "initialization failed.\n");
        pm_runtime_disable(&pdev->dev);
 
        clk_disable_unprepare(priv->clk);
+       clk_disable_unprepare(priv->clk_reg);
 
        return 0;
 }