diff options
| author | Marcin Bukat <marcin.bukat@gmail.com> | 2011-11-05 14:01:22 +0000 |
|---|---|---|
| committer | Marcin Bukat <marcin.bukat@gmail.com> | 2011-11-05 14:01:22 +0000 |
| commit | f4b74b269af2f70a1b74715888b64b61dc73eff6 (patch) | |
| tree | 2e4c8a26fc6488cbc14942f4ada168d3dbf914f0 | |
| parent | 9310fc0b4c78eff371101088ea31d62cf35bfb76 (diff) | |
| download | rockbox-f4b74b269af2f70a1b74715888b64b61dc73eff6.zip rockbox-f4b74b269af2f70a1b74715888b64b61dc73eff6.tar.gz rockbox-f4b74b269af2f70a1b74715888b64b61dc73eff6.tar.bz2 rockbox-f4b74b269af2f70a1b74715888b64b61dc73eff6.tar.xz | |
MPIO HD300: vastly improve sound quality. This unfortunately means reverting r28797 which introduced poping noise
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30904 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | firmware/drivers/audio/wm8751.c | 26 | ||||
| -rw-r--r-- | firmware/target/coldfire/mpio/hd300/lcd-hd300.c | 21 |
2 files changed, 17 insertions, 30 deletions
diff --git a/firmware/drivers/audio/wm8751.c b/firmware/drivers/audio/wm8751.c index c37341e..ca62f69 100644 --- a/firmware/drivers/audio/wm8751.c +++ b/firmware/drivers/audio/wm8751.c @@ -219,20 +219,22 @@ static void audiohw_mute(bool mute) /* Reset and power up the WM8751 */ void audiohw_preinit(void) { -#ifdef MROBE_100 +#if defined(MROBE_100) /* controls headphone ouput */ GPIOL_ENABLE |= 0x10; GPIOL_OUTPUT_EN |= 0x10; GPIOL_OUTPUT_VAL |= 0x10; /* disable */ -#endif - -#ifdef MPIO_HD200 +#elif defined(MPIO_HD200) /* control headphone output * disabled on startup */ - and_l(~(1<<25),&GPIO1_OUT); + and_l(~(1<<25), &GPIO1_OUT); or_l((1<<25), &GPIO1_ENABLE); or_l((1<<25), &GPIO1_FUNCTION); +#elif defined(MPIO_HD300) + and_l(~(1<<5), &GPIO1_OUT); + or_l((1<<5), &GPIO1_ENABLE); + or_l((1<<5), &GPIO1_FUNCTION); #endif /* @@ -322,15 +324,15 @@ void audiohw_postinit(void) audiohw_mute(false); -#ifdef MROBE_100 +#if defined(MROBE_100) /* enable headphone output */ GPIOL_OUTPUT_VAL &= ~0x10; GPIOL_OUTPUT_EN |= 0x10; -#endif - -#ifdef MPIO_HD200 +#elif defined(MPIO_HD200) /* enable headphone output */ - or_l((1<<25),&GPIO1_OUT); + or_l((1<<25), &GPIO1_OUT); +#elif defined(MPIO_HD300) + or_l((1<<5), &GPIO1_OUT); #endif } @@ -394,9 +396,11 @@ void audiohw_close(void) /* 1. Set DACMU = 1 to soft-mute the audio DACs. */ audiohw_mute(true); -#ifdef MPIO_HD200 +#if defined(MPIO_HD200) /* disable headphone out */ and_l(~(1<<25), &GPIO1_OUT); +#elif defined(MPIO_HD300) + and_l(~(1<<5), &GPIO1_OUT); #endif /* 2. Disable all output buffers. */ diff --git a/firmware/target/coldfire/mpio/hd300/lcd-hd300.c b/firmware/target/coldfire/mpio/hd300/lcd-hd300.c index 3752a84..31087a5 100644 --- a/firmware/target/coldfire/mpio/hd300/lcd-hd300.c +++ b/firmware/target/coldfire/mpio/hd300/lcd-hd300.c @@ -210,25 +210,8 @@ void lcd_update(void) lcd_write_command_ex(LCD_CNTL_COLUMN, 0, -1); lcd_write_command(LCD_CNTL_DATA_WRITE); - /* lcd can't handle the speed of DMA transfer when boosted - * 11 MHz in bootloader hangs for unknown reason - */ - if ( cpu_frequency == CPUFREQ_NORMAL ) - { - /* Copy display bitmap to hardware using DMA */ - DSR3 = 1; - DAR3 = 0xf0000002; - SAR3 = (unsigned long)lcd_framebuffer; - BCR3 = LCD_WIDTH*LCD_FBHEIGHT; - DCR3 = DMA_BWC(1) | DMA_SINC | DMA_SSIZE(DMA_SIZE_BYTE) | - DMA_DSIZE(DMA_SIZE_BYTE) | DMA_START; - } - else - { - /* Copy display bitmap to hardware */ - lcd_write_data (&lcd_framebuffer[0][0], LCD_WIDTH*LCD_FBHEIGHT); - } - + /* Copy display bitmap to hardware */ + lcd_write_data (&lcd_framebuffer[0][0], LCD_WIDTH*LCD_FBHEIGHT); } /* Update a fraction of the display. */ |