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