summaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
authorDave Chapman <dave@dchapman.com>2009-09-17 08:08:58 +0000
committerDave Chapman <dave@dchapman.com>2009-09-17 08:08:58 +0000
commit997e6bd7e9a5b4a3ca8540bc9c7814bc4ef5dd24 (patch)
treedde90b55ebb7dc1bfe1c8de4663bad4bab7111f3 /firmware
parent43ec944e3c0c31a7b4bedbb371f1ce9c1c24a80d (diff)
downloadrockbox-997e6bd7e9a5b4a3ca8540bc9c7814bc4ef5dd24.tar.gz
rockbox-997e6bd7e9a5b4a3ca8540bc9c7814bc4ef5dd24.tar.bz2
rockbox-997e6bd7e9a5b4a3ca8540bc9c7814bc4ef5dd24.zip
Fix unreliable LCD updates on the "type 0" LCD. Plus add some comments and a stub lcd_blit_yuv()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22717 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/target/arm/s5l8700/ipodnano2g/lcd-nano2g.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/firmware/target/arm/s5l8700/ipodnano2g/lcd-nano2g.c b/firmware/target/arm/s5l8700/ipodnano2g/lcd-nano2g.c
index 3cbff75ffd..2887dad8ee 100644
--- a/firmware/target/arm/s5l8700/ipodnano2g/lcd-nano2g.c
+++ b/firmware/target/arm/s5l8700/ipodnano2g/lcd-nano2g.c
@@ -137,9 +137,9 @@ void lcd_init_device(void)
PCON14 &= ~0xf0; /* Set pin 1 to input */
if (((PDAT13 & 1) == 0) && ((PDAT14 & 2) == 2))
- lcd_type = 0; /* Similar to ILI9320 */
+ lcd_type = 0; /* Similar to ILI9320 - aka "type 2" */
else
- lcd_type = 1; /* Similar to LDS176 */
+ lcd_type = 1; /* Similar to LDS176 - aka "type 7" */
/* Now init according to lcd type */
if (lcd_type == 0) {
@@ -173,6 +173,7 @@ void lcd_update(void)
s5l_lcd_write_cmd_data(R_HORIZ_GRAM_ADDR_SET, 0);
s5l_lcd_write_cmd_data(R_VERT_GRAM_ADDR_SET, 0);
+ s5l_lcd_write_cmd(0);
s5l_lcd_write_cmd(R_WRITE_DATA_TO_GRAM);
} else {
s5l_lcd_write_cmd(R_COLUMN_ADDR_SET);
@@ -212,3 +213,18 @@ void lcd_update_rect(int x, int y, int width, int height)
/* TODO. For now, just do a full-screen update */
lcd_update();
}
+
+/* Performance function to blit a YUV bitmap directly to the LCD */
+void lcd_blit_yuv(unsigned char * const src[3],
+ int src_x, int src_y, int stride,
+ int x, int y, int width, int height)
+{
+ (void)src;
+ (void)src_x;
+ (void)src_y;
+ (void)stride;
+ (void)x;
+ (void)y;
+ (void)width;
+ (void)height;
+}