xref: /openbmc/qemu/include/hw/misc/iotkit-sysinfo.h (revision 709395f8)
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  * http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ecm0601256/index.html
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 
27 #define TYPE_IOTKIT_SYSINFO "iotkit-sysinfo"
28 #define IOTKIT_SYSINFO(obj) OBJECT_CHECK(IoTKitSysInfo, (obj), \
29                                         TYPE_IOTKIT_SYSINFO)
30 
31 typedef 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 } IoTKitSysInfo;
42 
43 #endif
44