summaryrefslogtreecommitdiff
path: root/firmware/drivers/audio
diff options
context:
space:
mode:
authorAndree Buschmann <AndreeBuschmann@t-online.de>2010-03-20 15:02:29 +0000
committerAndree Buschmann <AndreeBuschmann@t-online.de>2010-03-20 15:02:29 +0000
commitb6c12a129e22dadff4be67e5b0fe8993c888d6d8 (patch)
treeee6e855a5d998e3c5bae6d74a86641f3d01ebd50 /firmware/drivers/audio
parent181e0e0878aac10dd9a6651842fbb59c4fed7a9b (diff)
downloadrockbox-b6c12a129e22dadff4be67e5b0fe8993c888d6d8.tar.gz
rockbox-b6c12a129e22dadff4be67e5b0fe8993c888d6d8.zip
Submit FS#11065. Introduce a new system setting for en-/disabling the Line-out. For now only implemented on iPod Video. This allows to save power if the user does not use the player's Line-out. On iPod 5G the saving is ~0.5 mA.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25257 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/drivers/audio')
-rw-r--r--firmware/drivers/audio/wm8758.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/firmware/drivers/audio/wm8758.c b/firmware/drivers/audio/wm8758.c
index 715c921e33..40ead0cdf2 100644
--- a/firmware/drivers/audio/wm8758.c
+++ b/firmware/drivers/audio/wm8758.c
@@ -181,6 +181,23 @@ void audiohw_set_lineout_vol(int vol_l, int vol_r)
181 wmcodec_write(ROUT2VOL, amp_r | ROUT2VOL_ROUT2ZC | ROUT2VOL_OUT2VU); 181 wmcodec_write(ROUT2VOL, amp_r | ROUT2VOL_ROUT2ZC | ROUT2VOL_OUT2VU);
182} 182}
183 183
184void audiohw_enable_lineout(bool enable)
185{
186 if (enable)
187 {
188 /* include enabling of OUT2 */
189 wmcodec_write(PWRMGMT3, PWRMGMT3_LOUT2EN | PWRMGMT3_ROUT2EN
190 | PWRMGMT3_RMIXEN | PWRMGMT3_LMIXEN
191 | PWRMGMT3_DACENR | PWRMGMT3_DACENL);
192 }
193 else
194 {
195 /* exclude enabling of OUT2 */
196 wmcodec_write(PWRMGMT3, PWRMGMT3_RMIXEN | PWRMGMT3_LMIXEN
197 | PWRMGMT3_DACENR | PWRMGMT3_DACENL);
198 }
199}
200
184void audiohw_set_bass(int value) 201void audiohw_set_bass(int value)
185{ 202{
186 eq1_reg = (eq1_reg & ~EQ_GAIN_MASK) | EQ_GAIN_VALUE(value); 203 eq1_reg = (eq1_reg & ~EQ_GAIN_MASK) | EQ_GAIN_VALUE(value);