This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

USBD custom events not fired correctly when external PHY is used for LPC1857 USB1 port

Hello,
we have a custom board build based on ARM NXP LPC1857 MCU. in this board both USB0 and USB1 ports are configured in high speed mode and in order to achieve that an external PHY is connected to USB1 port which has only a full speed PHY internally. We use the KEIL MDK-Middleware 6.4 USB stack to manage the USB ports activity in the firmware. port USB0 is configured as Host, port USB1 is configured as custom Device (RTE_USB_Device_CustomClass_0).
Now the problem is that we except from the MDK-Middleware to fire the custom event USBD_CustomClass0_Endpoint0_SetupPacketReceived at differents initialization steps but there are events that never came compared to the same firmware tested on KEIL MBC1800 Eval board with an USB1 port configured at full speed.
Here is the code portion which is expected to came but never raise at high speed :

usbdRequestStatus USBD_CustomClass0_Endpoint0_SetupPacketReceived
        (const USB_SETUP_PACKET *setup_packet, uint8_t **buf, int32_t *len) {
        uint8_t sz;

  if ((setup_packet->bmRequestType.Type & 3) == USB_REQUEST_STANDARD) {
                if (setup_packet->bRequest == USB_REQUEST_GET_DESCRIPTOR) {
                        if (setup_packet->wValueH == USB_DEVICE_DESCRIPTOR_TYPE) {
...
...

The same events in the KEIL MBC1800 Eval board are fired normally but the USB1 port in this eval board use the internal PHY (full speed mode).

Parents Reply Children
No data