summaryrefslogtreecommitdiff
path: root/firmware/export/wm8751.h
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/export/wm8751.h')
-rw-r--r--firmware/export/wm8751.h38
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) 33AUDIOHW_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
38extern 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 */
41AUDIOHW_SETTING(LEFT_GAIN, "dB", 2, 75,-1725, 6000, 0, val * 5)
42AUDIOHW_SETTING(RIGHT_GAIN, "dB", 2, 75,-1725, 6000, 0, val * 5)
43AUDIOHW_SETTING(MIC_GAIN, "dB", 2, 75,-1725, 6000, 3000, val * 5)
39 44
40extern void audiohw_set_master_vol(int vol_l, int vol_r);
41extern void audiohw_set_lineout_vol(int vol_l, int vol_r);
42#if defined(HAVE_WM8750) && defined(HAVE_RECORDING)
43void audiohw_set_recsrc(int source, bool recording); 45void 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
53AUDIOHW_SETTING(VOLUME, "dB", 0, 1, -74, 6, -25)
54AUDIOHW_SETTING(BASS, "dB", 1, 15, -60, 90, 0)
55AUDIOHW_SETTING(TREBLE, "dB", 1, 15, -60, 90, 0)
56AUDIOHW_SETTING(BASS_CUTOFF, "Hz", 0, 70, 130, 200, 200)
57AUDIOHW_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 */