diff options
Diffstat (limited to 'firmware/target/arm/s5l8700/ipodnano2g')
-rw-r--r-- | firmware/target/arm/s5l8700/ipodnano2g/lcd-nano2g.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/firmware/target/arm/s5l8700/ipodnano2g/lcd-nano2g.c b/firmware/target/arm/s5l8700/ipodnano2g/lcd-nano2g.c index 481e548440..3cbff75ffd 100644 --- a/firmware/target/arm/s5l8700/ipodnano2g/lcd-nano2g.c +++ b/firmware/target/arm/s5l8700/ipodnano2g/lcd-nano2g.c | |||
@@ -60,21 +60,28 @@ static int xoffset; /* needed for flip */ | |||
60 | 60 | ||
61 | static inline void s5l_lcd_write_cmd_data(int cmd, int data) | 61 | static inline void s5l_lcd_write_cmd_data(int cmd, int data) |
62 | { | 62 | { |
63 | while (LCD_STATUS & 0x10); | ||
63 | LCD_WCMD = cmd >> 8; | 64 | LCD_WCMD = cmd >> 8; |
65 | while (LCD_STATUS & 0x10); | ||
64 | LCD_WCMD = cmd & 0xff; | 66 | LCD_WCMD = cmd & 0xff; |
65 | 67 | ||
68 | while (LCD_STATUS & 0x10); | ||
66 | LCD_WDATA = data >> 8; | 69 | LCD_WDATA = data >> 8; |
70 | while (LCD_STATUS & 0x10); | ||
67 | LCD_WDATA = data & 0xff; | 71 | LCD_WDATA = data & 0xff; |
68 | } | 72 | } |
69 | 73 | ||
70 | static inline void s5l_lcd_write_cmd(unsigned short cmd) | 74 | static inline void s5l_lcd_write_cmd(unsigned short cmd) |
71 | { | 75 | { |
76 | while (LCD_STATUS & 0x10); | ||
72 | LCD_WCMD = cmd; | 77 | LCD_WCMD = cmd; |
73 | } | 78 | } |
74 | 79 | ||
75 | static inline void s5l_lcd_write_data(int data) | 80 | static inline void s5l_lcd_write_data(int data) |
76 | { | 81 | { |
82 | while (LCD_STATUS & 0x10); | ||
77 | LCD_WDATA = data >> 8; | 83 | LCD_WDATA = data >> 8; |
84 | while (LCD_STATUS & 0x10); | ||
78 | LCD_WDATA = data & 0xff; | 85 | LCD_WDATA = data & 0xff; |
79 | } | 86 | } |
80 | 87 | ||
@@ -185,7 +192,9 @@ void lcd_update(void) | |||
185 | for (x = 0; x < LCD_WIDTH; x++) { | 192 | for (x = 0; x < LCD_WIDTH; x++) { |
186 | pixel = *(p++); | 193 | pixel = *(p++); |
187 | 194 | ||
195 | while (LCD_STATUS & 0x10); | ||
188 | LCD_WDATA = (pixel & 0xff00) >> 8; | 196 | LCD_WDATA = (pixel & 0xff00) >> 8; |
197 | while (LCD_STATUS & 0x10); | ||
189 | LCD_WDATA = pixel & 0xff; | 198 | LCD_WDATA = pixel & 0xff; |
190 | } | 199 | } |
191 | } | 200 | } |