So I set CGU like so ...
By my reckoning, that configuration is:
SYS_CLKIN 25MHzCGU_CTL: DF = 0 CGU_CTL: MSEL = 18 PLLCLK = (SYS_CLKIN / (DF+1)) * MSEL (25MHz / 1) * 18 = 450MHzCGU_DIV: OSEL = 18 OCLK = (SYS_CLKIN / (DF+1)) * MSEL / OSEL (25MHz / 1) * 18 / 18 = 25MHzCGU_DIV: DSEL = 9 DCLK = (SYS_CLKIN / (DF+1)) * MSEL / DSEL (25MHz / 1) * 18 / 9 = 50MHzCGU_DIV: S1SEL = 2 SCLK1 = SYS_CLKIN / S1SEL (25MHz / 2) = 12.5MHzCGU_DIV: SYSSEL = 2 SYSCLK = (SYS_CLKIN / (DF+1)) * MSEL / SYSSEL (25MHz / 1) * 20 / 2 = 225MHzCGU_DIV: S0SEL = 2 SCLK0 = SYS_CLKIN / S0SEL (25MHz / 2) = 12.5MHzCGU_DIV: CSEL = 1 CCLK = (SYS_CLKIN / (DF+1)) * MSEL / CSEL (25MHz / 1) * 20 / 1 = 450MHz
In the HRM Introduction section, DMA is "Clocked by SCLK0 from CGU0 and SCLK1 from CGU1". In my configuration, SCLK0 is set to 12.5MHZ, is that the limit? I am trying to stream audio data from RAM to SPORT: 32 bits wide word * 2 * 384K. It works flawless at 192K, starts corrupting at 384K. Do I need a different clock configuration to set the DMA clock higher?