Hi Heath Pritchett
Currently, there are no platforms which have two EHCI IPs, so, when you defined kUSB_ControllerEhci1 it gives an error as "ControllerNotFound". RT1050 already uses SDK v2.5 (while RT1064 uses 2.4.1) and it has implemented differently the usb_ehci driver, so you can tell the driver to use the USBOTG2 with the software of the EHCI device.
Until the SDK driver is updated to 2.5, as a workaround you could use the following code in the usb/device/source/ehci/usb_device_ehci.c file.
...............
if ((controllerId < kUSB_ControllerEhci0) ||
((uint32_t)(controllerId - kUSB_ControllerEhci0) >= (sizeof(ehci_base) / sizeof(uint32_t))))
{
return kStatus_USB_ControllerNotFound;
}
ehciState = &g_UsbDeviceEhciSate[controllerId - kUSB_ControllerEhci0 - 1];
ehciState->dtd = s_UsbDeviceEhciDtd[controllerId - kUSB_ControllerEhci0 -1 ];
ehciState->qh = (usb_device_ehci_qh_struct_t *)&qh_buffer[(controllerId - kUSB_ControllerEhci0 - 1) * 2048];
ehciState->controllerId = controllerId;
.................Hope this helps
Have a great day,
TIC
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
-------------------------------------------------------------------------------