|
- #ifndef IMXRT_USBHS_H_
- #define IMXRT_USBHS_H_
-
- #if defined(__IMXRT1052__) || defined(__IMXRT1062__)
-
- // Allow USB host code written for "USBHS" on Teensy 3.6 to compile for "USB2" on Teensy 4.0
-
- #define IRQ_USBHS IRQ_USB2
-
- #define USBPHY_CTRL USBPHY2_CTRL
- #define USBPHY_CTRL_CLR USBPHY2_CTRL_CLR
- #define USBPHY_CTRL_SET USBPHY2_CTRL_SET
-
- #define USBHS_USBCMD USB2_USBCMD
- #define USBHS_USBSTS USB2_USBSTS
- #define USBHS_USBINTR USB2_USBINTR
- #define USBHS_FRINDEX USB2_FRINDEX
- #define USBHS_PERIODICLISTBASE USB2_PERIODICLISTBASE
- #define USBHS_ASYNCLISTADDR USB2_ASYNCLISTADDR
- #define USBHS_PORTSC1 USB2_PORTSC1
- #define USBHS_USBMODE USB2_USBMODE
- #define USBHS_GPTIMER0CTL USB2_GPTIMER0CTRL
- #define USBHS_GPTIMER0LD USB2_GPTIMER0LD
- #define USBHS_GPTIMER1CTL USB2_GPTIMER1CTRL
- #define USBHS_GPTIMER1LD USB2_GPTIMER1LD
-
- #define USBHS_USBCMD_ASE USB_USBCMD_ASE
- #define USBHS_USBCMD_IAA USB_USBCMD_IAA
- #define USBHS_USBCMD_RST USB_USBCMD_RST
- #define USBHS_USBCMD_ITC(n) USB_USBCMD_ITC(n)
- #define USBHS_USBCMD_RS USB_USBCMD_RS
- #define USBHS_USBCMD_ASP(n) USB_USBCMD_ASP(n)
- #define USBHS_USBCMD_ASPE USB_USBCMD_ASPE
- #define USBHS_USBCMD_PSE USB_USBCMD_PSE
- #define USBHS_USBCMD_FS2 USB_USBCMD_FS_2
- #define USBHS_USBCMD_FS(n) USB_USBCMD_FS_1(n)
-
- #define USBHS_USBSTS_AAI USB_USBSTS_AAI
- #define USBHS_USBSTS_AS USB_USBSTS_AS
- // UAI & UPI bits are undocumented in IMXRT, K66 pg 1602, RT1050 pg 2374
- #define USBHS_USBSTS_UAI ((uint32_t)(1<<18))
- #define USBHS_USBSTS_UPI ((uint32_t)(1<<19))
- #define USBHS_USBSTS_UEI USB_USBSTS_UEI
- #define USBHS_USBSTS_PCI USB_USBSTS_PCI
- #define USBHS_USBSTS_TI0 USB_USBSTS_TI0
- #define USBHS_USBSTS_TI1 USB_USBSTS_TI1
- #define USBHS_USBSTS_SEI USB_USBSTS_SEI
- #define USBHS_USBSTS_URI USB_USBSTS_URI
- #define USBHS_USBSTS_SLI USB_USBSTS_SLI
- #define USBHS_USBSTS_HCH USB_USBSTS_HCH
- #define USBHS_USBSTS_NAKI USB_USBSTS_NAKI
-
- #define USBHS_USBINTR_PCE USB_USBINTR_PCE
- #define USBHS_USBINTR_TIE0 USB_USBINTR_TIE0
- #define USBHS_USBINTR_TIE1 USB_USBINTR_TIE1
- #define USBHS_USBINTR_UEE USB_USBINTR_UEE
- #define USBHS_USBINTR_SEE USB_USBINTR_SEE
- #define USBHS_USBINTR_UPIE USB_USBINTR_UPIE
- #define USBHS_USBINTR_UAIE USB_USBINTR_UAIE
-
- #define USBHS_PORTSC_PFSC USB_PORTSC1_PFSC
- #define USBHS_PORTSC_PP USB_PORTSC1_PP
- #define USBHS_PORTSC_OCC USB_PORTSC1_OCC
- #define USBHS_PORTSC_PEC USB_PORTSC1_PEC
- #define USBHS_PORTSC_CSC USB_PORTSC1_CSC
- #define USBHS_PORTSC_CCS USB_PORTSC1_CCS
- #define USBHS_PORTSC_PE USB_PORTSC1_PE
- #define USBHS_PORTSC_HSP USB_PORTSC1_HSP
- #define USBHS_PORTSC_FPR USB_PORTSC1_FPR
- #define USBHS_PORTSC_PR USB_PORTSC1_PR
-
- #define USBHS_GPTIMERCTL_RST USB_GPTIMERCTRL_GPTRST
- #define USBHS_GPTIMERCTL_RUN USB_GPTIMERCTRL_GPTRUN
-
- #define USBHS_USBMODE_CM(n) USB_USBMODE_CM(n)
-
- // TODO: what is the best setting for this register on IMXRT ???
- #define USBHS_USB_SBUSCFG USB2_SBUSCFG
-
-
- #endif // __IMXRT1052__ or __IMXRT1062__
- #endif // IMXRT_USBHS_H_
|