/* Reset USB peripheral */
reg_ptr->USBOTG.USBTRC0 |= USB_USBTRC0_USBRESET_MASK;
/* Wait while resetting */
while (reg_ptr->USBOTG.USBTRC0 & USB_USBTRC0_USBRESET_MASK)
{}
There is one issue. MCF5225 does not support USB peripheral reset, this code is from MCF51MM.
The next thing is to switch off and switch on Vbus, look at: _bsp_usb_io_init in gpio_init.c, you have there:
//reg_ptr->GPIO.PORTUA |= MCF5225_GPIO_PORTxP3; // turn Vbus off
Un-comment it.