diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/export/tsc2100.h | 6 | ||||
-rw-r--r-- | firmware/sound.c | 16 |
2 files changed, 15 insertions, 7 deletions
diff --git a/firmware/export/tsc2100.h b/firmware/export/tsc2100.h index 70b793266f..0816e68c21 100644 --- a/firmware/export/tsc2100.h +++ b/firmware/export/tsc2100.h | |||
@@ -128,4 +128,10 @@ void tsc2100_writereg(int page, int address, short value); | |||
128 | #define TSAC5_PAGE 2 | 128 | #define TSAC5_PAGE 2 |
129 | #define TSAC5_ADDRESS 0x1e | 129 | #define TSAC5_ADDRESS 0x1e |
130 | 130 | ||
131 | extern int tenthdb2master(int db); | ||
132 | extern void audiohw_init(void); | ||
133 | extern void audiohw_set_master_vol(int vol_l, int vol_r); | ||
134 | extern void audiohw_set_lineout_vol(int vol_l, int vol_r); | ||
135 | extern void audiohw_mute(bool mute); | ||
136 | |||
131 | #endif | 137 | #endif |
diff --git a/firmware/sound.c b/firmware/sound.c index 748ddd833e..eda223bff0 100644 --- a/firmware/sound.c +++ b/firmware/sound.c | |||
@@ -225,7 +225,7 @@ static int tenthdb2reg(int db) | |||
225 | #if (CONFIG_CODEC == MAS3507D) || defined HAVE_UDA1380 \ | 225 | #if (CONFIG_CODEC == MAS3507D) || defined HAVE_UDA1380 \ |
226 | || defined HAVE_WM8975 || defined HAVE_WM8758 || defined(HAVE_WM8731) \ | 226 | || defined HAVE_WM8975 || defined HAVE_WM8758 || defined(HAVE_WM8731) \ |
227 | || defined(HAVE_WM8721) || defined(HAVE_TLV320) || defined(HAVE_WM8751) \ | 227 | || defined(HAVE_WM8721) || defined(HAVE_TLV320) || defined(HAVE_WM8751) \ |
228 | || defined(HAVE_AS3514) || defined(HAVE_WM8985) | 228 | || defined(HAVE_AS3514) || defined(HAVE_WM8985) || defined(HAVE_TSC2100) |
229 | 229 | ||
230 | /* all values in tenth of dB MAS3507D UDA1380 */ | 230 | /* all values in tenth of dB MAS3507D UDA1380 */ |
231 | int current_volume = 0; /* -780..+180 -840.. 0 */ | 231 | int current_volume = 0; /* -780..+180 -840.. 0 */ |
@@ -242,7 +242,7 @@ static void set_prescaled_volume(void) | |||
242 | * the prescaler stay at 0 for these unless SW tone controls are in use */ | 242 | * the prescaler stay at 0 for these unless SW tone controls are in use */ |
243 | #if defined(HAVE_SW_TONE_CONTROLS) || !(defined(HAVE_WM8975) \ | 243 | #if defined(HAVE_SW_TONE_CONTROLS) || !(defined(HAVE_WM8975) \ |
244 | || defined(HAVE_WM8731) || defined(HAVE_WM8721) || defined(HAVE_WM8751) \ | 244 | || defined(HAVE_WM8731) || defined(HAVE_WM8721) || defined(HAVE_WM8751) \ |
245 | || defined(HAVE_WM8758) || defined(HAVE_WM8985)) | 245 | || defined(HAVE_WM8758) || defined(HAVE_WM8985)) || defined(HAVE_TSC2100) |
246 | 246 | ||
247 | prescale = MAX(current_bass, current_treble); | 247 | prescale = MAX(current_bass, current_treble); |
248 | if (prescale < 0) | 248 | if (prescale < 0) |
@@ -286,10 +286,11 @@ static void set_prescaled_volume(void) | |||
286 | dac_volume(tenthdb2reg(l), tenthdb2reg(r), false); | 286 | dac_volume(tenthdb2reg(l), tenthdb2reg(r), false); |
287 | #elif defined(HAVE_UDA1380) || defined(HAVE_WM8975) || defined(HAVE_WM8758) \ | 287 | #elif defined(HAVE_UDA1380) || defined(HAVE_WM8975) || defined(HAVE_WM8758) \ |
288 | || defined(HAVE_WM8731) || defined(HAVE_WM8721) || defined(HAVE_WM8751) \ | 288 | || defined(HAVE_WM8731) || defined(HAVE_WM8721) || defined(HAVE_WM8751) \ |
289 | || defined(HAVE_AS3514) | 289 | || defined(HAVE_AS3514) || defined(HAVE_TSC2100) |
290 | audiohw_set_master_vol(tenthdb2master(l), tenthdb2master(r)); | 290 | audiohw_set_master_vol(tenthdb2master(l), tenthdb2master(r)); |
291 | #if defined(HAVE_WM8975) || defined(HAVE_WM8758) \ | 291 | #if defined(HAVE_WM8975) || defined(HAVE_WM8758) \ |
292 | || (defined(HAVE_WM8751) && !defined(MROBE_100)) | 292 | || (defined(HAVE_WM8751) && !defined(MROBE_100)) \ |
293 | || defined(HAVE_TSC2100) | ||
293 | audiohw_set_lineout_vol(tenthdb2master(0), tenthdb2master(0)); | 294 | audiohw_set_lineout_vol(tenthdb2master(0), tenthdb2master(0)); |
294 | #endif | 295 | #endif |
295 | 296 | ||
@@ -318,7 +319,7 @@ void sound_set_volume(int value) | |||
318 | #elif (CONFIG_CODEC == MAS3507D) || defined HAVE_UDA1380 \ | 319 | #elif (CONFIG_CODEC == MAS3507D) || defined HAVE_UDA1380 \ |
319 | || defined HAVE_WM8975 || defined HAVE_WM8758 || defined HAVE_WM8731 \ | 320 | || defined HAVE_WM8975 || defined HAVE_WM8758 || defined HAVE_WM8731 \ |
320 | || defined(HAVE_WM8721) || defined(HAVE_TLV320) || defined(HAVE_WM8751) \ | 321 | || defined(HAVE_WM8721) || defined(HAVE_TLV320) || defined(HAVE_WM8751) \ |
321 | || defined(HAVE_AS3514) || defined(HAVE_WM8985) | 322 | || defined(HAVE_AS3514) || defined(HAVE_WM8985) || defined(HAVE_TSC2100) |
322 | current_volume = value * 10; /* tenth of dB */ | 323 | current_volume = value * 10; /* tenth of dB */ |
323 | set_prescaled_volume(); | 324 | set_prescaled_volume(); |
324 | #elif CONFIG_CPU == PNX0101 | 325 | #elif CONFIG_CPU == PNX0101 |
@@ -338,7 +339,7 @@ void sound_set_balance(int value) | |||
338 | #elif CONFIG_CODEC == MAS3507D || defined HAVE_UDA1380 \ | 339 | #elif CONFIG_CODEC == MAS3507D || defined HAVE_UDA1380 \ |
339 | || defined HAVE_WM8975 || defined HAVE_WM8758 || defined HAVE_WM8731 \ | 340 | || defined HAVE_WM8975 || defined HAVE_WM8758 || defined HAVE_WM8731 \ |
340 | || defined(HAVE_WM8721) || defined(HAVE_TLV320) || defined(HAVE_WM8751) \ | 341 | || defined(HAVE_WM8721) || defined(HAVE_TLV320) || defined(HAVE_WM8751) \ |
341 | || defined(HAVE_AS3514) || defined(HAVE_WM8985) | 342 | || defined(HAVE_AS3514) || defined(HAVE_WM8985) || defined(HAVE_TSC2100) |
342 | current_balance = value * VOLUME_RANGE / 100; /* tenth of dB */ | 343 | current_balance = value * VOLUME_RANGE / 100; /* tenth of dB */ |
343 | set_prescaled_volume(); | 344 | set_prescaled_volume(); |
344 | #elif CONFIG_CPU == PNX0101 | 345 | #elif CONFIG_CPU == PNX0101 |
@@ -631,7 +632,8 @@ void sound_set(int setting, int value) | |||
631 | sound_set_val(value); | 632 | sound_set_val(value); |
632 | } | 633 | } |
633 | 634 | ||
634 | #if (!defined(HAVE_AS3514) && !defined (HAVE_WM8731)) || defined(SIMULATOR) | 635 | #if (!defined(HAVE_AS3514) && !defined (HAVE_WM8731) && !defined(HAVE_TSC2100)) \ |
636 | || defined(SIMULATOR) | ||
635 | int sound_val2phys(int setting, int value) | 637 | int sound_val2phys(int setting, int value) |
636 | { | 638 | { |
637 | #if CONFIG_CODEC == MAS3587F | 639 | #if CONFIG_CODEC == MAS3587F |