We are trying to implement USB device on USB0 over ULPI USB3343. We already use this ULPI on other devices and we are sure that the HW level of design is fine.
Things that work:
- communication with endpoint0 works without problems
- pc recieves descriptor from endpoint0
- speed setting to HighSpeed USB works fine
Things that dont work:
- we would like to use endpoint1 as bulk transfer
- we set everything according to datasheet but we get transfer timeout everytime we try to send anything
- we use this register to turn on the endpoint1 ENDPTC (addr 0xffc901c4) to value (UOTG_ENDPTC_TXE_MASK | UOTG_ENDPTC_TXR_MASK | UOTG_ENDPTC_RXE_MASK | UOTG_ENDPTC_RXR_MASK) | UOTG_ENDPTC_TXT(USB_ENDPOINT_BULK) | UOTG_ENDPTC_RXT(USB_ENDPOINT_BULK)
What else should we set to make this work?
Please do help.
We used USB device class from another NXP MCU SDK and I missed some of the code where big and little endian is the problem, thats why endpoint1 didn't work. Now it works. Just please add some working USB example. This was way too much trouble for basic functionality like USB.
Thanks for the info.
Example codes you may find in S32DS. There are just two SDK examples for USB module called "usb_msd_fatfs_mpc5748g" and "usb_cdc_lwip_mpc5748g".
Unfortunately I am not aware of other ones. For this product line, it is a marginal feature, so we don't have many support queries either.