RNG_CR
u32 cr = readl_relaxed(priv->base + RNG_CR);
writel_relaxed(cr | RNG_CR_CONDRST, priv->base + RNG_CR);
writel_relaxed(cr & ~RNG_CR_CONDRST, priv->base + RNG_CR);
err = readl_relaxed_poll_timeout_atomic(priv->base + RNG_CR, cr, !(cr & RNG_CR_CONDRST), 10,
reg = readl_relaxed(priv->base + RNG_CR);
writel_relaxed(reg, priv->base + RNG_CR);
writel_relaxed(reg, priv->base + RNG_CR);
err = readl_relaxed_poll_timeout_atomic(priv->base + RNG_CR, reg,
writel_relaxed(reg, priv->base + RNG_CR);
writel_relaxed(reg, priv->base + RNG_CR);
reg = readl_relaxed(priv->base + RNG_CR);
writel_relaxed(reg, priv->base + RNG_CR);
priv->pm_conf.cr = readl_relaxed(priv->base + RNG_CR) & ~RNG_CR_RNGEN;
writel_relaxed(priv->pm_conf.cr, priv->base + RNG_CR);
reg = readl_relaxed(priv->base + RNG_CR);
writel_relaxed(reg, priv->base + RNG_CR);
writel_relaxed(priv->pm_conf.cr | RNG_CR_CONDRST, priv->base + RNG_CR);
reg = readl_relaxed(priv->base + RNG_CR);
writel_relaxed(reg, priv->base + RNG_CR);
err = readl_relaxed_poll_timeout_atomic(priv->base + RNG_CR, reg,
writel_relaxed(reg, priv->base + RNG_CR);