28 Jun
2010
28 Jun
'10
7:11 p.m.
Raffaele Recalcati wrote:
if (dev->i2s_fast_clock) {
clk_div = 256;
can you have f = (freq / params->rate_num) * params->rate_den;
do {
framesize = (freq / (--clk_div)) /
params->rate_num *
params->rate_den;
and framesize = f / (--clk_div);
} while (((framesize < 33) || (framesize > 4095)) &&
(clk_div));
clk_div--;
looks like clk_div can go negative here, should the above while say (clk_div > 1)
srgr |= DAVINCI_MCBSP_SRGR_FPER(framesize - 1);
} else {
/* symmetric waveforms */
clk_div = freq / (mcbsp_word_length * 16) /
params->rate_num * params->rate_den;
srgr |= DAVINCI_MCBSP_SRGR_FPER(mcbsp_word_length *
16 - 1);
}
clk_div &= 0xFF;
srgr |= clk_div;