xref: /openbmc/qemu/include/hw/misc/bcm2835_rng.h (revision 54a5ba13)
1*54a5ba13SMarcin Chojnacki /*
2*54a5ba13SMarcin Chojnacki  * BCM2835 Random Number Generator emulation
3*54a5ba13SMarcin Chojnacki  *
4*54a5ba13SMarcin Chojnacki  * Copyright (C) 2017 Marcin Chojnacki <marcinch7@gmail.com>
5*54a5ba13SMarcin Chojnacki  *
6*54a5ba13SMarcin Chojnacki  * This work is licensed under the terms of the GNU GPL, version 2 or later.
7*54a5ba13SMarcin Chojnacki  * See the COPYING file in the top-level directory.
8*54a5ba13SMarcin Chojnacki  */
9*54a5ba13SMarcin Chojnacki 
10*54a5ba13SMarcin Chojnacki #ifndef BCM2835_RNG_H
11*54a5ba13SMarcin Chojnacki #define BCM2835_RNG_H
12*54a5ba13SMarcin Chojnacki 
13*54a5ba13SMarcin Chojnacki #include "hw/sysbus.h"
14*54a5ba13SMarcin Chojnacki 
15*54a5ba13SMarcin Chojnacki #define TYPE_BCM2835_RNG "bcm2835-rng"
16*54a5ba13SMarcin Chojnacki #define BCM2835_RNG(obj) \
17*54a5ba13SMarcin Chojnacki         OBJECT_CHECK(BCM2835RngState, (obj), TYPE_BCM2835_RNG)
18*54a5ba13SMarcin Chojnacki 
19*54a5ba13SMarcin Chojnacki typedef struct {
20*54a5ba13SMarcin Chojnacki     SysBusDevice busdev;
21*54a5ba13SMarcin Chojnacki     MemoryRegion iomem;
22*54a5ba13SMarcin Chojnacki 
23*54a5ba13SMarcin Chojnacki     uint32_t rng_ctrl;
24*54a5ba13SMarcin Chojnacki     uint32_t rng_status;
25*54a5ba13SMarcin Chojnacki } BCM2835RngState;
26*54a5ba13SMarcin Chojnacki 
27*54a5ba13SMarcin Chojnacki #endif
28