add Freescale K53 RNGB support
This commit is contained in:
parent
e564b614bf
commit
abff02532d
9
README
9
README
@ -35,7 +35,14 @@ before calling SSL_new(); Though it's not recommended.
|
||||
*** end Notes ***
|
||||
|
||||
|
||||
CyaSSL Release 2.8.0 (8/30/2013)
|
||||
CyaSSL Release 2.9.0 (X/XX/XXXX)
|
||||
|
||||
The Freescale Kinetis K53 RNGB documentation can be found in Chapter 33 of the
|
||||
K53 Sub-Family Reference Manual:
|
||||
http://cache.freescale.com/files/32bit/doc/ref_manual/K53P144M100SF2RM.pdf
|
||||
|
||||
|
||||
*****************CyaSSL Release 2.8.0 (8/30/2013)
|
||||
|
||||
Release 2.8.0 CyaSSL has bug fixes and new features including:
|
||||
- AES-GCM and AES-CCM use AES-NI
|
||||
|
@ -525,6 +525,45 @@ int GenerateSeed(OS_Seed* os, byte* output, word32 sz)
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#elif defined(FREESCALE_K53_RNGB)
|
||||
/*
|
||||
* Generates a RNG seed using the Random Number Generator (RNGB)
|
||||
* on the Kinetis K53. Documentation located in Chapter 33 of
|
||||
* K53 Sub-Family Reference Manual (see note in the README for link).
|
||||
*/
|
||||
int GenerateSeed(OS_Seed* os, byte* output, word32 sz)
|
||||
{
|
||||
int i;
|
||||
|
||||
/* turn on RNGB module */
|
||||
SIM_SCGC3 |= SIM_SCGC3_RNGB_MASK;
|
||||
|
||||
/* reset RNGB */
|
||||
RNG_CMD |= RNG_CMD_SR_MASK;
|
||||
|
||||
/* FIFO generate interrupt, return all zeros on underflow,
|
||||
* set auto reseed */
|
||||
RNG_CR |= (RNG_CR_FUFMOD_MASK | RNG_CR_AR_MASK);
|
||||
|
||||
/* gen seed, clear interrupts, clear errors */
|
||||
RNG_CMD |= (RNG_CMD_GS_MASK | RNG_CMD_CI_MASK | RNG_CMD_CE_MASK);
|
||||
|
||||
/* wait for seeding to complete */
|
||||
while ((RNG_SR & RNG_SR_SDN_MASK) == 0) {}
|
||||
|
||||
for (i = 0; i < sz; i++) {
|
||||
|
||||
/* wait for a word to be available from FIFO */
|
||||
while((RNG_SR & RNG_SR_FIFO_LVL_MASK) == 0) {}
|
||||
|
||||
/* get value */
|
||||
output[i] = RNG_OUT;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#else
|
||||
#warning "write a real random seed!!!!, just for testing now"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user