- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I want to implement two pairs of DMA. Based on the example slave fifosync, I have made the following extensions and created the corresponding DMA channel, but I can't see any endpoint
Solved! Go to Solution.
- Labels:
-
USB Superspeed Peripherals
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
For the device to enumerate with 4 endpoints, the descriptors need to be modified. With the default setting, the device enumerates with 2 bulk endpoints only (one IN and one OUT). If this default behaviour is to be changed, then the descriptor file (cyfxslfifousbdscr.c) needs to be changed. Inside this file, the following needs to be changed:
1. The interface descriptor
2. New endpoint descriptors needs to be added.
3. The "Length of this descriptor and all sub descriptors" field of configuration descriptors should be changed.
Please try this and let me know if you are still facing enumeration issues.
Also, a few examples for the mapping between USB sockets and USB endpoints are given below:
CY_U3P_UIB_SOCKET_PROD_1 will be mapped to OUT endpoint 1 (0x01).
CY_U3P_UIB_SOCKET_CONS_1 will be mapped to IN endpoint 1 (0x81).
So, if you need to use 0x01 and 0x02 as USB OUT endpoints, then the corresponding sockets will be CY_U3P_UIB_SOCKET_PROD_1 and CY_U3P_UIB_SOCKET_PROD_2 respectively. Similarly if 0x81 and 0x82 needs to be used as IN endpoints, then CY_U3P_UIB_SOCKET_CONS_1 and CY_U3P_UIB_SOCKET_CONS_2 will be the respective sockets. CY_U3P_UIB_SOCKET_PROD_0 and CY_U3P_UIB_SOCKET_CONS_0 are mapped to the control endpoint. Please do not use these sockets for your project. Please make this modification in your project.
Jayakrishna