1 #ifndef IMX_USB_PHY_H 2 #define IMX_USB_PHY_H 3 4 #include "hw/sysbus.h" 5 #include "qemu/bitops.h" 6 7 enum IMXUsbPhyRegisters { 8 USBPHY_PWD, 9 USBPHY_PWD_SET, 10 USBPHY_PWD_CLR, 11 USBPHY_PWD_TOG, 12 USBPHY_TX, 13 USBPHY_TX_SET, 14 USBPHY_TX_CLR, 15 USBPHY_TX_TOG, 16 USBPHY_RX, 17 USBPHY_RX_SET, 18 USBPHY_RX_CLR, 19 USBPHY_RX_TOG, 20 USBPHY_CTRL, 21 USBPHY_CTRL_SET, 22 USBPHY_CTRL_CLR, 23 USBPHY_CTRL_TOG, 24 USBPHY_STATUS, 25 USBPHY_DEBUG = 0x14, 26 USBPHY_DEBUG_SET, 27 USBPHY_DEBUG_CLR, 28 USBPHY_DEBUG_TOG, 29 USBPHY_DEBUG0_STATUS, 30 USBPHY_DEBUG1 = 0x1c, 31 USBPHY_DEBUG1_SET, 32 USBPHY_DEBUG1_CLR, 33 USBPHY_DEBUG1_TOG, 34 USBPHY_VERSION, 35 USBPHY_MAX 36 }; 37 38 #define USBPHY_CTRL_SFTRST BIT(31) 39 40 #define TYPE_IMX_USBPHY "imx.usbphy" 41 #define IMX_USBPHY(obj) OBJECT_CHECK(IMXUSBPHYState, (obj), TYPE_IMX_USBPHY) 42 43 typedef struct IMXUSBPHYState { 44 /* <private> */ 45 SysBusDevice parent_obj; 46 47 /* <public> */ 48 MemoryRegion iomem; 49 50 uint32_t usbphy[USBPHY_MAX]; 51 } IMXUSBPHYState; 52 53 #endif /* IMX_USB_PHY_H */ 54