From 17eca7bfa0cb7af7cf432463c772ff572ebb7018 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C3=ABl=20Carr=C3=A9?= Date: Mon, 29 Mar 2010 19:48:18 +0000 Subject: as3525v2: FM playback (only tested on Clip+) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25383 a1c6a512-1295-4272-9138-f99709370657 --- firmware/drivers/audio/as3514.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'firmware/drivers') diff --git a/firmware/drivers/audio/as3514.c b/firmware/drivers/audio/as3514.c index 14c6e43..11adddc 100644 --- a/firmware/drivers/audio/as3514.c +++ b/firmware/drivers/audio/as3514.c @@ -183,15 +183,16 @@ void audiohw_preinit(void) as3514_write(AS3514_LSP_OUT_L, LSP_OUT_L_SP_MUTE | 0x00); #else as3514_clear(AS3543_DAC_IF, 0x80); + as3514_set(AS3514_LINE_IN1_R, 1<<6); // Select Line-in 2 #endif - /* Set headphone over-current to 0, Min volume */ #if CONFIG_CPU != AS3525v2 + /* Set headphone over-current to 0, Min volume */ as3514_write(AS3514_HPH_OUT_R, HPH_OUT_R_HP_OVC_TO_0MS | 0x00); #else - as3514_write(AS3514_HPH_OUT_R, (0<<7) /* out */ | (1<<5) /* dac */ - | 0x1f /* vol */); + as3514_write(AS3514_HPH_OUT_R, (0<<7) /* out */ | HPH_OUT_R_HP_OUT_DAC | + 0x00); #endif /* Headphone ON, MUTE, Min volume */ as3514_write(AS3514_HPH_OUT_L, @@ -429,13 +430,23 @@ void audiohw_set_monitor(bool enable) LINE_IN1_R_LI1R_MUTE_off); as3514_set((LINE_INPUT == 1) ? AS3514_LINE_IN1_L : AS3514_LINE_IN2_L, LINE_IN1_L_LI1L_MUTE_off); + +#if CONFIG_CPU == AS3525v2 + as3514_write_masked(AS3514_HPH_OUT_R, + HPH_OUT_R_HP_OUT_LINE, HPH_OUT_R_HP_OUT_MASK); +#endif } else { /* turn off both LIN1 and LIN2 */ as3514_clear(AS3514_LINE_IN1_R, LINE_IN1_R_LI1R_MUTE_off); as3514_clear(AS3514_LINE_IN1_L, LINE_IN1_L_LI1L_MUTE_off); +#if CONFIG_CPU != AS3525v2 /* not in as3543 */ as3514_clear(AS3514_LINE_IN2_R, LINE_IN2_R_LI2R_MUTE_off); as3514_clear(AS3514_LINE_IN2_L, LINE_IN2_L_LI2L_MUTE_off); +#else + as3514_write_masked(AS3514_HPH_OUT_R, + HPH_OUT_R_HP_OUT_DAC, HPH_OUT_R_HP_OUT_MASK); +#endif as3514_clear(AS3514_AUDIOSET1, AUDIOSET1_LIN1_on | AUDIOSET1_LIN2_on); } } -- cgit v1.1