Lines Matching full:rng
74 static vaddr_t rng; variable
79 while (!(io_read32(rng + RNG_STATUS) & RNG_READY)) { in dra7_rng_read64()
81 if (io_read32(rng + RNG_STATUS) & SHUTDOWN_OFLO) { in dra7_rng_read64()
82 uint32_t alarm = io_read32(rng + RNG_ALARMSTOP); in dra7_rng_read64()
83 uint32_t tune = io_read32(rng + RNG_FRODETUNE); in dra7_rng_read64()
86 io_write32(rng + RNG_ALARMMASK, 0x0); in dra7_rng_read64()
87 io_write32(rng + RNG_ALARMSTOP, 0x0); in dra7_rng_read64()
89 io_write32(rng + RNG_FRODETUNE, tune ^ alarm); in dra7_rng_read64()
91 io_write32(rng + RNG_FROENABLE, RNG_FRO_MASK); in dra7_rng_read64()
93 io_write32(rng + RNG_INTACK, SHUTDOWN_OFLO); in dra7_rng_read64()
99 *low_word = io_read32(rng + RNG_OUTPUT_L); in dra7_rng_read64()
100 *high_word = io_read32(rng + RNG_OUTPUT_H); in dra7_rng_read64()
102 io_write32(rng + RNG_INTACK, RNG_READY); in dra7_rng_read64()
115 assert(rng); in hw_get_random_bytes()
137 rng = (vaddr_t)phys_to_virt(RNG_BASE, MEM_AREA_IO_SEC, RNG_REG_SIZE); in dra7_rng_init()
140 io_write32(rng + RNG_SOFT_RESET_REG, RNG_SOFT_RESET); in dra7_rng_init()
143 while (io_read32(rng + RNG_SOFT_RESET_REG) & RNG_SOFT_RESET) in dra7_rng_init()
147 io_write32(rng + RNG_SYS_CONFIG_REG, RNG_AUTOIDLE); in dra7_rng_init()
160 io_write32(rng + RNG_CONFIG, val); in dra7_rng_init()
163 io_write32(rng + RNG_FRODETUNE, 0x0); in dra7_rng_init()
166 io_write32(rng + RNG_FROENABLE, 0xffffff); in dra7_rng_init()
180 io_write32(rng + RNG_ALARMCNT, val); in dra7_rng_init()
182 /* Enable the RNG module */ in dra7_rng_init()
185 io_write32(rng + RNG_CONTROL, val); in dra7_rng_init()