summaryrefslogtreecommitdiff
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
parent43ec944e3c0c31a7b4bedbb371f1ce9c1c24a80d (diff)
downloadrockbox-997e6bd7e9a5b4a3ca8540bc9c7814bc4ef5dd24.tar.gz
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
-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)
137 PCON14 &= ~0xf0; /* Set pin 1 to input */ 137 PCON14 &= ~0xf0; /* Set pin 1 to input */
138 138
139 if (((PDAT13 & 1) == 0) && ((PDAT14 & 2) == 2)) 139 if (((PDAT13 & 1) == 0) && ((PDAT14 & 2) == 2))
140 lcd_type = 0; /* Similar to ILI9320 */ 140 lcd_type = 0; /* Similar to ILI9320 - aka "type 2" */
141 else 141 else
142 lcd_type = 1; /* Similar to LDS176 */ 142 lcd_type = 1; /* Similar to LDS176 - aka "type 7" */
143 143
144 /* Now init according to lcd type */ 144 /* Now init according to lcd type */
145 if (lcd_type == 0) { 145 if (lcd_type == 0) {
@@ -173,6 +173,7 @@ void lcd_update(void)
173 s5l_lcd_write_cmd_data(R_HORIZ_GRAM_ADDR_SET, 0); 173 s5l_lcd_write_cmd_data(R_HORIZ_GRAM_ADDR_SET, 0);
174 s5l_lcd_write_cmd_data(R_VERT_GRAM_ADDR_SET, 0); 174 s5l_lcd_write_cmd_data(R_VERT_GRAM_ADDR_SET, 0);
175 175
176 s5l_lcd_write_cmd(0);
176 s5l_lcd_write_cmd(R_WRITE_DATA_TO_GRAM); 177 s5l_lcd_write_cmd(R_WRITE_DATA_TO_GRAM);
177 } else { 178 } else {
178 s5l_lcd_write_cmd(R_COLUMN_ADDR_SET); 179 s5l_lcd_write_cmd(R_COLUMN_ADDR_SET);
@@ -212,3 +213,18 @@ void lcd_update_rect(int x, int y, int width, int height)
212 /* TODO. For now, just do a full-screen update */ 213 /* TODO. For now, just do a full-screen update */
213 lcd_update(); 214 lcd_update();
214} 215}
216
217/* Performance function to blit a YUV bitmap directly to the LCD */
218void lcd_blit_yuv(unsigned char * const src[3],
219 int src_x, int src_y, int stride,
220 int x, int y, int width, int height)
221{
222 (void)src;
223 (void)src_x;
224 (void)src_y;
225 (void)stride;
226 (void)x;
227 (void)y;
228 (void)width;
229 (void)height;
230}