summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
authorMichael Sparmann <theseven@rockbox.org>2011-02-28 11:54:28 +0000
committerMichael Sparmann <theseven@rockbox.org>2011-02-28 11:54:28 +0000
commit06c1757138e549be39052874b0d54fc4f9182c11 (patch)
treebabd0bf7bea86209abe387c02bf2df9092cf908f /firmware
parent156b0bc6146eb69a42189907593f4aa4e45775db (diff)
downloadrockbox-06c1757138e549be39052874b0d54fc4f9182c11.tar.gz
rockbox-06c1757138e549be39052874b0d54fc4f9182c11.zip
iPod Classic: Fix YUV blitting. Mpegplayer works now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29460 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/export/s5l8702.h2
-rw-r--r--firmware/target/arm/s5l8702/ipod6g/lcd-asm-ipod6g.S1
-rw-r--r--firmware/target/arm/s5l8702/ipod6g/lcd-ipod6g.c12
3 files changed, 10 insertions, 5 deletions
diff --git a/firmware/export/s5l8702.h b/firmware/export/s5l8702.h
index ebd3eda2bb..7cc5646c9e 100644
--- a/firmware/export/s5l8702.h
+++ b/firmware/export/s5l8702.h
@@ -561,7 +561,7 @@ struct dma_lli
561 561
562 562
563/////LCD///// 563/////LCD/////
564#define LCD_BASE (*((uint32_t volatile*)(0x38300000))) 564#define LCD_BASE (0x38300000)
565#define LCD_WCMD (*((uint32_t volatile*)(0x38300004))) 565#define LCD_WCMD (*((uint32_t volatile*)(0x38300004)))
566#define LCD_STATUS (*((uint32_t volatile*)(0x3830001c))) 566#define LCD_STATUS (*((uint32_t volatile*)(0x3830001c)))
567#define LCD_WDATA (*((uint32_t volatile*)(0x38300040))) 567#define LCD_WDATA (*((uint32_t volatile*)(0x38300040)))
diff --git a/firmware/target/arm/s5l8702/ipod6g/lcd-asm-ipod6g.S b/firmware/target/arm/s5l8702/ipod6g/lcd-asm-ipod6g.S
index 2b170f329b..7d9e8274d5 100644
--- a/firmware/target/arm/s5l8702/ipod6g/lcd-asm-ipod6g.S
+++ b/firmware/target/arm/s5l8702/ipod6g/lcd-asm-ipod6g.S
@@ -19,6 +19,7 @@
19 * 19 *
20 ****************************************************************************/ 20 ****************************************************************************/
21 21
22#define FORCE_FIFO_WAIT
22/**************************************************************************** 23/****************************************************************************
23 * #define FORCE_FIFO_WAIT 24 * #define FORCE_FIFO_WAIT
24 * 25 *
diff --git a/firmware/target/arm/s5l8702/ipod6g/lcd-ipod6g.c b/firmware/target/arm/s5l8702/ipod6g/lcd-ipod6g.c
index bbb1c9c0d0..8610f867a4 100644
--- a/firmware/target/arm/s5l8702/ipod6g/lcd-ipod6g.c
+++ b/firmware/target/arm/s5l8702/ipod6g/lcd-ipod6g.c
@@ -259,12 +259,16 @@ void lcd_blit_yuv(unsigned char * const src[3],
259 s5l_lcd_write_cmd(R_WRITE_DATA_TO_GRAM); 259 s5l_lcd_write_cmd(R_WRITE_DATA_TO_GRAM);
260 } else { 260 } else {
261 s5l_lcd_write_cmd(R_COLUMN_ADDR_SET); 261 s5l_lcd_write_cmd(R_COLUMN_ADDR_SET);
262 s5l_lcd_write_data(x0); /* Start column */ 262 s5l_lcd_write_data(x0 >> 8);
263 s5l_lcd_write_data(x1); /* End column */ 263 s5l_lcd_write_data(x0 & 0xff);
264 s5l_lcd_write_data(x1 >> 8);
265 s5l_lcd_write_data(x1 & 0xff);
264 266
265 s5l_lcd_write_cmd(R_ROW_ADDR_SET); 267 s5l_lcd_write_cmd(R_ROW_ADDR_SET);
266 s5l_lcd_write_data(y0); /* Start row */ 268 s5l_lcd_write_data(y0 >> 8);
267 s5l_lcd_write_data(y1); /* End row */ 269 s5l_lcd_write_data(y0 & 0xff);
270 s5l_lcd_write_data(y1 >> 8);
271 s5l_lcd_write_data(y1 & 0xff);
268 272
269 s5l_lcd_write_cmd(R_MEMORY_WRITE); 273 s5l_lcd_write_cmd(R_MEMORY_WRITE);
270 } 274 }