summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/drivers/audio/as3514.c12
-rw-r--r--firmware/export/as3514.h6
2 files changed, 7 insertions, 11 deletions
diff --git a/firmware/drivers/audio/as3514.c b/firmware/drivers/audio/as3514.c
index a996610899..d9ff94a95e 100644
--- a/firmware/drivers/audio/as3514.c
+++ b/firmware/drivers/audio/as3514.c
@@ -190,7 +190,7 @@ void audiohw_preinit(void)
190#endif 190#endif
191 191
192#ifdef HAVE_AS3543 192#ifdef HAVE_AS3543
193 as3514_clear(AS3543_DAC_IF, 0x80); 193 as3514_write(AS3543_DAC_IF, AS3543_DAC_INT_PLL);
194 as3514_set(AS3514_LINE_IN1_R, LINE_IN_R_LINE_SELECT); /* Line 2 */ 194 as3514_set(AS3514_LINE_IN1_R, LINE_IN_R_LINE_SELECT); /* Line 2 */
195#else 195#else
196 /* Mute and disable speaker */ 196 /* Mute and disable speaker */
@@ -284,15 +284,9 @@ void audiohw_mute(bool mute)
284{ 284{
285 if (mute) { 285 if (mute) {
286 as3514_set(AS3514_HPH_OUT_L, HPH_OUT_L_HP_MUTE); 286 as3514_set(AS3514_HPH_OUT_L, HPH_OUT_L_HP_MUTE);
287#ifdef HAVE_AS3543
288 as3514_set(AS3543_DAC_IF, 0x80);
289#endif
290 287
291 } else { 288 } else {
292 as3514_clear(AS3514_HPH_OUT_L, HPH_OUT_L_HP_MUTE); 289 as3514_clear(AS3514_HPH_OUT_L, HPH_OUT_L_HP_MUTE);
293#ifdef HAVE_AS3543
294 as3514_clear(AS3543_DAC_IF, 0x80);
295#endif
296 } 290 }
297} 291}
298 292
@@ -313,10 +307,6 @@ void audiohw_close(void)
313 as3514_clear(AS3514_HPH_OUT_L, HPH_OUT_L_HP_ON); 307 as3514_clear(AS3514_HPH_OUT_L, HPH_OUT_L_HP_ON);
314 as3514_write(AS3514_AUDIOSET1, 0x0); 308 as3514_write(AS3514_AUDIOSET1, 0x0);
315 309
316#ifdef HAVE_AS3543
317 as3514_set(AS3543_DAC_IF, 0x80);
318#endif
319
320 /* Allow caps to discharge */ 310 /* Allow caps to discharge */
321 sleep(HZ/4); 311 sleep(HZ/4);
322} 312}
diff --git a/firmware/export/as3514.h b/firmware/export/as3514.h
index 2db28397f1..40bf512517 100644
--- a/firmware/export/as3514.h
+++ b/firmware/export/as3514.h
@@ -222,6 +222,12 @@ extern void audiohw_set_lineout_vol(int vol_l, int vol_r);
222#endif 222#endif
223/* Use AS3514_VOL_MASK */ 223/* Use AS3514_VOL_MASK */
224 224
225/* DAC_IF (11h) */
226#ifdef HAVE_AS3543
227#define AS3543_DAC_INT_PLL (0x0 << 7)
228#define AS3543_DAC_EXT_MCLK (0x1 << 7)
229#endif
230
225/* AUDIOSET1 (14h)*/ 231/* AUDIOSET1 (14h)*/
226#define AUDIOSET1_ADC_on (0x1 << 7) 232#define AUDIOSET1_ADC_on (0x1 << 7)
227#define AUDIOSET1_SUM_on (0x1 << 6) 233#define AUDIOSET1_SUM_on (0x1 << 6)