summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Kurbjun <kkurbjun@gmail.com>2008-05-10 19:43:23 +0000
committerKarl Kurbjun <kkurbjun@gmail.com>2008-05-10 19:43:23 +0000
commit66010b9f306cc4cdb98ec10ba3e5f45476e76690 (patch)
treee5aa8e967c56b8ff9343add89d6c5feddc967108
parent1ec35841d61fc19cfcdf0589ffd9c79efc26ee30 (diff)
downloadrockbox-66010b9f306cc4cdb98ec10ba3e5f45476e76690.zip
rockbox-66010b9f306cc4cdb98ec10ba3e5f45476e76690.tar.gz
rockbox-66010b9f306cc4cdb98ec10ba3e5f45476e76690.tar.bz2
rockbox-66010b9f306cc4cdb98ec10ba3e5f45476e76690.tar.xz
Fix high power consumption at powerup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17445 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/target/arm/s3c2440/gigabeat-fx/pcm-meg-fx.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/firmware/target/arm/s3c2440/gigabeat-fx/pcm-meg-fx.c b/firmware/target/arm/s3c2440/gigabeat-fx/pcm-meg-fx.c
index 6014f4d..602083e 100644
--- a/firmware/target/arm/s3c2440/gigabeat-fx/pcm-meg-fx.c
+++ b/firmware/target/arm/s3c2440/gigabeat-fx/pcm-meg-fx.c
@@ -89,12 +89,19 @@ void pcm_play_dma_init(void)
{
pcm_set_frequency(SAMPR_44);
- /* slave */
- IISMOD |= (1<<8);
+ /* There seem to be problems when changing the IIS interface configuration
+ * when a clock is not present.
+ */
+ s3c_regset(&CLKCON, 1<<17);
+ /* slave, transmit mode, 16 bit samples - MCLK 384fs - use 16.9344Mhz -
+ BCLK 32fs */
+ IISMOD = (1<<9) | (1<<8) | (2<<6) | (1<<3) | (1<<2) | (1<<0);
- /* RX,TX off,idle */
+ /* RX,TX off,on */
IISCON |= (1<<3) | (1<<2);
+ s3c_regclr(&CLKCON, 1<<17);
+
audiohw_init();
/* init GPIO */
@@ -183,10 +190,6 @@ void pcm_play_dma_start(const void *addr, size_t size)
/* stop any DMA in progress - idle IIS */
play_stop_pcm();
- /* slave, transmit mode, 16 bit samples - MCLK 384fs - use 16.9344Mhz -
- BCLK 32fs */
- IISMOD = (1<<9) | (1<<8) | (2<<6) | (1<<3) | (1<<2) | (1<<0);
-
/* connect DMA to the FIFO and enable the FIFO */
IISFCON = (1<<15) | (1<<13);