10701a5efSGuenter Roeck #ifndef IMX_USB_PHY_H 20701a5efSGuenter Roeck #define IMX_USB_PHY_H 30701a5efSGuenter Roeck 40701a5efSGuenter Roeck #include "hw/sysbus.h" 50701a5efSGuenter Roeck #include "qemu/bitops.h" 6db1015e9SEduardo Habkost #include "qom/object.h" 70701a5efSGuenter Roeck 80701a5efSGuenter Roeck enum IMXUsbPhyRegisters { 90701a5efSGuenter Roeck USBPHY_PWD, 100701a5efSGuenter Roeck USBPHY_PWD_SET, 110701a5efSGuenter Roeck USBPHY_PWD_CLR, 120701a5efSGuenter Roeck USBPHY_PWD_TOG, 130701a5efSGuenter Roeck USBPHY_TX, 140701a5efSGuenter Roeck USBPHY_TX_SET, 150701a5efSGuenter Roeck USBPHY_TX_CLR, 160701a5efSGuenter Roeck USBPHY_TX_TOG, 170701a5efSGuenter Roeck USBPHY_RX, 180701a5efSGuenter Roeck USBPHY_RX_SET, 190701a5efSGuenter Roeck USBPHY_RX_CLR, 200701a5efSGuenter Roeck USBPHY_RX_TOG, 210701a5efSGuenter Roeck USBPHY_CTRL, 220701a5efSGuenter Roeck USBPHY_CTRL_SET, 230701a5efSGuenter Roeck USBPHY_CTRL_CLR, 240701a5efSGuenter Roeck USBPHY_CTRL_TOG, 250701a5efSGuenter Roeck USBPHY_STATUS, 260701a5efSGuenter Roeck USBPHY_DEBUG = 0x14, 270701a5efSGuenter Roeck USBPHY_DEBUG_SET, 280701a5efSGuenter Roeck USBPHY_DEBUG_CLR, 290701a5efSGuenter Roeck USBPHY_DEBUG_TOG, 300701a5efSGuenter Roeck USBPHY_DEBUG0_STATUS, 310701a5efSGuenter Roeck USBPHY_DEBUG1 = 0x1c, 320701a5efSGuenter Roeck USBPHY_DEBUG1_SET, 330701a5efSGuenter Roeck USBPHY_DEBUG1_CLR, 340701a5efSGuenter Roeck USBPHY_DEBUG1_TOG, 350701a5efSGuenter Roeck USBPHY_VERSION, 360701a5efSGuenter Roeck USBPHY_MAX 370701a5efSGuenter Roeck }; 380701a5efSGuenter Roeck 390701a5efSGuenter Roeck #define USBPHY_CTRL_SFTRST BIT(31) 400701a5efSGuenter Roeck 410701a5efSGuenter Roeck #define TYPE_IMX_USBPHY "imx.usbphy" 42*8063396bSEduardo Habkost OBJECT_DECLARE_SIMPLE_TYPE(IMXUSBPHYState, IMX_USBPHY) 430701a5efSGuenter Roeck 44db1015e9SEduardo Habkost struct IMXUSBPHYState { 450701a5efSGuenter Roeck /* <private> */ 460701a5efSGuenter Roeck SysBusDevice parent_obj; 470701a5efSGuenter Roeck 480701a5efSGuenter Roeck /* <public> */ 490701a5efSGuenter Roeck MemoryRegion iomem; 500701a5efSGuenter Roeck 510701a5efSGuenter Roeck uint32_t usbphy[USBPHY_MAX]; 52db1015e9SEduardo Habkost }; 530701a5efSGuenter Roeck 540701a5efSGuenter Roeck #endif /* IMX_USB_PHY_H */ 55