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