From 69ea311398ed26797aec837f26b18c2e3e50744c Mon Sep 17 00:00:00 2001 From: Amaury Pouly Date: Sun, 21 Aug 2016 20:30:32 +0100 Subject: [PATCH] wm8758: document and fix audiohw settings It looks like a copy and paste error to me, those were completely wrong. Change-Id: Id6ae025f4216ffccb1a8b8b790916d8b6c4694bd --- firmware/drivers/audio/wm8758.c | 1 + firmware/export/wm8758.h | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/firmware/drivers/audio/wm8758.c b/firmware/drivers/audio/wm8758.c index 9ae78191bf..df90081354 100644 --- a/firmware/drivers/audio/wm8758.c +++ b/firmware/drivers/audio/wm8758.c @@ -305,6 +305,7 @@ void audiohw_disable_recording(void) wmcodec_write(PWRMGMT2, PWRMGMT2_ROUT1EN | PWRMGMT2_LOUT1EN); } +/* volume in 0 .. 63, corresponds to -12dB .. +35.25dB in 0.75dB steps */ void audiohw_set_recvol(int left, int right, int type) { switch (type) diff --git a/firmware/export/wm8758.h b/firmware/export/wm8758.h index db6dd083dd..d4194b90ee 100644 --- a/firmware/export/wm8758.h +++ b/firmware/export/wm8758.h @@ -32,9 +32,12 @@ AUDIOHW_SETTING(TREBLE, "dB", 0, 1, -12, 12, 0) AUDIOHW_SETTING(BASS_CUTOFF, "", 0, 1, 1, 4, 1) AUDIOHW_SETTING(TREBLE_CUTOFF, "", 0, 1, 1, 4, 1) #ifdef HAVE_RECORDING -AUDIOHW_SETTING(LEFT_GAIN, "dB", 1, 1, 0, 63, 16, ((val - 23) * 15) / 2 + 200) -AUDIOHW_SETTING(RIGHT_GAIN, "dB", 1, 1, 0, 63, 16, ((val - 23) * 15) / 2 + 200) -AUDIOHW_SETTING(MIC_GAIN, "dB", 1, 1, 0, 63, 16, ((val - 23) * 15) / 2 + 200) +/* The input PGAs have a gain range from -12dB to +35.25dB in 0.75dB steps + * Values: 0, 1, ..., 63 + * => -12dB, -11.25dB, ..., 35.25dB */ +AUDIOHW_SETTING(LEFT_GAIN, "dB", 1, 1, 0, 63, 16, ((val) * 15) / 2 - 120) +AUDIOHW_SETTING(RIGHT_GAIN, "dB", 1, 1, 0, 63, 16, ((val) * 15) / 2 - 120) +AUDIOHW_SETTING(MIC_GAIN, "dB", 1, 1, 0, 63, 16, ((val) * 15) / 2 - 120) #endif /* HAVE_RECORDING */ void audiohw_enable_lineout(bool enable);