9 Sep
2019
9 Sep
'19
6:54 a.m.
Hi Katsuhiro
Bad scenario as follows (mclk-fs = 256): - Initialize sysclk by correct value (Ex. 12.288MHz) - Codec set constraints of PCM rate by sysclk 48kHz (1/256), 32kHz (1/384), 24kHz (1/512) - Play 48kHz sound, it's acceptable - Sysclk is not changed
- Play 32kHz sound, it's acceptable - Set sysclk to 8.192MHz (= fs * mclk-fs = 32k * 256) - Codec set constraints of PCM rate by sysclk 32kHz (1/256), 21.33kHz (1/384), 16kHz (1/512) - Play 48kHz again, but it's NOT acceptable because constraints do not allow 48kHz
(snip)
Ah, sorry for confusing. It's not either. hw_params() of machine driver has been called even if constraints don't have a requested PCM rate. But it's not expected.
For example, if constraints are 32k, 21.33k, 16k, hw_params() will be called with 32k when an user requests to play 48k sounds.
Oh, I see. Thank you for explaining.
Thank you for your help !! Best regards --- Kuninori Morimoto