drivers/crypto/fsl: enable raw data instead of von Neumann data
[oweals/u-boot.git] / drivers / crypto / fsl / jr.c
index aa527ec954dc27cdf4e33126d9d9c9edd804cfb0..35606688af89a44d576b7d6a298b814494592e3d 100644 (file)
@@ -408,8 +408,17 @@ static void kick_trng(int ent_delay)
        sec_out32(&rng->rtfreqmin, ent_delay >> 2);
        /* disable maximum frequency count */
        sec_out32(&rng->rtfreqmax, RTFRQMAX_DISABLE);
+       /* read the control register */
+       val = sec_in32(&rng->rtmctl);
+       /*
+        * select raw sampling in both entropy shifter
+        * and statistical checker
+        */
+       sec_setbits32(&val, RTMCTL_SAMP_MODE_RAW_ES_SC);
        /* put RNG4 into run mode */
-       sec_clrbits32(&rng->rtmctl, RTMCTL_PRGM);
+       sec_clrbits32(&val, RTMCTL_PRGM);
+       /* write back the control register */
+       sec_out32(&rng->rtmctl, val);
 }
 
 static int rng_init(void)