Skip to content

Commit 2354856

Browse files
committed
Optimize: names & disable sample rate 96K
1 parent 9dce807 commit 2354856

File tree

3 files changed

+166
-159
lines changed

3 files changed

+166
-159
lines changed

ac101.c

Lines changed: 33 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -448,32 +448,35 @@ struct kv_map {
448448
* N_i[0,1023], N_f_factor[0,7], m[1,64]=REG_VAL[1-63,0]
449449
*/
450450
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 */
477480
};
478481

479482
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,
593596

594597
if (!freq_out)
595598
return 0;
596-
if ((freq_in < 128000) || (freq_in > 24576000)) {
599+
if ((freq_in < 128000) || (freq_in > _FREQ_24_576K)) {
597600
return -EINVAL;
598-
} else if ((freq_in == 24576000) || (freq_in == 22579200)) {
601+
} else if ((freq_in == _FREQ_24_576K) || (freq_in == _FREQ_22_579K)) {
599602
if (pll_id == AC101_MCLK1) {
600603
/*select aif1 clk source from mclk1*/
601604
ac101_update_bits(codec, SYSCLK_CTRL, (0x3<<AIF1CLK_SRC), (0x0<<AIF1CLK_SRC));
602605
return 0;
603606
}
604-
return -EINVAL;
605607
}
606608

607609
switch (pll_id) {
@@ -685,7 +687,7 @@ int ac101_hw_params(struct snd_pcm_substream *substream,
685687
ac101_update_bits(codec, AIF_CLK_CTRL, (0x7<<AIF1_LRCK_DIV), codec_aif1_lrck[i].bit<<AIF1_LRCK_DIV);
686688

687689
/* set PLL output freq */
688-
freq_out = 24576000;
690+
freq_out = _FREQ_24_576K;
689691
for (i = 0; i < ARRAY_SIZE(codec_aif1_fs); i++) {
690692
if (codec_aif1_fs[i].samp_rate == params_rate(params)) {
691693
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,
694696
ac101_update_bits(codec, AIF_SR_CTRL, (0xf<<AIF1_FS), ((codec_aif1_fs[i].srbit)<<AIF1_FS));
695697
}
696698
if (codec_aif1_fs[i].series == _SERIES_22_579K)
697-
freq_out = 22579200;
699+
freq_out = _FREQ_22_579K;
698700
break;
699701
}
700702
}

0 commit comments

Comments
 (0)