CyU3PDmaChannelCreate returns 64 (CY_U3P_ERROR_BAD_ARGUMENT)

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Hello ,

   

In my project the FPGA should send data to the FX3 through all for threads in GPIF-II module.

   

In order to configure this, I have been adding DMA channels one by one.

   

I attached the code.

   

As you can see I am creating two DMA channels.

   

One channel takes data from CY_U3P_PIB_SOCKET_0 (thread 0) and puts data to 0x82 endpoint (CY_U3P_UIB_SOCKET_CONS_2).

   

Next channel takes data from CY_U3P_PIB_SOCKET_1(thread 1) and puts data to 0x83 endpoint (CY_U3P_UIB_SOCKET_CONS_3).

   

The issue is whatever the channel that I create second fails with the return code 64(CY_U3P_ERROR_BAD_ARGUMENT).

   

I would like to know what is the invalid argument in above setting.

   

Thank you.

0 Likes
1 Reply
Anonymous
Not applicable

We found the issue, its how we set the socket,

   

dmaCfg.consHeader = CY_FX_EP_DATA_OUT1_SOCKET;
dmaCfg.consHeader = CY_FX_EP_DATA_OUT2_SOCKET;

   

The argument should be 'consSckId' not 'consHeader'.

   

Now the configuration API returns success.

0 Likes