diff options
author | Jens Arnold <amiconn@rockbox.org> | 2007-10-12 00:28:57 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2007-10-12 00:28:57 +0000 |
commit | 8aeed2d32e4312da426a1ba16f975923adc3cfbe (patch) | |
tree | 1a73f301a7d9bd1ea923184a8297a035557d48f7 /firmware/export/pp5020.h | |
parent | e88ac4ce4a356450fafa7d06d2581ebcf425702c (diff) | |
download | rockbox-8aeed2d32e4312da426a1ba16f975923adc3cfbe.tar.gz rockbox-8aeed2d32e4312da426a1ba16f975923adc3cfbe.zip |
PP LCD drivers: * Optimised and cleaned up PP colour LCD drivers. Immeasurable speedup on iPod Color, huge speedup on small H10 (a factor of 3). Should be a bit faster on big H10 too. * Big H10 changed bitmap format, so needs reconfiguring + full rebuild. * Better register naming for the mono LCD bridge. Register names for the colour LCD bridge.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15082 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export/pp5020.h')
-rw-r--r-- | firmware/export/pp5020.h | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/firmware/export/pp5020.h b/firmware/export/pp5020.h index 2c939300ab..5654a7de63 100644 --- a/firmware/export/pp5020.h +++ b/firmware/export/pp5020.h | |||
@@ -407,16 +407,33 @@ | |||
407 | /* Note: didn't bother to see of levels 0 and 16 actually work */ | 407 | /* Note: didn't bother to see of levels 0 and 16 actually work */ |
408 | 408 | ||
409 | /* First ("mono") LCD bridge */ | 409 | /* First ("mono") LCD bridge */ |
410 | #define LCD1_BASE (*(volatile unsigned long *)(0x70003000)) | 410 | #define LCD1_BASE 0x70003000 |
411 | #define LCD1_CMD (*(volatile unsigned long *)(0x70003008)) | ||
412 | #define LCD1_DATA (*(volatile unsigned long *)(0x70003010)) | ||
413 | 411 | ||
414 | #define LCD1_BUSY_MASK 0x8000 | 412 | #define LCD1_CONTROL (*(volatile unsigned long *)(0x70003000)) |
413 | #define LCD1_CMD (*(volatile unsigned long *)(0x70003008)) | ||
414 | #define LCD1_DATA (*(volatile unsigned long *)(0x70003010)) | ||
415 | |||
416 | #define LCD1_BUSY_MASK 0x8000 | ||
415 | 417 | ||
416 | /* Serial Controller */ | 418 | /* Serial Controller */ |
417 | #define SERIAL0 (*(volatile unsigned long*)(0x70006000)) | 419 | #define SERIAL0 (*(volatile unsigned long*)(0x70006000)) |
418 | #define SERIAL1 (*(volatile unsigned long*)(0x70006040)) | 420 | #define SERIAL1 (*(volatile unsigned long*)(0x70006040)) |
419 | 421 | ||
422 | /* Second ("color") LCD bridge */ | ||
423 | #define LCD2_BASE 0x70008a00 | ||
424 | |||
425 | #define LCD2_PORT (*(volatile unsigned long*)(0x70008a0c)) | ||
426 | #define LCD2_BLOCK_CTRL (*(volatile unsigned long*)(0x70008a20)) | ||
427 | #define LCD2_BLOCK_CONFIG (*(volatile unsigned long*)(0x70008a24)) | ||
428 | #define LCD2_BLOCK_DATA (*(volatile unsigned long*)(0x70008b00)) | ||
429 | |||
430 | #define LCD2_BUSY_MASK 0x80000000 | ||
431 | #define LCD2_CMD_MASK 0x80000000 | ||
432 | #define LCD2_DATA_MASK 0x81000000 | ||
433 | |||
434 | #define LCD2_BLOCK_READY 0x04000000 | ||
435 | #define LCD2_BLOCK_TXOK 0x01000000 | ||
436 | |||
420 | /* I2C */ | 437 | /* I2C */ |
421 | #define I2C_BASE 0x7000c000 | 438 | #define I2C_BASE 0x7000c000 |
422 | 439 | ||