diff options
Diffstat (limited to 'firmware/export/wm8751.h')
-rw-r--r-- | firmware/export/wm8751.h | 38 |
1 files changed, 26 insertions, 12 deletions
diff --git a/firmware/export/wm8751.h b/firmware/export/wm8751.h index 3bbf744463..6e7bb245dd 100644 --- a/firmware/export/wm8751.h +++ b/firmware/export/wm8751.h | |||
@@ -25,23 +25,36 @@ | |||
25 | #define VOLUME_MIN -730 | 25 | #define VOLUME_MIN -730 |
26 | #define VOLUME_MAX 60 | 26 | #define VOLUME_MAX 60 |
27 | 27 | ||
28 | #if defined(HAVE_WM8750) | ||
29 | #define AUDIOHW_CAPS (BASS_CAP | TREBLE_CAP | PRESCALER_CAP | \ | 28 | #define AUDIOHW_CAPS (BASS_CAP | TREBLE_CAP | PRESCALER_CAP | \ |
30 | BASS_CUTOFF_CAP | TREBLE_CUTOFF_CAP | \ | 29 | BASS_CUTOFF_CAP | TREBLE_CUTOFF_CAP | \ |
31 | DEPTH_3D_CAP) | 30 | DEPTH_3D_CAP | LIN_GAIN_CAP | MIC_GAIN_CAP) |
32 | #else | ||
33 | 31 | ||
34 | #define AUDIOHW_CAPS (BASS_CAP | TREBLE_CAP | PRESCALER_CAP | \ | 32 | #if defined(HAVE_WM8750) |
35 | BASS_CUTOFF_CAP | TREBLE_CUTOFF_CAP) | 33 | AUDIOHW_SETTING(DEPTH_3D, "%", 0, 1, 0, 15, 0, (100 * val + 8) / 15) |
36 | #endif | 34 | #ifdef HAVE_RECORDING |
37 | 35 | /* PGA -17.25dB to 30.0dB in 0.75dB increments 64 steps | |
38 | extern int tenthdb2master(int db); | 36 | * digital gain 0dB to 30.0dB in 0.5dB increments |
37 | * we use 0.75dB fake steps through whole range | ||
38 | * | ||
39 | * This combined gives -17.25 to 60.0dB | ||
40 | */ | ||
41 | AUDIOHW_SETTING(LEFT_GAIN, "dB", 2, 75,-1725, 6000, 0, val * 5) | ||
42 | AUDIOHW_SETTING(RIGHT_GAIN, "dB", 2, 75,-1725, 6000, 0, val * 5) | ||
43 | AUDIOHW_SETTING(MIC_GAIN, "dB", 2, 75,-1725, 6000, 3000, val * 5) | ||
39 | 44 | ||
40 | extern void audiohw_set_master_vol(int vol_l, int vol_r); | ||
41 | extern void audiohw_set_lineout_vol(int vol_l, int vol_r); | ||
42 | #if defined(HAVE_WM8750) && defined(HAVE_RECORDING) | ||
43 | void audiohw_set_recsrc(int source, bool recording); | 45 | void audiohw_set_recsrc(int source, bool recording); |
44 | #endif | 46 | #endif /* HAVE_RECORDING */ |
47 | #else /* !HAVE_WM8750 */ | ||
48 | #define AUDIOHW_CAPS (BASS_CAP | TREBLE_CAP | PRESCALER_CAP | \ | ||
49 | BASS_CUTOFF_CAP | TREBLE_CUTOFF_CAP | \ | ||
50 | LINEOUT_CAP) | ||
51 | #endif /* HAVE_WM8750 */ | ||
52 | |||
53 | AUDIOHW_SETTING(VOLUME, "dB", 0, 1, -74, 6, -25) | ||
54 | AUDIOHW_SETTING(BASS, "dB", 1, 15, -60, 90, 0) | ||
55 | AUDIOHW_SETTING(TREBLE, "dB", 1, 15, -60, 90, 0) | ||
56 | AUDIOHW_SETTING(BASS_CUTOFF, "Hz", 0, 70, 130, 200, 200) | ||
57 | AUDIOHW_SETTING(TREBLE_CUTOFF, "kHz", 0, 4, 4, 8, 4) | ||
45 | 58 | ||
46 | /* Register addresses and bits */ | 59 | /* Register addresses and bits */ |
47 | #define OUTPUT_MUTED 0x2f | 60 | #define OUTPUT_MUTED 0x2f |
@@ -348,4 +361,5 @@ void audiohw_set_recsrc(int source, bool recording); | |||
348 | #define MONOOUT_MOZC (1 << 7) | 361 | #define MONOOUT_MOZC (1 << 7) |
349 | 362 | ||
350 | #define WM_NUM_REGS 0x2b | 363 | #define WM_NUM_REGS 0x2b |
364 | |||
351 | #endif /* _WM8751_H */ | 365 | #endif /* _WM8751_H */ |