1. Please check if the external IFCLK source is present before the firmware sets IFCONFIG.7 = 0. This is necessary in order to provide synchronization for the internal endpoint FIFO logic. IFCLK should be free running.
2. In your fw.c file,
replace #define _IFREQ 48000
#define _IFREQ “your IFCLK frequency in KHz units”
# define _IFREQ 12000 //here the IFCLK frequency is 12MHz
This macro has to be placed before you include
This is because the SYNCDELAY calculations include the IFCLK value and an incorrect IFCLK value will give an incorrect synchronization delay.
3. Check if the slwr/slrd and data are meeting the setup and hold time requirements with respect to IFCLK