1*f00ff136SSai Pavan Boddu /* 2*f00ff136SSai Pavan Boddu * USB xHCI controller for system-bus interface 3*f00ff136SSai Pavan Boddu * 4*f00ff136SSai Pavan Boddu * SPDX-FileCopyrightText: 2020 Xilinx 5*f00ff136SSai Pavan Boddu * SPDX-FileContributor: Author: Sai Pavan Boddu <sai.pavan.boddu@xilinx.com> 6*f00ff136SSai Pavan Boddu * SPDX-sourceInfo: Based on hcd-echi-sysbus 7*f00ff136SSai Pavan Boddu * 8*f00ff136SSai Pavan Boddu * SPDX-License-Identifier: GPL-2.0-or-later 9*f00ff136SSai Pavan Boddu */ 10*f00ff136SSai Pavan Boddu 11*f00ff136SSai Pavan Boddu #ifndef HW_USB_HCD_XHCI_SYSBUS_H 12*f00ff136SSai Pavan Boddu #define HW_USB_HCD_XHCI_SYSBUS_H 13*f00ff136SSai Pavan Boddu 14*f00ff136SSai Pavan Boddu #include "hw/usb.h" 15*f00ff136SSai Pavan Boddu #include "hcd-xhci.h" 16*f00ff136SSai Pavan Boddu #include "hw/sysbus.h" 17*f00ff136SSai Pavan Boddu 18*f00ff136SSai Pavan Boddu #define TYPE_XHCI_SYSBUS "sysbus-xhci" 19*f00ff136SSai Pavan Boddu #define XHCI_SYSBUS(obj) \ 20*f00ff136SSai Pavan Boddu OBJECT_CHECK(XHCISysbusState, (obj), TYPE_XHCI_SYSBUS) 21*f00ff136SSai Pavan Boddu 22*f00ff136SSai Pavan Boddu 23*f00ff136SSai Pavan Boddu typedef struct XHCISysbusState { 24*f00ff136SSai Pavan Boddu /*< private >*/ 25*f00ff136SSai Pavan Boddu SysBusDevice parent_obj; 26*f00ff136SSai Pavan Boddu /*< public >*/ 27*f00ff136SSai Pavan Boddu XHCIState xhci; 28*f00ff136SSai Pavan Boddu qemu_irq *irq; 29*f00ff136SSai Pavan Boddu } XHCISysbusState; 30*f00ff136SSai Pavan Boddu 31*f00ff136SSai Pavan Boddu void xhci_sysbus_reset(DeviceState *dev); 32*f00ff136SSai Pavan Boddu #endif 33