blob: 88124e36e2ea3cb68a0d435061aa7d9fff0a3784 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
TsiChung Liew7f1a0462008-10-21 10:03:07 +00002/*
3 * RNG Memory Map
4 *
5 * Copyright (C) 2004-2008 Freescale Semiconductor, Inc.
6 * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
TsiChung Liew7f1a0462008-10-21 10:03:07 +00007 */
8
9#ifndef __RNG_H__
10#define __RNG_H__
11
12/* Random Number Generator */
13typedef struct rng_ctrl {
14 u32 cr; /* 0x00 Control */
15 u32 sr; /* 0x04 Status */
16 u32 er; /* 0x08 Entropy */
17 u32 out; /* 0x0C Output FIFO */
18} rng_t;
19
20#define RNG_CR_SLM (0x00000010) /* Sleep mode - 5445x */
21#define RNG_CR_CI (0x00000008) /* Clear interrupt */
22#define RNG_CR_IM (0x00000004) /* Interrupt mask */
23#define RNG_CR_HA (0x00000002) /* High assurance */
24#define RNG_CR_GO (0x00000001) /* Go bit */
25
26#define RNG_SR_OFS(x) (((x) & 0x000000FF) << 16)
27#define RNG_SR_OFS_MASK (0xFF00FFFF)
28#define RNG_SR_OFL(x) (((x) & 0x000000FF) << 8)
29#define RNG_SR_OFL_MASK (0xFFFF00FF)
30#define RNG_SR_EI (0x00000008)
31#define RNG_SR_FUF (0x00000004)
32#define RNG_SR_LRS (0x00000002)
33#define RNG_SR_SV (0x00000001)
34
35#endif /* __RNG_H__ */