diff options
Diffstat (limited to 'firmware/drivers/lcd.S')
-rwxr-xr-x | firmware/drivers/lcd.S | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/firmware/drivers/lcd.S b/firmware/drivers/lcd.S index 585b9d1e67..ee3eedb7b9 100755 --- a/firmware/drivers/lcd.S +++ b/firmware/drivers/lcd.S | |||
@@ -362,9 +362,13 @@ lcd_write_data: | |||
362 | 362 | ||
363 | lea 0xf0000000,%a1 | 363 | lea 0xf0000000,%a1 |
364 | .loop: | 364 | .loop: |
365 | move.b (%a0)+,%d1 | 365 | /* When running in IRAM, this loop takes 7 cycles plus the LCD write. |
366 | move.w %d1,(%a1) | 366 | The 7 cycles are necessary to follow the LCD timing specs |
367 | subq.l #1,%d0 | 367 | at 140MHz */ |
368 | bne .loop | 368 | move.b (%a0)+,%d1 /* 3(1/0) */ |
369 | move.w %d1,(%a1) /* 1(0/1) */ | ||
370 | subq.l #1,%d0 /* 1(0/0) */ | ||
371 | nop /* 1(0/0) */ | ||
372 | bne .loop /* 2(0/0) */ | ||
369 | rts | 373 | rts |
370 | #endif | 374 | #endif |