summaryrefslogtreecommitdiff
path: root/firmware/target/arm/lcd-c200_c200v2.c
diff options
context:
space:
mode:
authorTobias Diedrich <ranma+coreboot@tdiedrich.de>2010-06-19 02:36:10 +0000
committerTobias Diedrich <ranma+coreboot@tdiedrich.de>2010-06-19 02:36:10 +0000
commitaa0736e95164fef8088fec28902645de751ba179 (patch)
tree1d1c3daff8ec223225d98f6f1722bf64bf009afe /firmware/target/arm/lcd-c200_c200v2.c
parent1510777266752a886022c93c44dc435960f1d167 (diff)
downloadrockbox-aa0736e95164fef8088fec28902645de751ba179.tar.gz
rockbox-aa0736e95164fef8088fec28902645de751ba179.zip
Use mdelay
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26949 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/lcd-c200_c200v2.c')
-rw-r--r--firmware/target/arm/lcd-c200_c200v2.c28
1 files changed, 10 insertions, 18 deletions
diff --git a/firmware/target/arm/lcd-c200_c200v2.c b/firmware/target/arm/lcd-c200_c200v2.c
index 5393352fd1..d2fabe73dc 100644
--- a/firmware/target/arm/lcd-c200_c200v2.c
+++ b/firmware/target/arm/lcd-c200_c200v2.c
@@ -124,16 +124,8 @@ static inline void c200v1_lcd_init(void)
124 udelay(10000); 124 udelay(10000);
125} 125}
126 126
127#define lcd_delay(delay) udelay((delay) * 1000)
128
129#elif defined(SANSA_C200V2) 127#elif defined(SANSA_C200V2)
130 128
131static inline void lcd_delay(int delay)
132{ //TUNEME : delay is in milliseconds
133 delay <<= 14;
134 while(delay--) ;
135}
136
137/* send LCD data */ 129/* send LCD data */
138void lcd_write_data(const fb_data *data, int width) 130void lcd_write_data(const fb_data *data, int width)
139{ 131{
@@ -177,7 +169,7 @@ static inline void as3525_dbop_init(void)
177 DBOP_TIMPOL_01 = 0x6e167; 169 DBOP_TIMPOL_01 = 0x6e167;
178 DBOP_TIMPOL_23 = 0xa167e06f; 170 DBOP_TIMPOL_23 = 0xa167e06f;
179 171
180 lcd_delay(20); 172 mdelay(20);
181} 173}
182 174
183#endif 175#endif
@@ -188,27 +180,27 @@ static void lcd_reset(void)
188 /* reset lcd */ 180 /* reset lcd */
189 GPIOB_DIR |= (1<<6); 181 GPIOB_DIR |= (1<<6);
190 GPIOB_PIN(6) = 0; /* pull reset low */ 182 GPIOB_PIN(6) = 0; /* pull reset low */
191 lcd_delay(20); 183 mdelay(20);
192 GPIOB_PIN(6) = 1<<6; /* release reset */ 184 GPIOB_PIN(6) = 1<<6; /* release reset */
193 lcd_delay(20); 185 mdelay(20);
194#endif 186#endif
195 lcd_send_command(R_STANDBY_OFF, 0); 187 lcd_send_command(R_STANDBY_OFF, 0);
196 lcd_delay(20); 188 mdelay(20);
197 189
198 lcd_send_command(R_OSCILLATION_MODE, 0x01); 190 lcd_send_command(R_OSCILLATION_MODE, 0x01);
199 lcd_delay(20); 191 mdelay(20);
200 192
201 lcd_send_command(R_DCDC_AMP_ONOFF, 0x01); 193 lcd_send_command(R_DCDC_AMP_ONOFF, 0x01);
202 lcd_delay(20); 194 mdelay(20);
203 195
204 lcd_send_command(R_DCDC_AMP_ONOFF, 0x09); 196 lcd_send_command(R_DCDC_AMP_ONOFF, 0x09);
205 lcd_delay(20); 197 mdelay(20);
206 198
207 lcd_send_command(R_DCDC_AMP_ONOFF, 0x0b); 199 lcd_send_command(R_DCDC_AMP_ONOFF, 0x0b);
208 lcd_delay(20); 200 mdelay(20);
209 201
210 lcd_send_command(R_DCDC_AMP_ONOFF, 0x0f); 202 lcd_send_command(R_DCDC_AMP_ONOFF, 0x0f);
211 lcd_delay(20); 203 mdelay(20);
212 204
213 lcd_send_command(R_DRIVER_OUTPUT_MODE, 0x07); 205 lcd_send_command(R_DRIVER_OUTPUT_MODE, 0x07);
214 206
@@ -238,7 +230,7 @@ static void lcd_reset(void)
238 lcd_send_command(R_X_ADDR_AREA, 0); /* x1 */ 230 lcd_send_command(R_X_ADDR_AREA, 0); /* x1 */
239 lcd_send_command(LCD_WIDTH - 1, 0); /* x2 */ 231 lcd_send_command(LCD_WIDTH - 1, 0); /* x2 */
240 232
241 lcd_delay(100); 233 mdelay(100);
242 234
243 lcd_send_command(R_DISPLAY_ON, 0); 235 lcd_send_command(R_DISPLAY_ON, 0);
244} 236}