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 15c667a25bSPeter Maydell * http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ecm0601256/index.html 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" 26*db1015e9SEduardo Habkost #include "qom/object.h" 27c667a25bSPeter Maydell 28c667a25bSPeter Maydell #define TYPE_IOTKIT_SYSINFO "iotkit-sysinfo" 29*db1015e9SEduardo Habkost typedef struct IoTKitSysInfo IoTKitSysInfo; 30c667a25bSPeter Maydell #define IOTKIT_SYSINFO(obj) OBJECT_CHECK(IoTKitSysInfo, (obj), \ 31c667a25bSPeter Maydell TYPE_IOTKIT_SYSINFO) 32c667a25bSPeter Maydell 33*db1015e9SEduardo Habkost struct IoTKitSysInfo { 34c667a25bSPeter Maydell /*< private >*/ 35c667a25bSPeter Maydell SysBusDevice parent_obj; 36c667a25bSPeter Maydell 37c667a25bSPeter Maydell /*< public >*/ 38c667a25bSPeter Maydell MemoryRegion iomem; 39dde0c491SPeter Maydell 40dde0c491SPeter Maydell /* Properties */ 41dde0c491SPeter Maydell uint32_t sys_version; 42dde0c491SPeter Maydell uint32_t sys_config; 43*db1015e9SEduardo Habkost }; 44c667a25bSPeter Maydell 45c667a25bSPeter Maydell #endif 46