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