@@ -448,32 +448,35 @@ struct kv_map {
448
448
* N_i[0,1023], N_f_factor[0,7], m[1,64]=REG_VAL[1-63,0]
449
449
*/
450
450
static const struct pll_div codec_pll_div [] = {
451
- {128000 , 22579200 , 1 , 529 , 1 },
452
- {192000 , 22579200 , 1 , 352 , 4 },
453
- {256000 , 22579200 , 1 , 264 , 3 },
454
- {384000 , 22579200 , 1 , 176 , 2 },/*((176+2*0.2)*6000000)/(38*(2*1+1))*/
455
- {2822400 , 22579200 , 1 , 24 , 0 },/* accurate, 11025 * 256 */
456
- {5644800 , 22579200 , 1 , 12 , 0 },/* accurate, 22050 * 256 */
457
- {6000000 , 22579200 , 38 , 429 , 0 },/*((429+0*0.2)*6000000)/(38*(2*1+1))*/
458
- {11289600 , 22579200 , 1 , 6 , 0 },/* accurate, 44100 * 256 */
459
- {13000000 , 22579200 , 19 , 99 , 0 },
460
- {19200000 , 22579200 , 25 , 88 , 1 },
461
- {24000000 , 22579200 , 63 , 177 , 4 }, /* 22577778 Hz */
462
-
463
- {128000 , 24576000 , 1 , 576 , 0 },
464
- {192000 , 24576000 , 1 , 384 , 0 },
465
- {256000 , 24576000 , 1 , 288 , 0 },
466
- {384000 , 24576000 , 1 , 192 , 0 },
467
- {1411200 , 22579200 , 1 , 48 , 0 },
468
- {2048000 , 24576000 , 1 , 36 , 0 }, /* accurate, 8000 * 256 */
469
- {3072000 , 24576000 , 1 , 24 , 0 }, /* accurate, 12000 * 256 */
470
- {4096000 , 24576000 , 1 , 18 , 0 }, /* accurate, 16000 * 256 */
471
- {6000000 , 24576000 , 25 , 307 , 1 },
472
- {6144000 , 24576000 , 1 , 12 , 0 }, /* accurate, 24000 * 256 */
473
- {12288000 , 24576000 , 1 , 6 , 0 }, /* accurate, 48000 * 256 */
474
- {13000000 , 24576000 , 42 , 238 , 1 },
475
- {19200000 , 24576000 , 25 , 96 , 0 },
476
- {24000000 , 24576000 , 25 , 76 , 4 },/* accurate */
451
+ {128000 , _FREQ_22_579K , 1 , 529 , 1 },
452
+ {192000 , _FREQ_22_579K , 1 , 352 , 4 },
453
+ {256000 , _FREQ_22_579K , 1 , 264 , 3 },
454
+ {384000 , _FREQ_22_579K , 1 , 176 , 2 }, /*((176+2*0.2)*6000000)/(38*(2*1+1))*/
455
+ {1411200 , _FREQ_22_579K , 1 , 48 , 0 },
456
+ {2822400 , _FREQ_22_579K , 1 , 24 , 0 }, /* accurate, 11025 * 256 */
457
+ {5644800 , _FREQ_22_579K , 1 , 12 , 0 }, /* accurate, 22050 * 256 */
458
+ {6000000 , _FREQ_22_579K , 38 , 429 , 0 }, /*((429+0*0.2)*6000000)/(38*(2*1+1))*/
459
+ {11289600 , _FREQ_22_579K , 1 , 6 , 0 }, /* accurate, 44100 * 256 */
460
+ {13000000 , _FREQ_22_579K , 19 , 99 , 0 },
461
+ {19200000 , _FREQ_22_579K , 25 , 88 , 1 },
462
+ {24000000 , _FREQ_22_579K , 63 , 177 , 4 }, /* 22577778 Hz */
463
+
464
+ {128000 , _FREQ_24_576K , 1 , 576 , 0 },
465
+ {192000 , _FREQ_24_576K , 1 , 384 , 0 },
466
+ {256000 , _FREQ_24_576K , 1 , 288 , 0 },
467
+ {384000 , _FREQ_24_576K , 1 , 192 , 0 },
468
+ {2048000 , _FREQ_24_576K , 1 , 36 , 0 }, /* accurate, 8000 * 256 */
469
+ {3072000 , _FREQ_24_576K , 1 , 24 , 0 }, /* accurate, 12000 * 256 */
470
+ {4096000 , _FREQ_24_576K , 1 , 18 , 0 }, /* accurate, 16000 * 256 */
471
+ {6000000 , _FREQ_24_576K , 25 , 307 , 1 },
472
+ {6144000 , _FREQ_24_576K , 4 , 48 , 0 }, /* accurate, 24000 * 256 */
473
+ {12288000 , _FREQ_24_576K , 8 , 48 , 0 }, /* accurate, 48000 * 256 */
474
+ {13000000 , _FREQ_24_576K , 42 , 238 , 1 },
475
+ {19200000 , _FREQ_24_576K , 25 , 96 , 0 },
476
+ {24000000 , _FREQ_24_576K , 25 , 76 , 4 }, /* accurate */
477
+
478
+ {_FREQ_22_579K , _FREQ_22_579K , 8 , 24 , 0 }, /* accurate, 88200 * 256 */
479
+ {_FREQ_24_576K , _FREQ_24_576K , 8 , 24 , 0 }, /* accurate, 96000 * 256 */
477
480
};
478
481
479
482
static const struct aif1_fs codec_aif1_fs [] = {
@@ -593,15 +596,14 @@ static int ac101_set_pll(struct snd_soc_dai *codec_dai, int pll_id, int source,
593
596
594
597
if (!freq_out )
595
598
return 0 ;
596
- if ((freq_in < 128000 ) || (freq_in > 24576000 )) {
599
+ if ((freq_in < 128000 ) || (freq_in > _FREQ_24_576K )) {
597
600
return - EINVAL ;
598
- } else if ((freq_in == 24576000 ) || (freq_in == 22579200 )) {
601
+ } else if ((freq_in == _FREQ_24_576K ) || (freq_in == _FREQ_22_579K )) {
599
602
if (pll_id == AC101_MCLK1 ) {
600
603
/*select aif1 clk source from mclk1*/
601
604
ac101_update_bits (codec , SYSCLK_CTRL , (0x3 <<AIF1CLK_SRC ), (0x0 <<AIF1CLK_SRC ));
602
605
return 0 ;
603
606
}
604
- return - EINVAL ;
605
607
}
606
608
607
609
switch (pll_id ) {
@@ -685,7 +687,7 @@ int ac101_hw_params(struct snd_pcm_substream *substream,
685
687
ac101_update_bits (codec , AIF_CLK_CTRL , (0x7 <<AIF1_LRCK_DIV ), codec_aif1_lrck [i ].bit <<AIF1_LRCK_DIV );
686
688
687
689
/* set PLL output freq */
688
- freq_out = 24576000 ;
690
+ freq_out = _FREQ_24_576K ;
689
691
for (i = 0 ; i < ARRAY_SIZE (codec_aif1_fs ); i ++ ) {
690
692
if (codec_aif1_fs [i ].samp_rate == params_rate (params )) {
691
693
if (codec_dai -> capture_active && dmic_used && codec_aif1_fs [i ].samp_rate == 44100 ) {
@@ -694,7 +696,7 @@ int ac101_hw_params(struct snd_pcm_substream *substream,
694
696
ac101_update_bits (codec , AIF_SR_CTRL , (0xf <<AIF1_FS ), ((codec_aif1_fs [i ].srbit )<<AIF1_FS ));
695
697
}
696
698
if (codec_aif1_fs [i ].series == _SERIES_22_579K )
697
- freq_out = 22579200 ;
699
+ freq_out = _FREQ_22_579K ;
698
700
break ;
699
701
}
700
702
}
0 commit comments