diff options
| author | Scott Shawcroft <[email protected]> | 2022-02-22 18:10:09 -0800 |
|---|---|---|
| committer | Scott Shawcroft <[email protected]> | 2022-02-22 18:13:22 -0800 |
| commit | d7495975914645d147b7b9752df9e3bab7bdcfb6 (patch) | |
| tree | 527baa5d1007c7dee3fa0ad35683e5c3259fd76f /hw | |
| parent | 8a6fe8a8f398f460d0f2c3575c529e9b4d1b9785 (diff) | |
Add dual role (concurrent) example
This reads HID devices over host and then translates that to ASCII
and sends it over CDC device.
Diffstat (limited to 'hw')
| -rw-r--r-- | hw/bsp/imxrt/boards/mimxrt1060_evk/board.mk | 3 | ||||
| -rw-r--r-- | hw/bsp/imxrt/family.c | 23 | ||||
| -rw-r--r-- | hw/bsp/imxrt/family.mk | 7 |
3 files changed, 30 insertions, 3 deletions
diff --git a/hw/bsp/imxrt/boards/mimxrt1060_evk/board.mk b/hw/bsp/imxrt/boards/mimxrt1060_evk/board.mk index d0498dbb1..b14b2a6b9 100644 --- a/hw/bsp/imxrt/boards/mimxrt1060_evk/board.mk +++ b/hw/bsp/imxrt/boards/mimxrt1060_evk/board.mk @@ -7,5 +7,8 @@ JLINK_DEVICE = MIMXRT1062xxx6A # For flash-pyocd target PYOCD_TARGET = mimxrt1060 +BOARD_DEVICE_RHPORT_NUM = 1 +BOARD_HOST_RHPORT_NUM = 0 + # flash using pyocd flash: flash-pyocd diff --git a/hw/bsp/imxrt/family.c b/hw/bsp/imxrt/family.c index 716681ca9..03be3b3dc 100644 --- a/hw/bsp/imxrt/family.c +++ b/hw/bsp/imxrt/family.c @@ -99,12 +99,12 @@ void board_init(void) CLOCK_EnableUsbhs0Clock(kCLOCK_Usb480M, 480000000U); // USB1 -// CLOCK_EnableUsbhs1PhyPllClock(kCLOCK_Usbphy480M, 480000000U); -// CLOCK_EnableUsbhs1Clock(kCLOCK_Usb480M, 480000000U); + CLOCK_EnableUsbhs1PhyPllClock(kCLOCK_Usbphy480M, 480000000U); + CLOCK_EnableUsbhs1Clock(kCLOCK_Usb480M, 480000000U); USBPHY_Type* usb_phy; - // RT105x RT106x have dual USB controller. TODO support USB2 + // RT105x RT106x have dual USB controller. #ifdef USBPHY1 usb_phy = USBPHY1; #else @@ -122,6 +122,23 @@ void board_init(void) phytx &= ~(USBPHY_TX_D_CAL_MASK | USBPHY_TX_TXCAL45DM_MASK | USBPHY_TX_TXCAL45DP_MASK); phytx |= USBPHY_TX_D_CAL(0x0C) | USBPHY_TX_TXCAL45DP(0x06) | USBPHY_TX_TXCAL45DM(0x06); usb_phy->TX = phytx; + + // RT105x RT106x have dual USB controller. +#ifdef USBPHY2 + usb_phy = USBPHY2; + + // Enable PHY support for Low speed device + LS via FS Hub + usb_phy->CTRL |= USBPHY_CTRL_SET_ENUTMILEVEL2_MASK | USBPHY_CTRL_SET_ENUTMILEVEL3_MASK; + + // Enable all power for normal operation + usb_phy->PWD = 0; + + // TX Timing + phytx = usb_phy->TX; + phytx &= ~(USBPHY_TX_D_CAL_MASK | USBPHY_TX_TXCAL45DM_MASK | USBPHY_TX_TXCAL45DP_MASK); + phytx |= USBPHY_TX_D_CAL(0x0C) | USBPHY_TX_TXCAL45DP(0x06) | USBPHY_TX_TXCAL45DM(0x06); + usb_phy->TX = phytx; +#endif } //--------------------------------------------------------------------+ diff --git a/hw/bsp/imxrt/family.mk b/hw/bsp/imxrt/family.mk index d086d503f..0bf4a0d15 100644 --- a/hw/bsp/imxrt/family.mk +++ b/hw/bsp/imxrt/family.mk @@ -15,6 +15,13 @@ CFLAGS += \ -DXIP_BOOT_HEADER_ENABLE=1 \ -DCFG_TUSB_MCU=OPT_MCU_MIMXRT10XX +ifdef BOARD_DEVICE_RHPORT_NUM +CFLAGS += -DBOARD_DEVICE_RHPORT_NUM=$(BOARD_DEVICE_RHPORT_NUM) +endif +ifdef BOARD_HOST_RHPORT_NUM +CFLAGS += -DBOARD_HOST_RHPORT_NUM=$(BOARD_HOST_RHPORT_NUM) +endif + # mcu driver cause following warnings CFLAGS += -Wno-error=unused-parameter -Wno-error=implicit-fallthrough= |
