forked from len0rd/rockbox
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
This commit is contained in:
parent
9310fc0b4c
commit
f4b74b269a
2 changed files with 17 additions and 30 deletions
|
@ -219,20 +219,22 @@ static void audiohw_mute(bool mute)
|
||||||
/* Reset and power up the WM8751 */
|
/* Reset and power up the WM8751 */
|
||||||
void audiohw_preinit(void)
|
void audiohw_preinit(void)
|
||||||
{
|
{
|
||||||
#ifdef MROBE_100
|
#if defined(MROBE_100)
|
||||||
/* controls headphone ouput */
|
/* controls headphone ouput */
|
||||||
GPIOL_ENABLE |= 0x10;
|
GPIOL_ENABLE |= 0x10;
|
||||||
GPIOL_OUTPUT_EN |= 0x10;
|
GPIOL_OUTPUT_EN |= 0x10;
|
||||||
GPIOL_OUTPUT_VAL |= 0x10; /* disable */
|
GPIOL_OUTPUT_VAL |= 0x10; /* disable */
|
||||||
#endif
|
#elif defined(MPIO_HD200)
|
||||||
|
|
||||||
#ifdef MPIO_HD200
|
|
||||||
/* control headphone output
|
/* control headphone output
|
||||||
* disabled on startup
|
* 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_ENABLE);
|
||||||
or_l((1<<25), &GPIO1_FUNCTION);
|
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
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -322,15 +324,15 @@ void audiohw_postinit(void)
|
||||||
|
|
||||||
audiohw_mute(false);
|
audiohw_mute(false);
|
||||||
|
|
||||||
#ifdef MROBE_100
|
#if defined(MROBE_100)
|
||||||
/* enable headphone output */
|
/* enable headphone output */
|
||||||
GPIOL_OUTPUT_VAL &= ~0x10;
|
GPIOL_OUTPUT_VAL &= ~0x10;
|
||||||
GPIOL_OUTPUT_EN |= 0x10;
|
GPIOL_OUTPUT_EN |= 0x10;
|
||||||
#endif
|
#elif defined(MPIO_HD200)
|
||||||
|
|
||||||
#ifdef MPIO_HD200
|
|
||||||
/* enable headphone output */
|
/* 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
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -394,9 +396,11 @@ void audiohw_close(void)
|
||||||
/* 1. Set DACMU = 1 to soft-mute the audio DACs. */
|
/* 1. Set DACMU = 1 to soft-mute the audio DACs. */
|
||||||
audiohw_mute(true);
|
audiohw_mute(true);
|
||||||
|
|
||||||
#ifdef MPIO_HD200
|
#if defined(MPIO_HD200)
|
||||||
/* disable headphone out */
|
/* disable headphone out */
|
||||||
and_l(~(1<<25), &GPIO1_OUT);
|
and_l(~(1<<25), &GPIO1_OUT);
|
||||||
|
#elif defined(MPIO_HD300)
|
||||||
|
and_l(~(1<<5), &GPIO1_OUT);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* 2. Disable all output buffers. */
|
/* 2. Disable all output buffers. */
|
||||||
|
|
|
@ -210,25 +210,8 @@ void lcd_update(void)
|
||||||
lcd_write_command_ex(LCD_CNTL_COLUMN, 0, -1);
|
lcd_write_command_ex(LCD_CNTL_COLUMN, 0, -1);
|
||||||
lcd_write_command(LCD_CNTL_DATA_WRITE);
|
lcd_write_command(LCD_CNTL_DATA_WRITE);
|
||||||
|
|
||||||
/* lcd can't handle the speed of DMA transfer when boosted
|
/* Copy display bitmap to hardware */
|
||||||
* 11 MHz in bootloader hangs for unknown reason
|
lcd_write_data (&lcd_framebuffer[0][0], LCD_WIDTH*LCD_FBHEIGHT);
|
||||||
*/
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Update a fraction of the display. */
|
/* Update a fraction of the display. */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue