1*d26af5deSNiek Linnenbank /* 2*d26af5deSNiek Linnenbank * Allwinner CPU Configuration Module emulation 3*d26af5deSNiek Linnenbank * 4*d26af5deSNiek Linnenbank * Copyright (C) 2019 Niek Linnenbank <nieklinnenbank@gmail.com> 5*d26af5deSNiek Linnenbank * 6*d26af5deSNiek Linnenbank * This program is free software: you can redistribute it and/or modify 7*d26af5deSNiek Linnenbank * it under the terms of the GNU General Public License as published by 8*d26af5deSNiek Linnenbank * the Free Software Foundation, either version 2 of the License, or 9*d26af5deSNiek Linnenbank * (at your option) any later version. 10*d26af5deSNiek Linnenbank * 11*d26af5deSNiek Linnenbank * This program is distributed in the hope that it will be useful, 12*d26af5deSNiek Linnenbank * but WITHOUT ANY WARRANTY; without even the implied warranty of 13*d26af5deSNiek Linnenbank * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14*d26af5deSNiek Linnenbank * GNU General Public License for more details. 15*d26af5deSNiek Linnenbank * 16*d26af5deSNiek Linnenbank * You should have received a copy of the GNU General Public License 17*d26af5deSNiek Linnenbank * along with this program. If not, see <http://www.gnu.org/licenses/>. 18*d26af5deSNiek Linnenbank */ 19*d26af5deSNiek Linnenbank 20*d26af5deSNiek Linnenbank #ifndef HW_MISC_ALLWINNER_CPUCFG_H 21*d26af5deSNiek Linnenbank #define HW_MISC_ALLWINNER_CPUCFG_H 22*d26af5deSNiek Linnenbank 23*d26af5deSNiek Linnenbank #include "qom/object.h" 24*d26af5deSNiek Linnenbank #include "hw/sysbus.h" 25*d26af5deSNiek Linnenbank 26*d26af5deSNiek Linnenbank /** 27*d26af5deSNiek Linnenbank * Object model 28*d26af5deSNiek Linnenbank * @{ 29*d26af5deSNiek Linnenbank */ 30*d26af5deSNiek Linnenbank 31*d26af5deSNiek Linnenbank #define TYPE_AW_CPUCFG "allwinner-cpucfg" 32*d26af5deSNiek Linnenbank #define AW_CPUCFG(obj) \ 33*d26af5deSNiek Linnenbank OBJECT_CHECK(AwCpuCfgState, (obj), TYPE_AW_CPUCFG) 34*d26af5deSNiek Linnenbank 35*d26af5deSNiek Linnenbank /** @} */ 36*d26af5deSNiek Linnenbank 37*d26af5deSNiek Linnenbank /** 38*d26af5deSNiek Linnenbank * Allwinner CPU Configuration Module instance state 39*d26af5deSNiek Linnenbank */ 40*d26af5deSNiek Linnenbank typedef struct AwCpuCfgState { 41*d26af5deSNiek Linnenbank /*< private >*/ 42*d26af5deSNiek Linnenbank SysBusDevice parent_obj; 43*d26af5deSNiek Linnenbank /*< public >*/ 44*d26af5deSNiek Linnenbank 45*d26af5deSNiek Linnenbank MemoryRegion iomem; 46*d26af5deSNiek Linnenbank uint32_t gen_ctrl; 47*d26af5deSNiek Linnenbank uint32_t super_standby; 48*d26af5deSNiek Linnenbank uint32_t entry_addr; 49*d26af5deSNiek Linnenbank 50*d26af5deSNiek Linnenbank } AwCpuCfgState; 51*d26af5deSNiek Linnenbank 52*d26af5deSNiek Linnenbank #endif /* HW_MISC_ALLWINNER_CPUCFG_H */ 53