void random_poweron(void) { RANDOM_CLKEN(); if ((KINETIS_RNGB->VER & RNG_VER_TYPE_MASK) != 0b0001) { /* Wrong type of RNG */ /* TODO: Handle */ } /* Software reset, bit is self-clearing */ BITBAND_REG32(KINETIS_RNGB->CMD, RNG_CMD_SR_SHIFT) = 1; /* Set up automatic reseed */ KINETIS_RNGB->CR = RNG_CR_AR_MASK | RNG_CR_MASKERR_MASK | RNG_CR_MASKDONE_MASK; }
void random_poweron(void) { RANDOM_CLKEN(); KINETIS_RNGA->CR = RNG_CR_INTM_MASK | RNG_CR_HA_MASK | RNG_CR_GO_MASK; }