hw/ppc: Add pnv nest pervasive common chiplet model
[qemu/ar7.git] / include / hw / ppc / pnv_nest_pervasive.h
blob73cacf382381af4be465eaa90ae9c3bcce888353
1 /*
2 * QEMU PowerPC nest pervasive common chiplet model
4 * Copyright (c) 2023, IBM Corporation.
6 * SPDX-License-Identifier: GPL-2.0-or-later
7 */
9 #ifndef PPC_PNV_NEST_CHIPLET_PERVASIVE_H
10 #define PPC_PNV_NEST_CHIPLET_PERVASIVE_H
12 #define TYPE_PNV_NEST_CHIPLET_PERVASIVE "pnv-nest-chiplet-pervasive"
13 #define PNV_NEST_CHIPLET_PERVASIVE(obj) OBJECT_CHECK(PnvNestChipletPervasive, (obj), TYPE_PNV_NEST_CHIPLET_PERVASIVE)
15 typedef struct PnvPervasiveCtrlRegs {
16 #define PNV_CPLT_CTRL_SIZE 6
17 uint64_t cplt_ctrl[PNV_CPLT_CTRL_SIZE];
18 uint64_t cplt_cfg0;
19 uint64_t cplt_cfg1;
20 uint64_t cplt_stat0;
21 uint64_t cplt_mask0;
22 uint64_t ctrl_protect_mode;
23 uint64_t ctrl_atomic_lock;
24 } PnvPervasiveCtrlRegs;
26 typedef struct PnvNestChipletPervasive {
27 DeviceState parent;
28 MemoryRegion xscom_ctrl_regs_mr;
29 PnvPervasiveCtrlRegs control_regs;
30 } PnvNestChipletPervasive;
32 #endif /*PPC_PNV_NEST_CHIPLET_PERVASIVE_H */