diff options
Diffstat (limited to 'firmware/drivers/as3514.c')
-rw-r--r-- | firmware/drivers/as3514.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/firmware/drivers/as3514.c b/firmware/drivers/as3514.c index 672087dbd0..643351623f 100644 --- a/firmware/drivers/as3514.c +++ b/firmware/drivers/as3514.c | |||
@@ -144,16 +144,21 @@ void audiohw_postinit(void) | |||
144 | /* Silently enable / disable audio output */ | 144 | /* Silently enable / disable audio output */ |
145 | void audiohw_enable_output(bool enable) | 145 | void audiohw_enable_output(bool enable) |
146 | { | 146 | { |
147 | |||
148 | int curr; | ||
149 | |||
150 | curr = as3514_regs[HPH_OUT_L]; | ||
151 | |||
147 | if (enable) | 152 | if (enable) |
148 | { | 153 | { |
149 | /* reset the I2S controller into known state */ | 154 | /* reset the I2S controller into known state */ |
150 | i2s_reset(); | 155 | i2s_reset(); |
151 | 156 | ||
152 | as3514_write(HPH_OUT_L, 0xc0); /* Mute off, power on */ | 157 | as3514_write(HPH_OUT_L, curr | 0xc0); /* Mute off, power on */ |
153 | audiohw_mute(0); | 158 | audiohw_mute(0); |
154 | } else { | 159 | } else { |
155 | audiohw_mute(1); | 160 | audiohw_mute(1); |
156 | as3514_write(HPH_OUT_L, 0x80); /* Mute on, power off */ | 161 | as3514_write(HPH_OUT_L, curr | 0x80); /* Mute on, power off */ |
157 | } | 162 | } |
158 | } | 163 | } |
159 | 164 | ||