summaryrefslogtreecommitdiff
path: root/firmware/target
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target')
-rw-r--r--firmware/target/arm/audio-pp.c7
-rw-r--r--firmware/target/arm/system-pp502x.c10
-rw-r--r--firmware/target/coldfire/pcm-coldfire.c8
3 files changed, 18 insertions, 7 deletions
diff --git a/firmware/target/arm/audio-pp.c b/firmware/target/arm/audio-pp.c
index 603bbad5fe..82c5545a3f 100644
--- a/firmware/target/arm/audio-pp.c
+++ b/firmware/target/arm/audio-pp.c
@@ -40,7 +40,6 @@ void audio_set_source(int source, unsigned flags)
40 { 40 {
41 default: /* playback - no recording */ 41 default: /* playback - no recording */
42 source = AUDIO_SRC_PLAYBACK; 42 source = AUDIO_SRC_PLAYBACK;
43#ifdef HAVE_RECORDING
44 case AUDIO_SRC_PLAYBACK: 43 case AUDIO_SRC_PLAYBACK:
45 if (source != last_source) 44 if (source != last_source)
46 { 45 {
@@ -48,6 +47,7 @@ void audio_set_source(int source, unsigned flags)
48 audiohw_set_monitor(false); 47 audiohw_set_monitor(false);
49 } 48 }
50 break; 49 break;
50#ifdef HAVE_MIC_REC
51 case AUDIO_SRC_MIC: /* recording only */ 51 case AUDIO_SRC_MIC: /* recording only */
52 if (source != last_source) 52 if (source != last_source)
53 { 53 {
@@ -55,7 +55,8 @@ void audio_set_source(int source, unsigned flags)
55 audiohw_set_monitor(false); 55 audiohw_set_monitor(false);
56 } 56 }
57 break; 57 break;
58 58#endif
59#ifdef HAVE_LINEIN_REC
59 case AUDIO_SRC_LINEIN: /* recording only */ 60 case AUDIO_SRC_LINEIN: /* recording only */
60 if (source != last_source) 61 if (source != last_source)
61 { 62 {
@@ -64,7 +65,7 @@ void audio_set_source(int source, unsigned flags)
64 } 65 }
65 break; 66 break;
66#endif 67#endif
67#if CONFIG_TUNER 68#ifdef HAVE_FMRADIO_REC
68 case AUDIO_SRC_FMRADIO: /* recording and playback */ 69 case AUDIO_SRC_FMRADIO: /* recording and playback */
69 if (!recording) 70 if (!recording)
70 audiohw_set_recvol(0, 0, AUDIO_GAIN_LINEIN); 71 audiohw_set_recvol(0, 0, AUDIO_GAIN_LINEIN);
diff --git a/firmware/target/arm/system-pp502x.c b/firmware/target/arm/system-pp502x.c
index 1f2d27a7b7..0148f3d9de 100644
--- a/firmware/target/arm/system-pp502x.c
+++ b/firmware/target/arm/system-pp502x.c
@@ -62,6 +62,11 @@ extern void clickwheel_int(void);
62void irq(void) 62void irq(void)
63{ 63{
64 if(CURRENT_CORE == CPU) { 64 if(CURRENT_CORE == CPU) {
65 if (CPU_HI_INT_STAT)
66 {
67 gui_syncsplash(0, "%08X %08X", inl(0x6000414c), CPU_HI_INT_STAT);
68 }
69
65 if (CPU_INT_STAT & TIMER1_MASK) { 70 if (CPU_INT_STAT & TIMER1_MASK) {
66#ifdef SANSA_E200 71#ifdef SANSA_E200
67 if (GPIOF_INT_STAT & 0xff) 72 if (GPIOF_INT_STAT & 0xff)
@@ -239,6 +244,11 @@ void system_init(void)
239 CPU_INT_CLR = -1; 244 CPU_INT_CLR = -1;
240 INT_FORCED_CLR = -1; 245 INT_FORCED_CLR = -1;
241 246
247 outl(0, 0x6000414c);
248 outl(0, 0x60004144);
249
250// outl(0x80000, 0x6000414c);
251
242 GPIOA_INT_EN = 0; 252 GPIOA_INT_EN = 0;
243 GPIOB_INT_EN = 0; 253 GPIOB_INT_EN = 0;
244 GPIOC_INT_EN = 0; 254 GPIOC_INT_EN = 0;
diff --git a/firmware/target/coldfire/pcm-coldfire.c b/firmware/target/coldfire/pcm-coldfire.c
index b52e5e09b5..dc40dacf0e 100644
--- a/firmware/target/coldfire/pcm-coldfire.c
+++ b/firmware/target/coldfire/pcm-coldfire.c
@@ -22,7 +22,7 @@
22#include "logf.h" 22#include "logf.h"
23#include "audio.h" 23#include "audio.h"
24#include "sound.h" 24#include "sound.h"
25#if defined(HAVE_SPDIF_IN) || defined(HAVE_SPDIF_OUT) 25#if defined(HAVE_SPDIF_REC) || defined(HAVE_SPDIF_OUT)
26#include "spdif.h" 26#include "spdif.h"
27#endif 27#endif
28 28
@@ -276,7 +276,7 @@ void pcm_init(void)
276 audiohw_set_frequency(freq_ent[FPARM_FSEL]); 276 audiohw_set_frequency(freq_ent[FPARM_FSEL]);
277 coldfire_set_pllcr_audio_bits(PLLCR_SET_AUDIO_BITS_DEFPARM); 277 coldfire_set_pllcr_audio_bits(PLLCR_SET_AUDIO_BITS_DEFPARM);
278 278
279#if defined(HAVE_SPDIF_IN) || defined(HAVE_SPDIF_OUT) 279#if defined(HAVE_SPDIF_REC) || defined(HAVE_SPDIF_OUT)
280 spdif_init(); 280 spdif_init();
281#endif 281#endif
282 /* Enable interrupt at level 6, priority 0 */ 282 /* Enable interrupt at level 6, priority 0 */
@@ -365,7 +365,7 @@ void pcm_rec_dma_start(void *addr, size_t size)
365 _pcm_apply_settings(!is_playback_monitoring()); 365 _pcm_apply_settings(!is_playback_monitoring());
366 366
367 /* Start the DMA transfer.. */ 367 /* Start the DMA transfer.. */
368#ifdef HAVE_SPDIF_IN 368#ifdef HAVE_SPDIF_REC
369 /* clear: ebu1cnew, valnogood, symbolerr, parityerr */ 369 /* clear: ebu1cnew, valnogood, symbolerr, parityerr */
370 INTERRUPTCLEAR = (1 << 25) | (1 << 24) | (1 << 23) | (1 << 22); 370 INTERRUPTCLEAR = (1 << 25) | (1 << 24) | (1 << 23) | (1 << 22);
371#endif 371#endif
@@ -462,7 +462,7 @@ void DMA1(void)
462 logf(" DCR1: %08x", DCR1); 462 logf(" DCR1: %08x", DCR1);
463#endif 463#endif
464 } 464 }
465#ifdef HAVE_SPDIF_IN 465#ifdef HAVE_SPDIF_REC
466 else if (DATAINCONTROL == 0xc038 && 466 else if (DATAINCONTROL == 0xc038 &&
467 (INTERRUPTSTAT & ((1 << 24) | (1 << 23) | (1 << 22)))) 467 (INTERRUPTSTAT & ((1 << 24) | (1 << 23) | (1 << 22))))
468 { 468 {