sifive: Move QOM typedefs and add missing includes
[qemu.git] / include / hw / misc / iotkit-sysinfo.h
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