path: root/firmware/export/as3525.h
diff options
authorThomas Martitz <>2009-08-31 15:54:25 +0000
committerThomas Martitz <>2009-08-31 15:54:25 +0000
commit7dd548c6970daed5cf414c287f61da39bf1631a8 (patch)
treee0aa96bfbddaf54e6f4e246d8ae962a95db7a1bb /firmware/export/as3525.h
parentcdafa3e49825c7eec278000fc097cd5e047249ec (diff)
Speed up the Fuze's LCD by a factor of ~2.1 (lcd_update()) by using 32bit transfers when possible.
Unaligned (to 4byte boundary) and odd (where the amount of data is not an integer multiple of 32bit) are still supported. Even those still have a speedup of >2. git-svn-id: svn:// a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export/as3525.h')
1 files changed, 4 insertions, 1 deletions
diff --git a/firmware/export/as3525.h b/firmware/export/as3525.h
index cf8d11ba05..d2b5a4fef2 100644
--- a/firmware/export/as3525.h
+++ b/firmware/export/as3525.h
@@ -114,7 +114,10 @@
#define DBOP_TIMPOL_23 (*(volatile unsigned long *)(DBOP_BASE + 0x04))
#define DBOP_CTRL (*(volatile unsigned long *)(DBOP_BASE + 0x08))
#define DBOP_STAT (*(volatile unsigned long *)(DBOP_BASE + 0x0C))
-#define DBOP_DOUT (*(volatile unsigned short *)(DBOP_BASE + 0x10))
+/* default is 16bit, but we switch to 32bit for some targets for better speed */
+#define DBOP_DOUT (*(volatile unsigned short*)(DBOP_BASE + 0x10))
+#define DBOP_DOUT16 (*(volatile unsigned short*)(DBOP_BASE + 0x10))
+#define DBOP_DOUT32 (*(volatile unsigned long *)(DBOP_BASE + 0x10))
#define DBOP_DIN (*(volatile unsigned short*)(DBOP_BASE + 0x14))