From the description, I see that two MANUAL OUT Channels are required.
1 ) CPU to PIB
2) CPU to USB
Other than the above channels, all the other channels can be created simultaneously.
MANUAL IN/OUT channels can not be multichannel as there is only one PROD socket (CPU) and one CONS socket (CPU). In the above case, two channels are needed which means two PROD CPU sockets are needed which is not possible. Only one of the above channels can be used at the time (when one can is created another one needs to be destroyed).
CY_U3P_CPU_SOCKET_PROD and CY_U3P_PIB_SOCKET_1. DMA channel creates mode is CY_U3P_DMA_TYPE_MANUAL_OUT.
this is fx3 passer command to write data to extern FPGA with P-port( use GPIF II master design )
>> Please let me know why is this channel used. Please let me know if CY_U3P_PIB_SOCKET_0 can be used to send this data. Is the same GPIF master connected to both the PIB sockets? If yes why are two different sockets used to send the data to GPIF master (PIB)
CY_U3P_CPU_SOCKET_PROD and CY_U3P_UIB_SOCKET_CONS_6. DMA channel create mode isCY_U3P_DMA_TYPE_MANUAL_OUT CY_U3P_DMA_TYPE_MANUAL_OUT. this is fx3 passer command to send data from cpu to endpoint 0x86
>> as the endpoint /sockets for channel 3 (PIB to UIB) is the same. User-defined data can be sent to the consumer using DMA override mode. Channel 3 (PIB to UIB) can be used in DMA override mode instead of using MANUAL OUT Channel
Please refer to this KBA DMA Channel in Override Mode in FX3/CX3 - KBA229098 for more understanding about DMA override mode.