EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F 191
Low Performance Peripherals (LPP)
break;
case CY_U3P_SUPER_SPEED:
size = 1024;
break;
default:
break;
}
CyU3PMemSet ((uint8_t *)&epCfg, 0, sizeof (epCfg));
epCfg.enable = CyTrue;
epCfg.epType = CY_U3P_USB_EP_BULK;
epCfg.burstLen = 1;
epCfg.streams = 0;
epCfg.pcktSize = size;
/* Producer 1 endpoint configuration */
status = CyU3PSetEpConfig(CY_FX_EP_PRODUCER_1, &epCfg);
/* Producer 2 endpoint configuration */
status = CyU3PSetEpConfig(CY_FX_EP_PRODUCER_2, &epCfg);
/* Create a DMA Auto channel between two sockets of the U port and the L and R I2S sock-
ets. DMA size is set based on the USB speed. */
dmaCfg.size = size;
dmaCfg.count = 8;
dmaCfg.prodSckId = CY_FX_EP_PRODUCER_1_SOCKET;
dmaCfg.consSckId = CY_U3P_LPP_SOCKET_I2S_LEFT;
dmaCfg.dmaMode = CY_U3P_DMA_MODE_BYTE;
dmaCfg.notification = 0;
dmaCfg.cb = NULL;
dmaCfg.prodHeader = 0;
dmaCfg.prodFooter = 0;
dmaCfg.consHeader = 0;
dmaCfg.prodAvailCount = 0;
CyU3PDmaChannelCreate (&glI2sLeftCh, CY_U3P_DMA_TYPE_AUTO, &dmaCfg);
dmaCfg.prodSckId = CY_FX_EP_PRODUCER_2_SOCKET;
dmaCfg.consSckId = CY_U3P_LPP_SOCKET_I2S_RIGHT;
CyU3PDmaChannelCreate (&glI2sRightCh, CY_U3P_DMA_TYPE_AUTO, &dmaCfg);
/* Flush the Endpoint memory */
CyU3PUsbFlushEp(CY_FX_EP_PRODUCER_1);
CyU3PUsbFlushEp(CY_FX_EP_PRODUCER_2);
/* Set DMA Channel transfer size to infinite. */
status = CyU3PDmaChannelSetXfer (&glI2sLeftCh, 0);
status = CyU3PDmaChannelSetXfer (&glI2sRightCh, 0);