summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2007-11-18 12:49:24 +0000
committerJens Arnold <amiconn@rockbox.org>2007-11-18 12:49:24 +0000
commit6ef2db2c1127954e22001d8663fb2ab9de5c2665 (patch)
treefce79b4f0e5a5aa143527d3223a3bc7202f1b3f3
parenta8993baeb4affc0856b1683bfaead4b929a8f460 (diff)
downloadrockbox-6ef2db2c1127954e22001d8663fb2ab9de5c2665.tar.gz
rockbox-6ef2db2c1127954e22001d8663fb2ab9de5c2665.zip
Significant LCD speedup for all greyscale iPods and Sansa c200 (c200, 4th Gen, Mini 1st Gen: >3.3x speedup, 1st..3rd Gen: ~2x speedup, Mini 2nd Gen: ~30% speedup).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15655 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/target/arm/ipod/lcd-gray.c10
-rw-r--r--firmware/target/arm/sandisk/sansa-c200/lcd-c200.c2
2 files changed, 9 insertions, 3 deletions
diff --git a/firmware/target/arm/ipod/lcd-gray.c b/firmware/target/arm/ipod/lcd-gray.c
index 9f732265b4..bbe7703a03 100644
--- a/firmware/target/arm/ipod/lcd-gray.c
+++ b/firmware/target/arm/ipod/lcd-gray.c
@@ -153,9 +153,15 @@ void lcd_init_device(void)
153 * f/32, for better blacklevel stability */ 153 * f/32, for better blacklevel stability */
154 else 154 else
155 power_reg_h = 0x1100; 155 power_reg_h = 0x1100;
156#elif defined IPOD_MINI2G 156#endif
157
158#ifdef IPOD_MINI2G /* serial LCD hookup */
157 lcd_wait_write(); 159 lcd_wait_write();
158 LCD1_CONTROL = (LCD1_CONTROL & ~0x1f00000) | 0x1700000; 160 LCD1_CONTROL = 0x01730084; /* fastest setting */
161#elif defined(IPOD_1G2G) || defined(IPOD_3G)
162 LCD1_CONTROL = (LCD1_CONTROL & 0x0002) | 0x0084; /* fastest setting, keep backlight bit */
163#else
164 LCD1_CONTROL = 0x0084; /* fastest setting */
159#endif 165#endif
160 166
161 lcd_cmd_and_data(R_POWER_CONTROL, POWER_REG_H | 0xc); 167 lcd_cmd_and_data(R_POWER_CONTROL, POWER_REG_H | 0xc);
diff --git a/firmware/target/arm/sandisk/sansa-c200/lcd-c200.c b/firmware/target/arm/sandisk/sansa-c200/lcd-c200.c
index 49e1268b54..b17cce30fa 100644
--- a/firmware/target/arm/sandisk/sansa-c200/lcd-c200.c
+++ b/firmware/target/arm/sandisk/sansa-c200/lcd-c200.c
@@ -100,7 +100,7 @@ void lcd_init_device(void)
100 LCD1_CONTROL |= 0x4; 100 LCD1_CONTROL |= 0x4;
101 udelay(10); 101 udelay(10);
102 102
103 LCD1_CONTROL = 0x4687; 103 LCD1_CONTROL = 0x0084; /* bits (9,10) = 00 -> fastest setting */
104 udelay(10000); 104 udelay(10000);
105 105
106 lcd_send_command(R_STANDBY_OFF); 106 lcd_send_command(R_STANDBY_OFF);