summaryrefslogtreecommitdiffstats
path: root/drivers/crypto
diff options
context:
space:
mode:
authorAlex Porosanu <alexandru.porosanu@freescale.com>2015-05-05 16:48:33 +0300
committerYork Sun <yorksun@freescale.com>2015-08-03 12:06:37 -0700
commit026a3f1b7ca487bbce632060b8ca9193bb9edf87 (patch)
tree3eff7e0b6200dd497776017fdd1f726898d73047 /drivers/crypto
parent6a17365b658b1e5b1d33da0e77722d8a3d7da8d6 (diff)
downloadblackbird-obmc-uboot-026a3f1b7ca487bbce632060b8ca9193bb9edf87.tar.gz
blackbird-obmc-uboot-026a3f1b7ca487bbce632060b8ca9193bb9edf87.zip
drivers/crypto/fsl: disable RNG oscillator maximum frequency check
The rtfrqmax & rtfrqmin set the bounds of the expected frequency of the oscillator, when SEC runs at its maximum frequency. For certain platforms (f.i. T2080), the oscillator is very fast and thus if the SEC runs at a lower than normal frequency, the ring oscillator is incorrectly detected as being out of bounds. This patch effectively disables the maximum frequency check, by setting a high enough maximum allowable frequency for the oscillator. The reasoning behind this is that usually a broken oscillator will run too slow (i.e. not run at all) rather than run too fast. Signed-off-by: Alex Porosanu <alexandru.porosanu@freescale.com> Acked-by: Ruchika Gupta<ruchika.gupta@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>
Diffstat (limited to 'drivers/crypto')
-rw-r--r--drivers/crypto/fsl/jr.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/crypto/fsl/jr.c b/drivers/crypto/fsl/jr.c
index f99d59480c..aa527ec954 100644
--- a/drivers/crypto/fsl/jr.c
+++ b/drivers/crypto/fsl/jr.c
@@ -406,8 +406,8 @@ static void kick_trng(int ent_delay)
sec_out32(&rng->rtsdctl, val);
/* min. freq. count, equal to 1/4 of the entropy sample length */
sec_out32(&rng->rtfreqmin, ent_delay >> 2);
- /* max. freq. count, equal to 8 times the entropy sample length */
- sec_out32(&rng->rtfreqmax, ent_delay << 3);
+ /* disable maximum frequency count */
+ sec_out32(&rng->rtfreqmax, RTFRQMAX_DISABLE);
/* put RNG4 into run mode */
sec_clrbits32(&rng->rtmctl, RTMCTL_PRGM);
}
OpenPOWER on IntegriCloud