Skip to content

Commit f85739c

Browse files
Guiting Shenbroonie
authored andcommitted
ASoC: atmel: Fix the 8K sample parameter in I2SC master
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>
1 parent 23adeb7 commit f85739c

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

sound/soc/atmel/atmel-i2s.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,11 +163,14 @@ struct atmel_i2s_gck_param {
163163

164164
#define I2S_MCK_12M288 12288000UL
165165
#define I2S_MCK_11M2896 11289600UL
166+
#define I2S_MCK_6M144 6144000UL
166167

167168
/* mck = (32 * (imckfs+1) / (imckdiv+1)) * fs */
168169
static const struct atmel_i2s_gck_param gck_params[] = {
170+
/* mck = 6.144Mhz */
171+
{ 8000, I2S_MCK_6M144, 1, 47}, /* mck = 768 fs */
172+
169173
/* mck = 12.288MHz */
170-
{ 8000, I2S_MCK_12M288, 0, 47}, /* mck = 1536 fs */
171174
{ 16000, I2S_MCK_12M288, 1, 47}, /* mck = 768 fs */
172175
{ 24000, I2S_MCK_12M288, 3, 63}, /* mck = 512 fs */
173176
{ 32000, I2S_MCK_12M288, 3, 47}, /* mck = 384 fs */

0 commit comments

Comments
 (0)