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
|
# 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
|
# A whitelist on CPU_MODEL would be better but this information/variable is not
|
||||||
# available yet.
|
# 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'
|
# TRNG driver is not implemented for 'CPU_MODEL == mkw41z512vht4'
|
||||||
_KINETIS_BOARDS_WITHOUT_HWRNG += frdm-kw41z phynode-kw41z usb-kw41z
|
_KINETIS_BOARDS_WITHOUT_HWRNG += frdm-kw41z phynode-kw41z usb-kw41z
|
||||||
# No HWRNG in MK20D7 devices
|
# No HWRNG in MK20D7 devices
|
||||||
|
|||||||
@ -154,15 +154,19 @@ extern "C"
|
|||||||
* @name Hardware random number generator module configuration
|
* @name Hardware random number generator module configuration
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
#if !defined(HWRNG_CLKEN) && defined(RNG) && !defined(RNG_CMD_ST_MASK)
|
#if !defined(HWRNG_CLK_REG) && !defined(HWRNG_CLK_REG_SHIFT)
|
||||||
#define KINETIS_RNGA RNG
|
|
||||||
#if defined(SIM_SCGC3_RNGA_SHIFT)
|
#if defined(SIM_SCGC3_RNGA_SHIFT)
|
||||||
#define HWRNG_CLKEN() (bit_set32(&SIM->SCGC3, SIM_SCGC3_RNGA_SHIFT))
|
#define HWRNG_CLK_REG SIM->SCGC3
|
||||||
#define HWRNG_CLKDIS() (bit_clear32(&SIM->SCGC3, SIM_SCGC3_RNGA_SHIFT))
|
#define HWRNG_CLK_REG_SHIFT SIM_SCGC3_RNGA_SHIFT
|
||||||
#elif defined(SIM_SCGC6_RNGA_SHIFT)
|
#elif defined(SIM_SCGC6_RNGA_SHIFT)
|
||||||
#define HWRNG_CLKEN() (bit_set32(&SIM->SCGC6, SIM_SCGC6_RNGA_SHIFT))
|
#define HWRNG_CLK_REG SIM->SCGC6
|
||||||
#define HWRNG_CLKDIS() (bit_clear32(&SIM->SCGC6, SIM_SCGC6_RNGA_SHIFT))
|
#define HWRNG_CLK_REG_SHIFT SIM_SCGC6_RNGA_SHIFT
|
||||||
#endif
|
#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 */
|
#endif /* KINETIS_RNGA */
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
|
|||||||
@ -119,6 +119,19 @@
|
|||||||
defined(CPU_MODEL_MK64FX512VLQ12) || \
|
defined(CPU_MODEL_MK64FX512VLQ12) || \
|
||||||
defined(CPU_MODEL_MK64FX512VMD12)
|
defined(CPU_MODEL_MK64FX512VMD12)
|
||||||
#include "vendor/MK64F12.h"
|
#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
|
||||||
#endif /* (KINETIS_SUBFAMILY == y) */
|
#endif /* (KINETIS_SUBFAMILY == y) */
|
||||||
#endif /* (KINETIS_FAMILY == x) */
|
#endif /* (KINETIS_FAMILY == x) */
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user