1*c52aaabdSJoe Komlodi /* 2*c52aaabdSJoe Komlodi * DesignWare I3C Controller 3*c52aaabdSJoe Komlodi * 4*c52aaabdSJoe Komlodi * Copyright (C) 2021 ASPEED Technology Inc. 5*c52aaabdSJoe Komlodi * Copyright (C) 2025 Google, LLC. 6*c52aaabdSJoe Komlodi * 7*c52aaabdSJoe Komlodi * SPDX-License-Identifier: GPL-2.0-or-later 8*c52aaabdSJoe Komlodi */ 9*c52aaabdSJoe Komlodi 10*c52aaabdSJoe Komlodi #ifndef DW_I3C_H 11*c52aaabdSJoe Komlodi #define DW_I3C_H 12*c52aaabdSJoe Komlodi 13*c52aaabdSJoe Komlodi #include "hw/sysbus.h" 14*c52aaabdSJoe Komlodi 15*c52aaabdSJoe Komlodi #define TYPE_DW_I3C "dw.i3c" 16*c52aaabdSJoe Komlodi OBJECT_DECLARE_SIMPLE_TYPE(DWI3C, DW_I3C) 17*c52aaabdSJoe Komlodi 18*c52aaabdSJoe Komlodi #define DW_I3C_NR_REGS (0x300 >> 2) 19*c52aaabdSJoe Komlodi 20*c52aaabdSJoe Komlodi typedef struct DWI3C { 21*c52aaabdSJoe Komlodi /* <private> */ 22*c52aaabdSJoe Komlodi SysBusDevice parent; 23*c52aaabdSJoe Komlodi 24*c52aaabdSJoe Komlodi /* <public> */ 25*c52aaabdSJoe Komlodi MemoryRegion mr; 26*c52aaabdSJoe Komlodi qemu_irq irq; 27*c52aaabdSJoe Komlodi 28*c52aaabdSJoe Komlodi uint8_t id; 29*c52aaabdSJoe Komlodi uint32_t regs[DW_I3C_NR_REGS]; 30*c52aaabdSJoe Komlodi } DWI3C; 31*c52aaabdSJoe Komlodi 32*c52aaabdSJoe Komlodi /* Extern for other controllers that use DesignWare I3C. */ 33*c52aaabdSJoe Komlodi extern const VMStateDescription vmstate_dw_i3c; 34*c52aaabdSJoe Komlodi 35*c52aaabdSJoe Komlodi #endif /* DW_I3C_H */ 36