153f18b3eSNicholas Piggin /* 253f18b3eSNicholas Piggin * QEMU PowerPC PowerNV Emulation of some ADU behaviour 353f18b3eSNicholas Piggin * 453f18b3eSNicholas Piggin * Copyright (c) 2024, IBM Corporation. 553f18b3eSNicholas Piggin * 653f18b3eSNicholas Piggin * SPDX-License-Identifier: GPL-2.0-or-later 753f18b3eSNicholas Piggin */ 853f18b3eSNicholas Piggin 953f18b3eSNicholas Piggin #ifndef PPC_PNV_ADU_H 1053f18b3eSNicholas Piggin #define PPC_PNV_ADU_H 1153f18b3eSNicholas Piggin 1253f18b3eSNicholas Piggin #include "hw/ppc/pnv.h" 13*24bd283bSNicholas Piggin #include "hw/ppc/pnv_lpc.h" 1453f18b3eSNicholas Piggin #include "hw/qdev-core.h" 1553f18b3eSNicholas Piggin 1653f18b3eSNicholas Piggin #define TYPE_PNV_ADU "pnv-adu" 1753f18b3eSNicholas Piggin 1853f18b3eSNicholas Piggin OBJECT_DECLARE_TYPE(PnvADU, PnvADUClass, PNV_ADU) 1953f18b3eSNicholas Piggin 2053f18b3eSNicholas Piggin struct PnvADU { 2153f18b3eSNicholas Piggin DeviceState xd; 2253f18b3eSNicholas Piggin 23*24bd283bSNicholas Piggin /* LPCMC (LPC Master Controller) access engine */ 24*24bd283bSNicholas Piggin PnvLpcController *lpc; 25*24bd283bSNicholas Piggin uint64_t lpc_base_reg; 26*24bd283bSNicholas Piggin uint64_t lpc_cmd_reg; 27*24bd283bSNicholas Piggin uint64_t lpc_data_reg; 28*24bd283bSNicholas Piggin 2953f18b3eSNicholas Piggin MemoryRegion xscom_regs; 3053f18b3eSNicholas Piggin }; 3153f18b3eSNicholas Piggin 3253f18b3eSNicholas Piggin #endif /* PPC_PNV_ADU_H */ 33