summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/drivers/audio/wm8751.c26
-rw-r--r--firmware/target/coldfire/mpio/hd300/lcd-hd300.c21
2 files changed, 17 insertions, 30 deletions
diff --git a/firmware/drivers/audio/wm8751.c b/firmware/drivers/audio/wm8751.c
index c37341ef26..ca62f69d95 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 3752a84073..31087a5d43 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. */