xref: /openbmc/qemu/include/hw/misc/allwinner-sid.h (revision 4dad0a9aa818698e0735c8352bf7925a1660df6f)
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