xref: /openbmc/qemu/include/hw/ppc/pnv_adu.h (revision 24bd283b)
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