Merge pull request #11985 from fjmolinas/pr_k64f_hwrng
cpu/kinetis: enable HWRNG for k64f
This commit is contained in:
commit
e806d4bcbd
@ -3,8 +3,6 @@ FEATURES_PROVIDED += periph_cpuid
|
||||
# HACK Do not define 'hwrng' if the board does not supports it
|
||||
# A whitelist on CPU_MODEL would be better but this information/variable is not
|
||||
# available yet.
|
||||
# HWRNG uses the wrong hwrng register for the frdm-k64f board/cpu_model
|
||||
_KINETIS_BOARDS_WITHOUT_HWRNG += frdm-k64f
|
||||
# TRNG driver is not implemented for 'CPU_MODEL == mkw41z512vht4'
|
||||
_KINETIS_BOARDS_WITHOUT_HWRNG += frdm-kw41z phynode-kw41z usb-kw41z
|
||||
# No HWRNG in MK20D7 devices
|
||||
|
||||
@ -154,15 +154,19 @@ extern "C"
|
||||
* @name Hardware random number generator module configuration
|
||||
* @{
|
||||
*/
|
||||
#if !defined(HWRNG_CLKEN) && defined(RNG) && !defined(RNG_CMD_ST_MASK)
|
||||
#define KINETIS_RNGA RNG
|
||||
#if !defined(HWRNG_CLK_REG) && !defined(HWRNG_CLK_REG_SHIFT)
|
||||
#if defined(SIM_SCGC3_RNGA_SHIFT)
|
||||
#define HWRNG_CLKEN() (bit_set32(&SIM->SCGC3, SIM_SCGC3_RNGA_SHIFT))
|
||||
#define HWRNG_CLKDIS() (bit_clear32(&SIM->SCGC3, SIM_SCGC3_RNGA_SHIFT))
|
||||
#define HWRNG_CLK_REG SIM->SCGC3
|
||||
#define HWRNG_CLK_REG_SHIFT SIM_SCGC3_RNGA_SHIFT
|
||||
#elif defined(SIM_SCGC6_RNGA_SHIFT)
|
||||
#define HWRNG_CLKEN() (bit_set32(&SIM->SCGC6, SIM_SCGC6_RNGA_SHIFT))
|
||||
#define HWRNG_CLKDIS() (bit_clear32(&SIM->SCGC6, SIM_SCGC6_RNGA_SHIFT))
|
||||
#define HWRNG_CLK_REG SIM->SCGC6
|
||||
#define HWRNG_CLK_REG_SHIFT SIM_SCGC6_RNGA_SHIFT
|
||||
#endif
|
||||
#endif
|
||||
#if defined(RNG)
|
||||
#define KINETIS_RNGA RNG
|
||||
#define HWRNG_CLKEN() (bit_set32(&HWRNG_CLK_REG, HWRNG_CLK_REG_SHIFT))
|
||||
#define HWRNG_CLKDIS() (bit_clear32(&HWRNG_CLK_REG, HWRNG_CLK_REG_SHIFT))
|
||||
#endif /* KINETIS_RNGA */
|
||||
/** @} */
|
||||
|
||||
|
||||
@ -119,6 +119,19 @@
|
||||
defined(CPU_MODEL_MK64FX512VLQ12) || \
|
||||
defined(CPU_MODEL_MK64FX512VMD12)
|
||||
#include "vendor/MK64F12.h"
|
||||
|
||||
/**
|
||||
* @name Hardware random number generator module configuration
|
||||
*
|
||||
* For K64F SCG3 or SCG6 can be used depending on if the the
|
||||
* peripheral is accessed through AIPS-lite0 or AIPS-lite1.
|
||||
* For K64F RNGA is only mapped to SCG6.
|
||||
* @{
|
||||
*/
|
||||
#define HWRNG_CLK_REG (SIM->SCGC6)
|
||||
#define HWRNG_CLK_REG_SHIFT (SIM_SCGC6_RNGA_SHIFT)
|
||||
/** @} */
|
||||
|
||||
#endif
|
||||
#endif /* (KINETIS_SUBFAMILY == y) */
|
||||
#endif /* (KINETIS_FAMILY == x) */
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user