xref: /qemu/include/hw/misc/npcm7xx_rng.h (revision 886fb67020e32ce6a2cf7049c6f017acf1f0d69a)
1326ccfe2SHavard Skinnemoen /*
2326ccfe2SHavard Skinnemoen  * Nuvoton NPCM7xx Random Number Generator.
3326ccfe2SHavard Skinnemoen  *
4326ccfe2SHavard Skinnemoen  * Copyright 2020 Google LLC
5326ccfe2SHavard Skinnemoen  *
6326ccfe2SHavard Skinnemoen  * This program is free software; you can redistribute it and/or modify it
7326ccfe2SHavard Skinnemoen  * under the terms of the GNU General Public License as published by the
8326ccfe2SHavard Skinnemoen  * Free Software Foundation; either version 2 of the License, or
9326ccfe2SHavard Skinnemoen  * (at your option) any later version.
10326ccfe2SHavard Skinnemoen  *
11326ccfe2SHavard Skinnemoen  * This program is distributed in the hope that it will be useful, but WITHOUT
12326ccfe2SHavard Skinnemoen  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13326ccfe2SHavard Skinnemoen  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14326ccfe2SHavard Skinnemoen  * for more details.
15326ccfe2SHavard Skinnemoen  */
16326ccfe2SHavard Skinnemoen #ifndef NPCM7XX_RNG_H
17326ccfe2SHavard Skinnemoen #define NPCM7XX_RNG_H
18326ccfe2SHavard Skinnemoen 
19326ccfe2SHavard Skinnemoen #include "hw/sysbus.h"
20326ccfe2SHavard Skinnemoen 
21*c79aa350SPhilippe Mathieu-Daudé struct NPCM7xxRNGState {
22326ccfe2SHavard Skinnemoen     SysBusDevice parent;
23326ccfe2SHavard Skinnemoen 
24326ccfe2SHavard Skinnemoen     MemoryRegion iomem;
25326ccfe2SHavard Skinnemoen 
26326ccfe2SHavard Skinnemoen     uint8_t rngcs;
27326ccfe2SHavard Skinnemoen     uint8_t rngd;
28326ccfe2SHavard Skinnemoen     uint8_t rngmode;
29*c79aa350SPhilippe Mathieu-Daudé };
30326ccfe2SHavard Skinnemoen 
31326ccfe2SHavard Skinnemoen #define TYPE_NPCM7XX_RNG "npcm7xx-rng"
32*c79aa350SPhilippe Mathieu-Daudé OBJECT_DECLARE_SIMPLE_TYPE(NPCM7xxRNGState, NPCM7XX_RNG)
33326ccfe2SHavard Skinnemoen 
34326ccfe2SHavard Skinnemoen #endif /* NPCM7XX_RNG_H */
35