16556617cSNiek Linnenbank /* 26556617cSNiek Linnenbank * Allwinner Security ID emulation 36556617cSNiek Linnenbank * 46556617cSNiek Linnenbank * Copyright (C) 2019 Niek Linnenbank <nieklinnenbank@gmail.com> 56556617cSNiek Linnenbank * 66556617cSNiek Linnenbank * This program is free software: you can redistribute it and/or modify 76556617cSNiek Linnenbank * it under the terms of the GNU General Public License as published by 86556617cSNiek Linnenbank * the Free Software Foundation, either version 2 of the License, or 96556617cSNiek Linnenbank * (at your option) any later version. 106556617cSNiek Linnenbank * 116556617cSNiek Linnenbank * This program is distributed in the hope that it will be useful, 126556617cSNiek Linnenbank * but WITHOUT ANY WARRANTY; without even the implied warranty of 136556617cSNiek Linnenbank * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 146556617cSNiek Linnenbank * GNU General Public License for more details. 156556617cSNiek Linnenbank * 166556617cSNiek Linnenbank * You should have received a copy of the GNU General Public License 176556617cSNiek Linnenbank * along with this program. If not, see <http://www.gnu.org/licenses/>. 186556617cSNiek Linnenbank */ 196556617cSNiek Linnenbank 206556617cSNiek Linnenbank #ifndef HW_MISC_ALLWINNER_SID_H 216556617cSNiek Linnenbank #define HW_MISC_ALLWINNER_SID_H 226556617cSNiek Linnenbank 236556617cSNiek Linnenbank #include "qom/object.h" 246556617cSNiek Linnenbank #include "hw/sysbus.h" 256556617cSNiek Linnenbank #include "qemu/uuid.h" 266556617cSNiek Linnenbank 276556617cSNiek Linnenbank /** 286556617cSNiek Linnenbank * Object model 296556617cSNiek Linnenbank * @{ 306556617cSNiek Linnenbank */ 316556617cSNiek Linnenbank 326556617cSNiek Linnenbank #define TYPE_AW_SID "allwinner-sid" 33*8063396bSEduardo Habkost OBJECT_DECLARE_SIMPLE_TYPE(AwSidState, AW_SID) 346556617cSNiek Linnenbank 356556617cSNiek Linnenbank /** @} */ 366556617cSNiek Linnenbank 376556617cSNiek Linnenbank /** 386556617cSNiek Linnenbank * Allwinner Security ID object instance state 396556617cSNiek Linnenbank */ 40db1015e9SEduardo Habkost struct AwSidState { 416556617cSNiek Linnenbank /*< private >*/ 426556617cSNiek Linnenbank SysBusDevice parent_obj; 436556617cSNiek Linnenbank /*< public >*/ 446556617cSNiek Linnenbank 456556617cSNiek Linnenbank /** Maps I/O registers in physical memory */ 466556617cSNiek Linnenbank MemoryRegion iomem; 476556617cSNiek Linnenbank 486556617cSNiek Linnenbank /** Control register defines how and what to read */ 496556617cSNiek Linnenbank uint32_t control; 506556617cSNiek Linnenbank 516556617cSNiek Linnenbank /** RdKey register contains the data retrieved by the device */ 526556617cSNiek Linnenbank uint32_t rdkey; 536556617cSNiek Linnenbank 546556617cSNiek Linnenbank /** Stores the emulated device identifier */ 556556617cSNiek Linnenbank QemuUUID identifier; 566556617cSNiek Linnenbank 57db1015e9SEduardo Habkost }; 586556617cSNiek Linnenbank 596556617cSNiek Linnenbank #endif /* HW_MISC_ALLWINNER_SID_H */ 60