diff options
Diffstat (limited to 'firmware/target')
-rw-r--r-- | firmware/target/arm/gigabeat/meg-fx/wmcodec-meg-fx.c | 4 | ||||
-rw-r--r-- | firmware/target/arm/wmcodec-pp.c | 4 | ||||
-rw-r--r-- | firmware/target/coldfire/pcm-coldfire.c | 22 |
3 files changed, 12 insertions, 18 deletions
diff --git a/firmware/target/arm/gigabeat/meg-fx/wmcodec-meg-fx.c b/firmware/target/arm/gigabeat/meg-fx/wmcodec-meg-fx.c index fd023e1be0..fe42b7527a 100644 --- a/firmware/target/arm/gigabeat/meg-fx/wmcodec-meg-fx.c +++ b/firmware/target/arm/gigabeat/meg-fx/wmcodec-meg-fx.c | |||
@@ -61,6 +61,10 @@ int audiohw_init(void) { | |||
61 | return 0; | 61 | return 0; |
62 | } | 62 | } |
63 | 63 | ||
64 | void audiohw_postinit(void) | ||
65 | { | ||
66 | } | ||
67 | |||
64 | void wmcodec_write(int reg, int data) | 68 | void wmcodec_write(int reg, int data) |
65 | { | 69 | { |
66 | i2c_send(0x34, (reg<<1) | ((data&0x100)>>8), data&0xff); | 70 | i2c_send(0x34, (reg<<1) | ((data&0x100)>>8), data&0xff); |
diff --git a/firmware/target/arm/wmcodec-pp.c b/firmware/target/arm/wmcodec-pp.c index e252cf0ac1..505a31deb4 100644 --- a/firmware/target/arm/wmcodec-pp.c +++ b/firmware/target/arm/wmcodec-pp.c | |||
@@ -92,6 +92,10 @@ int audiohw_init(void) { | |||
92 | return 0; | 92 | return 0; |
93 | } | 93 | } |
94 | 94 | ||
95 | void audiohw_postinit(void) | ||
96 | { | ||
97 | } | ||
98 | |||
95 | void wmcodec_write(int reg, int data) | 99 | void wmcodec_write(int reg, int data) |
96 | { | 100 | { |
97 | pp_i2c_send(I2C_AUDIO_ADDRESS, (reg<<1) | ((data&0x100)>>8),data&0xff); | 101 | pp_i2c_send(I2C_AUDIO_ADDRESS, (reg<<1) | ((data&0x100)>>8),data&0xff); |
diff --git a/firmware/target/coldfire/pcm-coldfire.c b/firmware/target/coldfire/pcm-coldfire.c index ef847004ce..720c77e434 100644 --- a/firmware/target/coldfire/pcm-coldfire.c +++ b/firmware/target/coldfire/pcm-coldfire.c | |||
@@ -255,6 +255,10 @@ void pcm_init(void) | |||
255 | pcm_play_dma_stop(); | 255 | pcm_play_dma_stop(); |
256 | /* Call pcm_close_recording to put in closed state */ | 256 | /* Call pcm_close_recording to put in closed state */ |
257 | pcm_close_recording(); | 257 | pcm_close_recording(); |
258 | |||
259 | /* Initialize default register values. */ | ||
260 | audiohw_init(); | ||
261 | |||
258 | audio_set_output_source(AUDIO_SRC_PLAYBACK); | 262 | audio_set_output_source(AUDIO_SRC_PLAYBACK); |
259 | audio_set_source(AUDIO_SRC_PLAYBACK, SRCF_PLAYBACK); | 263 | audio_set_source(AUDIO_SRC_PLAYBACK, SRCF_PLAYBACK); |
260 | pcm_set_frequency(HW_FREQ_DEFAULT); | 264 | pcm_set_frequency(HW_FREQ_DEFAULT); |
@@ -264,24 +268,6 @@ void pcm_init(void) | |||
264 | #if defined(HAVE_SPDIF_IN) || defined(HAVE_SPDIF_OUT) | 268 | #if defined(HAVE_SPDIF_IN) || defined(HAVE_SPDIF_OUT) |
265 | spdif_init(); | 269 | spdif_init(); |
266 | #endif | 270 | #endif |
267 | |||
268 | /* Initialize default register values. */ | ||
269 | audiohw_init(); | ||
270 | |||
271 | #if defined(HAVE_UDA1380) | ||
272 | /* Sleep a while so the power can stabilize (especially a long | ||
273 | delay is needed for the line out connector). */ | ||
274 | sleep(HZ); | ||
275 | /* Power on FSDAC and HP amp. */ | ||
276 | audiohw_enable_output(true); | ||
277 | #elif defined(HAVE_TLV320) | ||
278 | sleep(HZ/4); | ||
279 | #endif | ||
280 | |||
281 | /* UDA1380: Unmute the master channel | ||
282 | (DAC should be at zero point now). */ | ||
283 | audiohw_mute(false); | ||
284 | |||
285 | /* Enable interrupt at level 6, priority 0 */ | 271 | /* Enable interrupt at level 6, priority 0 */ |
286 | ICR6 = (6 << 2); | 272 | ICR6 = (6 << 2); |
287 | and_l(~(1 << 14), &IMR); /* bit 14 is DMA0 */ | 273 | and_l(~(1 << 14), &IMR); /* bit 14 is DMA0 */ |