summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2016-08-21 20:31:55 +0100
committerAmaury Pouly <amaury.pouly@gmail.com>2016-12-12 13:13:13 +0100
commit4d526df7ac7132afe91292f3821ae46853fa9984 (patch)
tree628f484814189ddd023f405cfd26bd2c82e7a8c5 /firmware
parent69ea311398ed26797aec837f26b18c2e3e50744c (diff)
wm8975: document audiohw settings
Change-Id: I0456f85e4ebc821c23e25026fbee3d8cf7526ee7
Diffstat (limited to 'firmware')
-rw-r--r--firmware/drivers/audio/wm8975.c2
-rw-r--r--firmware/export/wm8975.h5
2 files changed, 7 insertions, 0 deletions
diff --git a/firmware/drivers/audio/wm8975.c b/firmware/drivers/audio/wm8975.c
index 88be2cf5ce..a1af1331f2 100644
--- a/firmware/drivers/audio/wm8975.c
+++ b/firmware/drivers/audio/wm8975.c
@@ -296,6 +296,8 @@ void audiohw_disable_recording(void)
wm8975_write(PWRMGMT1, wm8975_regs[PWRMGMT1]);
}
+/* volume in 0 .. 63, corresponds to -17.25dB .. 30dB in steps of 0.75dB
+ * microphone has an extra 20dB boost so 0 .. 63 corresponds to 2.75dB .. 50dB */
void audiohw_set_recvol(int left, int right, int type)
{
switch (type)
diff --git a/firmware/export/wm8975.h b/firmware/export/wm8975.h
index cdae7af865..b8ef17910c 100644
--- a/firmware/export/wm8975.h
+++ b/firmware/export/wm8975.h
@@ -29,8 +29,13 @@ AUDIOHW_SETTING(VOLUME, "dB", 0, 1, -74, 6, -25)
AUDIOHW_SETTING(BASS, "dB", 0, 1, -6, 9, 0)
AUDIOHW_SETTING(TREBLE, "dB", 0, 1, -6, 9, 0)
#ifdef HAVE_RECORDING
+/* The input PGAs have a gain range from -17.25dB .. 30dB in steps of 0.75dB
+ * Values: 0, 1, ..., 63
+ * => -17.25, -16.5dB, ..., 30.0dB */
AUDIOHW_SETTING(LEFT_GAIN, "dB", 1, 1, 0, 63, 23, ((val - 23) * 15) / 2)
AUDIOHW_SETTING(RIGHT_GAIN, "dB", 1, 1, 0, 63, 23, ((val - 23) * 15) / 2)
+/* The microphone has an extra 20dB boost before the input PGA so 0 .. 63
+ * corresponds to 2.75dB .. 50dB */
AUDIOHW_SETTING(MIC_GAIN, "dB", 1, 1, 0, 63, 0, ((val - 23) * 15) / 2 + 200)
#endif /* HAVE_RECORDING */