xref: /openbmc/qemu/include/hw/misc/iotkit-sysinfo.h (revision a68694cd)
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 #include "qom/object.h"
27 
28 #define TYPE_IOTKIT_SYSINFO "iotkit-sysinfo"
29 typedef struct IoTKitSysInfo IoTKitSysInfo;
30 DECLARE_INSTANCE_CHECKER(IoTKitSysInfo, IOTKIT_SYSINFO,
31                          TYPE_IOTKIT_SYSINFO)
32 
33 struct IoTKitSysInfo {
34     /*< private >*/
35     SysBusDevice parent_obj;
36 
37     /*< public >*/
38     MemoryRegion iomem;
39 
40     /* Properties */
41     uint32_t sys_version;
42     uint32_t sys_config;
43 };
44 
45 #endif
46