summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'firmware')
-rw-r--r--firmware/drivers/wm8758.c5
-rw-r--r--firmware/drivers/wm8975.c5
-rw-r--r--firmware/export/wm8758.h1
-rw-r--r--firmware/export/wm8975.h1
-rw-r--r--firmware/sound.c4
5 files changed, 16 insertions, 0 deletions
diff --git a/firmware/drivers/wm8758.c b/firmware/drivers/wm8758.c
index 3867748417..e99711066a 100644
--- a/firmware/drivers/wm8758.c
+++ b/firmware/drivers/wm8758.c
@@ -148,6 +148,11 @@ int wmcodec_set_master_vol(int vol_l, int vol_r)
148 wm8758_write(LOUT1VOL, vol_l); 148 wm8758_write(LOUT1VOL, vol_l);
149 wm8758_write(ROUT1VOL, 0x100 | vol_r); 149 wm8758_write(ROUT1VOL, 0x100 | vol_r);
150 150
151 return 0;
152}
153
154int wmcodec_set_lineout_vol(int vol_l, int vol_r)
155{
151 /* OUT2 */ 156 /* OUT2 */
152 wm8758_write(LOUT2VOL, vol_l); 157 wm8758_write(LOUT2VOL, vol_l);
153 wm8758_write(ROUT2VOL, 0x100 | vol_r); 158 wm8758_write(ROUT2VOL, 0x100 | vol_r);
diff --git a/firmware/drivers/wm8975.c b/firmware/drivers/wm8975.c
index 51c12f1505..64a123b883 100644
--- a/firmware/drivers/wm8975.c
+++ b/firmware/drivers/wm8975.c
@@ -176,6 +176,11 @@ int wmcodec_set_master_vol(int vol_l, int vol_r)
176 wm8975_write(LOUT1VOL, vol_l); 176 wm8975_write(LOUT1VOL, vol_l);
177 wm8975_write(ROUT1VOL, 0x100 | vol_r); 177 wm8975_write(ROUT1VOL, 0x100 | vol_r);
178 178
179 return 0;
180}
181
182int wmcodec_set_lineout_vol(int vol_l, int vol_r)
183{
179 /* OUT2 */ 184 /* OUT2 */
180 wm8975_write(LOUT2VOL, vol_l); 185 wm8975_write(LOUT2VOL, vol_l);
181 wm8975_write(ROUT2VOL, 0x100 | vol_r); 186 wm8975_write(ROUT2VOL, 0x100 | vol_r);
diff --git a/firmware/export/wm8758.h b/firmware/export/wm8758.h
index adc17f86d7..13eccb9763 100644
--- a/firmware/export/wm8758.h
+++ b/firmware/export/wm8758.h
@@ -24,6 +24,7 @@ extern void wmcodec_reset(void);
24extern int wmcodec_init(void); 24extern int wmcodec_init(void);
25extern void wmcodec_enable_output(bool enable); 25extern void wmcodec_enable_output(bool enable);
26extern int wmcodec_set_master_vol(int vol_l, int vol_r); 26extern int wmcodec_set_master_vol(int vol_l, int vol_r);
27extern int wmcodec_set_lineout_vol(int vol_l, int vol_r);
27extern int wmcodec_set_mixer_vol(int channel1, int channel2); 28extern int wmcodec_set_mixer_vol(int channel1, int channel2);
28extern void wmcodec_set_bass(int value); 29extern void wmcodec_set_bass(int value);
29extern void wmcodec_set_treble(int value); 30extern void wmcodec_set_treble(int value);
diff --git a/firmware/export/wm8975.h b/firmware/export/wm8975.h
index 4d575c3d90..a6769390c0 100644
--- a/firmware/export/wm8975.h
+++ b/firmware/export/wm8975.h
@@ -24,6 +24,7 @@ extern void wmcodec_reset(void);
24extern int wmcodec_init(void); 24extern int wmcodec_init(void);
25extern void wmcodec_enable_output(bool enable); 25extern void wmcodec_enable_output(bool enable);
26extern int wmcodec_set_master_vol(int vol_l, int vol_r); 26extern int wmcodec_set_master_vol(int vol_l, int vol_r);
27extern int wmcodec_set_lineout_vol(int vol_l, int vol_r);
27extern int wmcodec_set_mixer_vol(int channel1, int channel2); 28extern int wmcodec_set_mixer_vol(int channel1, int channel2);
28extern void wmcodec_set_bass(int value); 29extern void wmcodec_set_bass(int value);
29extern void wmcodec_set_treble(int value); 30extern void wmcodec_set_treble(int value);
diff --git a/firmware/sound.c b/firmware/sound.c
index a3eb6da8a8..88412c4094 100644
--- a/firmware/sound.c
+++ b/firmware/sound.c
@@ -453,6 +453,10 @@ static void set_prescaled_volume(void)
453 uda1380_set_master_vol(tenthdb2master(l), tenthdb2master(r)); 453 uda1380_set_master_vol(tenthdb2master(l), tenthdb2master(r));
454#elif defined(HAVE_WM8975) || defined(HAVE_WM8758) || defined(HAVE_WM8731) 454#elif defined(HAVE_WM8975) || defined(HAVE_WM8758) || defined(HAVE_WM8731)
455 wmcodec_set_master_vol(tenthdb2master(l), tenthdb2master(r)); 455 wmcodec_set_master_vol(tenthdb2master(l), tenthdb2master(r));
456#if defined(HAVE_WM8975) || defined(HAVE_WM8758)
457 wmcodec_set_lineout_vol(tenthdb2master(0), tenthdb2master(0));
458#endif
459
456#endif 460#endif
457} 461}
458#endif /* (CONFIG_CODEC == MAS3507D) || defined HAVE_UDA1380 */ 462#endif /* (CONFIG_CODEC == MAS3507D) || defined HAVE_UDA1380 */