diff options
Diffstat (limited to 'firmware/drivers/audio')
-rw-r--r-- | firmware/drivers/audio/mas35xx.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/firmware/drivers/audio/mas35xx.c b/firmware/drivers/audio/mas35xx.c index ae94cbacf0..342d8a3c2e 100644 --- a/firmware/drivers/audio/mas35xx.c +++ b/firmware/drivers/audio/mas35xx.c | |||
@@ -31,7 +31,7 @@ const struct sound_settings_info audiohw_settings[] = { | |||
31 | [SOUND_VOLUME] = {"dB", 0, 1,-100, 12, -25}, | 31 | [SOUND_VOLUME] = {"dB", 0, 1,-100, 12, -25}, |
32 | [SOUND_BASS] = {"dB", 0, 1, -12, 12, 6}, | 32 | [SOUND_BASS] = {"dB", 0, 1, -12, 12, 6}, |
33 | [SOUND_TREBLE] = {"dB", 0, 1, -12, 12, 6}, | 33 | [SOUND_TREBLE] = {"dB", 0, 1, -12, 12, 6}, |
34 | #else /* MAS3507D */ | 34 | #elif CONFIG_CODEC == MAS3507D |
35 | [SOUND_VOLUME] = {"dB", 0, 1, -78, 18, -18}, | 35 | [SOUND_VOLUME] = {"dB", 0, 1, -78, 18, -18}, |
36 | [SOUND_BASS] = {"dB", 0, 1, -15, 15, 7}, | 36 | [SOUND_BASS] = {"dB", 0, 1, -15, 15, 7}, |
37 | [SOUND_TREBLE] = {"dB", 0, 1, -15, 15, 7}, | 37 | [SOUND_TREBLE] = {"dB", 0, 1, -15, 15, 7}, |
@@ -68,6 +68,7 @@ static void set_channel_config(void) | |||
68 | unsigned long val_lr = 0; | 68 | unsigned long val_lr = 0; |
69 | unsigned long val_rl = 0; | 69 | unsigned long val_rl = 0; |
70 | unsigned long val_rr = 0x80000; | 70 | unsigned long val_rr = 0x80000; |
71 | int bank; | ||
71 | 72 | ||
72 | switch(channel_configuration) | 73 | switch(channel_configuration) |
73 | { | 74 | { |
@@ -127,16 +128,15 @@ static void set_channel_config(void) | |||
127 | } | 128 | } |
128 | 129 | ||
129 | #if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) | 130 | #if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) |
130 | mas_writemem(MAS_BANK_D0, MAS_D0_OUT_LL, &val_ll, 1); /* LL */ | 131 | bank = MAS_BANK_D0; |
131 | mas_writemem(MAS_BANK_D0, MAS_D0_OUT_LR, &val_lr, 1); /* LR */ | ||
132 | mas_writemem(MAS_BANK_D0, MAS_D0_OUT_RL, &val_rl, 1); /* RL */ | ||
133 | mas_writemem(MAS_BANK_D0, MAS_D0_OUT_RR, &val_rr, 1); /* RR */ | ||
134 | #elif CONFIG_CODEC == MAS3507D | 132 | #elif CONFIG_CODEC == MAS3507D |
135 | mas_writemem(MAS_BANK_D1, 0x7f8, &val_ll, 1); /* LL */ | 133 | bank = MAS_BANK_D1; |
136 | mas_writemem(MAS_BANK_D1, 0x7f9, &val_lr, 1); /* LR */ | ||
137 | mas_writemem(MAS_BANK_D1, 0x7fa, &val_rl, 1); /* RL */ | ||
138 | mas_writemem(MAS_BANK_D1, 0x7fb, &val_rr, 1); /* RR */ | ||
139 | #endif | 134 | #endif |
135 | |||
136 | mas_writemem(bank, MAS_D0_OUT_LL, &val_ll, 1); /* LL */ | ||
137 | mas_writemem(bank, MAS_D0_OUT_LR, &val_lr, 1); /* LR */ | ||
138 | mas_writemem(bank, MAS_D0_OUT_RL, &val_rl, 1); /* RL */ | ||
139 | mas_writemem(bank, MAS_D0_OUT_RR, &val_rr, 1); /* RR */ | ||
140 | } | 140 | } |
141 | 141 | ||
142 | void audiohw_set_channel(int val) | 142 | void audiohw_set_channel(int val) |
@@ -157,7 +157,7 @@ void audiohw_set_bass(int val) | |||
157 | { | 157 | { |
158 | #if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) | 158 | #if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) |
159 | unsigned tmp = ((unsigned)(val * 8) & 0xff) << 8; | 159 | unsigned tmp = ((unsigned)(val * 8) & 0xff) << 8; |
160 | mas_codec_writereg(0x14, tmp); | 160 | mas_codec_writereg(MAS_REG_KBASS, tmp); |
161 | #elif CONFIG_CODEC == MAS3507D | 161 | #elif CONFIG_CODEC == MAS3507D |
162 | mas_writereg(MAS_REG_KBASS, bass_table[val+15]); | 162 | mas_writereg(MAS_REG_KBASS, bass_table[val+15]); |
163 | #endif | 163 | #endif |
@@ -174,7 +174,7 @@ void audiohw_set_treble(int val) | |||
174 | { | 174 | { |
175 | #if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) | 175 | #if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) |
176 | unsigned tmp = ((unsigned)(val * 8) & 0xff) << 8; | 176 | unsigned tmp = ((unsigned)(val * 8) & 0xff) << 8; |
177 | mas_codec_writereg(0x15, tmp); | 177 | mas_codec_writereg(MAS_REG_KTREBLE, tmp); |
178 | #elif CONFIG_CODEC == MAS3507D | 178 | #elif CONFIG_CODEC == MAS3507D |
179 | mas_writereg(MAS_REG_KTREBLE, treble_table[val+15]); | 179 | mas_writereg(MAS_REG_KTREBLE, treble_table[val+15]); |
180 | #endif | 180 | #endif |
@@ -183,11 +183,11 @@ void audiohw_set_treble(int val) | |||
183 | #if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) | 183 | #if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) |
184 | void audiohw_set_volume(int val) { | 184 | void audiohw_set_volume(int val) { |
185 | unsigned tmp = ((unsigned)(val + 115) & 0xff) << 8; | 185 | unsigned tmp = ((unsigned)(val + 115) & 0xff) << 8; |
186 | mas_codec_writereg(0x10, tmp); | 186 | mas_codec_writereg(MAS_REG_VOLUME_CONTROL, tmp); |
187 | } | 187 | } |
188 | 188 | ||
189 | void audiohw_set_balance(int val) { | 189 | void audiohw_set_balance(int val) { |
190 | unsigned tmp = ((unsigned)(val * 127 / 100) & 0xff) << 8; | 190 | unsigned tmp = ((unsigned)(val * 127 / 100) & 0xff) << 8; |
191 | mas_codec_writereg(0x11, tmp); | 191 | mas_codec_writereg(MAS_REG_BALANCE, tmp); |
192 | } | 192 | } |
193 | #endif | 193 | #endif |