diff options
Diffstat (limited to 'firmware/export/tlv320.h')
-rw-r--r-- | firmware/export/tlv320.h | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/firmware/export/tlv320.h b/firmware/export/tlv320.h index 66f4d5ca92..99359f72ce 100644 --- a/firmware/export/tlv320.h +++ b/firmware/export/tlv320.h | |||
@@ -25,15 +25,33 @@ | |||
25 | #define VOLUME_MIN -730 | 25 | #define VOLUME_MIN -730 |
26 | #define VOLUME_MAX 60 | 26 | #define VOLUME_MAX 60 |
27 | 27 | ||
28 | extern int tenthdb2master(int db); | 28 | #define AUDIOHW_CAPS (LIN_GAIN_CAP | MIC_GAIN_CAP) |
29 | |||
30 | AUDIOHW_SETTING(VOLUME, "dB", 0, 1, -74, 6, -20) | ||
31 | #ifdef HAVE_RECORDING | ||
32 | /* (x - 23)/1.5 *10 */ | ||
33 | AUDIOHW_SETTING(LEFT_GAIN, "dB", 1, 1, 0, 31, 23, (val - 23) * 15) | ||
34 | AUDIOHW_SETTING(RIGHT_GAIN, "dB", 1, 1, 0, 31, 23, (val - 23) * 15) | ||
35 | /* 0 or 20 dB */ | ||
36 | AUDIOHW_SETTING(MIC_GAIN, "dB", 1, 1, 0, 1, 1, val * 200) | ||
37 | #endif /* HAVE_RECORDING */ | ||
38 | |||
39 | static inline int _param_2_phys(int setting, int value) | ||
40 | { | ||
41 | switch(setting) | ||
42 | { | ||
43 | default: return value; | ||
44 | #ifdef HAVE_RECORDING | ||
45 | case SOUND_LEFT_GAIN: | ||
46 | case SOUND_RIGHT_GAIN: return (value - 23) * 15; | ||
47 | case SOUND_MIC_GAIN: return value * 200; /* 0 or 20 dB */ | ||
48 | #endif | ||
49 | } | ||
50 | } | ||
29 | 51 | ||
30 | /*** definitions ***/ | 52 | /*** definitions ***/ |
31 | extern void audiohw_set_headphone_vol(int vol_l, int vol_r); | ||
32 | |||
33 | #define HEADPHONE_MUTE 0x30 /* 0110000 = -73db */ | 53 | #define HEADPHONE_MUTE 0x30 /* 0110000 = -73db */ |
34 | 54 | ||
35 | /* ToDo: samplerates */ | ||
36 | |||
37 | /* registers */ | 55 | /* registers */ |
38 | /* REG_LLIV: Left line input channel volume control */ | 56 | /* REG_LLIV: Left line input channel volume control */ |
39 | #define REG_LLIV 0x0 | 57 | #define REG_LLIV 0x0 |