mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-28 21:33:52 +00:00
ASoC: atmel: Fix the 8K sample parameter in I2SC master
[ Upstream commit f85739c0b2
]
The 8K sample parameter of 12.288Mhz main system bus clock doesn't work
because the I2SC_MR.IMCKDIV must not be 0 according to the sama5d2
series datasheet(I2SC Mode Register of Register Summary).
So use the 6.144Mhz instead of 12.288Mhz to support 8K sample.
Signed-off-by: Guiting Shen <aarongt.shen@gmail.com>
Link: https://lore.kernel.org/r/20230715030620.62328-1-aarongt.shen@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
0b718d1d57
commit
0e3f0e5597
1 changed files with 4 additions and 1 deletions
|
@ -163,11 +163,14 @@ struct atmel_i2s_gck_param {
|
|||
|
||||
#define I2S_MCK_12M288 12288000UL
|
||||
#define I2S_MCK_11M2896 11289600UL
|
||||
#define I2S_MCK_6M144 6144000UL
|
||||
|
||||
/* mck = (32 * (imckfs+1) / (imckdiv+1)) * fs */
|
||||
static const struct atmel_i2s_gck_param gck_params[] = {
|
||||
/* mck = 6.144Mhz */
|
||||
{ 8000, I2S_MCK_6M144, 1, 47}, /* mck = 768 fs */
|
||||
|
||||
/* mck = 12.288MHz */
|
||||
{ 8000, I2S_MCK_12M288, 0, 47}, /* mck = 1536 fs */
|
||||
{ 16000, I2S_MCK_12M288, 1, 47}, /* mck = 768 fs */
|
||||
{ 24000, I2S_MCK_12M288, 3, 63}, /* mck = 512 fs */
|
||||
{ 32000, I2S_MCK_12M288, 3, 47}, /* mck = 384 fs */
|
||||
|
|
Loading…
Reference in a new issue