xref: /openbmc/qemu/include/hw/misc/imx_rngc.h (revision 4dad0a9aa818698e0735c8352bf7925a1660df6f)
1  /*
2   * Freescale i.MX RNGC emulation
3   *
4   * Copyright (C) 2020 Martin Kaiser <martin@kaiser.cx>
5   *
6   * This work is licensed under the terms of the GNU GPL, version 2 or later.
7   * See the COPYING file in the top-level directory.
8   */
9  
10  #ifndef IMX_RNGC_H
11  #define IMX_RNGC_H
12  
13  #include "hw/sysbus.h"
14  #include "qom/object.h"
15  
16  #define TYPE_IMX_RNGC "imx.rngc"
17  OBJECT_DECLARE_SIMPLE_TYPE(IMXRNGCState, IMX_RNGC)
18  
19  struct IMXRNGCState {
20      /*< private >*/
21      SysBusDevice parent_obj;
22  
23      /*< public >*/
24      MemoryRegion  iomem;
25  
26      uint8_t op_self_test;
27      uint8_t op_seed;
28      uint8_t mask;
29      bool    auto_seed;
30  
31      QEMUBH *self_test_bh;
32      QEMUBH *seed_bh;
33      qemu_irq irq;
34  };
35  
36  #endif /* IMX_RNGC_H */
37