Index: rockbox/firmware/export/s5l8702.h
===================================================================
--- rockbox/firmware/export/s5l8702.h	(revision 30307)
+++ rockbox/firmware/export/s5l8702.h	(working copy)
@@ -561,7 +561,7 @@
 
 
 /////LCD/////
-#define LCD_BASE   (0x38300000)
+#define LCD_BASE   (*((uint32_t volatile*)(0x38300000)))
 #define LCD_WCMD   (*((uint32_t volatile*)(0x38300004)))
 #define LCD_STATUS (*((uint32_t volatile*)(0x3830001c)))
 #define LCD_WDATA  (*((uint32_t volatile*)(0x38300040)))
Index: rockbox/firmware/target/arm/s5l8702/ipod6g/lcd-ipod6g.c
===================================================================
--- rockbox/firmware/target/arm/s5l8702/ipod6g/lcd-ipod6g.c	(revision 30307)
+++ rockbox/firmware/target/arm/s5l8702/ipod6g/lcd-ipod6g.c	(working copy)
@@ -186,7 +186,10 @@
 
     int xe = (x + width) - 1;           /* max horiz */
     int ye = (y + height) - 1;          /* max vert */
-
+    
+    while (!(LCD_STATUS & 0x2));
+    LCD_BASE = 0x80100db0;
+    
     if (lcd_type & 2) {
         s5l_lcd_write_cmd_data(R_HORIZ_ADDR_START_POS, x);
         s5l_lcd_write_cmd_data(R_HORIZ_ADDR_END_POS,   xe);
