summaryrefslogtreecommitdiff
path: root/firmware/export/pp5020.h
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2007-10-12 00:28:57 +0000
committerJens Arnold <amiconn@rockbox.org>2007-10-12 00:28:57 +0000
commit8aeed2d32e4312da426a1ba16f975923adc3cfbe (patch)
tree1a73f301a7d9bd1ea923184a8297a035557d48f7 /firmware/export/pp5020.h
parente88ac4ce4a356450fafa7d06d2581ebcf425702c (diff)
downloadrockbox-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.h25
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