summaryrefslogtreecommitdiff
path: root/firmware/sound.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/sound.c')
-rw-r--r--firmware/sound.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/firmware/sound.c b/firmware/sound.c
index 332cca02e8..9ab545f51d 100644
--- a/firmware/sound.c
+++ b/firmware/sound.c
@@ -84,6 +84,12 @@ static const struct sound_settings_info sound_settings_table[] = {
84 [SOUND_LEFT_GAIN] = {"dB", 1, 1, 0, 15, 8, NULL}, 84 [SOUND_LEFT_GAIN] = {"dB", 1, 1, 0, 15, 8, NULL},
85 [SOUND_RIGHT_GAIN] = {"dB", 1, 1, 0, 15, 8, NULL}, 85 [SOUND_RIGHT_GAIN] = {"dB", 1, 1, 0, 15, 8, NULL},
86 [SOUND_MIC_GAIN] = {"dB", 1, 1, 0, 15, 2, NULL}, 86 [SOUND_MIC_GAIN] = {"dB", 1, 1, 0, 15, 2, NULL},
87#elif defined(HAVE_UDA1380)
88 [SOUND_LEFT_GAIN] = {"dB", 1, 1, 0, 8, 8, NULL},
89 [SOUND_RIGHT_GAIN] = {"dB", 1, 1, 0, 8, 8, NULL},
90 [SOUND_MIC_GAIN] = {"dB", 1, 1, 0, 15, 2, NULL},
91 [SOUND_ADC_LEFT_GAIN] = {"dB", 1, 1,-128, 48, 0, NULL},
92 [SOUND_ADC_RIGHT_GAIN]= {"dB", 1, 1,-128, 48, 0, NULL},
87#endif 93#endif
88}; 94};
89 95
@@ -668,6 +674,30 @@ int sound_val2phys(int setting, int value)
668 break; 674 break;
669 } 675 }
670 return result; 676 return result;
677#elif defined(HAVE_UDA1380)
678 int result = 0;
679
680 switch(setting)
681 {
682 case SOUND_LEFT_GAIN:
683 case SOUND_RIGHT_GAIN:
684 result = value * 30; /* (24/8) *10 */
685 break;
686
687 case SOUND_MIC_GAIN:
688 result = value * 20; /* (30/15) *10 */
689 break;
690
691 case SOUND_ADC_LEFT_GAIN:
692 case SOUND_ADC_RIGHT_GAIN:
693 result = value * 5; /* (1/2) *10 */
694 break;
695
696 default:
697 result = value;
698 break;
699 }
700 return result;
671#else 701#else
672 (void)setting; 702 (void)setting;
673 return value; 703 return value;