xref: /openbmc/qemu/include/hw/misc/bcm2835_rng.h (revision c122bca9)
154a5ba13SMarcin Chojnacki /*
254a5ba13SMarcin Chojnacki  * BCM2835 Random Number Generator emulation
354a5ba13SMarcin Chojnacki  *
454a5ba13SMarcin Chojnacki  * Copyright (C) 2017 Marcin Chojnacki <marcinch7@gmail.com>
554a5ba13SMarcin Chojnacki  *
654a5ba13SMarcin Chojnacki  * This work is licensed under the terms of the GNU GPL, version 2 or later.
754a5ba13SMarcin Chojnacki  * See the COPYING file in the top-level directory.
854a5ba13SMarcin Chojnacki  */
954a5ba13SMarcin Chojnacki 
1054a5ba13SMarcin Chojnacki #ifndef BCM2835_RNG_H
1154a5ba13SMarcin Chojnacki #define BCM2835_RNG_H
1254a5ba13SMarcin Chojnacki 
1354a5ba13SMarcin Chojnacki #include "hw/sysbus.h"
14db1015e9SEduardo Habkost #include "qom/object.h"
1554a5ba13SMarcin Chojnacki 
1654a5ba13SMarcin Chojnacki #define TYPE_BCM2835_RNG "bcm2835-rng"
17*8063396bSEduardo Habkost OBJECT_DECLARE_SIMPLE_TYPE(BCM2835RngState, BCM2835_RNG)
1854a5ba13SMarcin Chojnacki 
19db1015e9SEduardo Habkost struct BCM2835RngState {
2054a5ba13SMarcin Chojnacki     SysBusDevice busdev;
2154a5ba13SMarcin Chojnacki     MemoryRegion iomem;
2254a5ba13SMarcin Chojnacki 
2354a5ba13SMarcin Chojnacki     uint32_t rng_ctrl;
2454a5ba13SMarcin Chojnacki     uint32_t rng_status;
25db1015e9SEduardo Habkost };
2654a5ba13SMarcin Chojnacki 
2754a5ba13SMarcin Chojnacki #endif
28