xref: /openbmc/qemu/include/hw/misc/iotkit-sysinfo.h (revision 6016b7b4)
1 /*
2  * ARM IoTKit system information block
3  *
4  * Copyright (c) 2018 Linaro Limited
5  * Written by Peter Maydell
6  *
7  *  This program is free software; you can redistribute it and/or modify
8  *  it under the terms of the GNU General Public License version 2 or
9  *  (at your option) any later version.
10  */
11 
12 /*
13  * This is a model of the "system information block" which is part of the
14  * Arm IoTKit and documented in
15  * https://developer.arm.com/documentation/ecm0601256/latest
16  * QEMU interface:
17  *  + QOM property "SYS_VERSION": value to use for SYS_VERSION register
18  *  + QOM property "SYS_CONFIG": value to use for SYS_CONFIG register
19  *  + sysbus MMIO region 0: the system information register bank
20  */
21 
22 #ifndef HW_MISC_IOTKIT_SYSINFO_H
23 #define HW_MISC_IOTKIT_SYSINFO_H
24 
25 #include "hw/sysbus.h"
26 #include "qom/object.h"
27 
28 #define TYPE_IOTKIT_SYSINFO "iotkit-sysinfo"
29 OBJECT_DECLARE_SIMPLE_TYPE(IoTKitSysInfo, IOTKIT_SYSINFO)
30 
31 struct IoTKitSysInfo {
32     /*< private >*/
33     SysBusDevice parent_obj;
34 
35     /*< public >*/
36     MemoryRegion iomem;
37 
38     /* Properties */
39     uint32_t sys_version;
40     uint32_t sys_config;
41     uint32_t sse_version;
42     uint32_t iidr;
43 };
44 
45 #endif
46