From 94c573f3eca59347cd397d6b68159997bb674246 Mon Sep 17 00:00:00 2001 From: Bertrik Sikken Date: Sun, 23 Oct 2011 14:20:47 +0000 Subject: Sansa clipzip: miscellaneous updates * add support for OF version 01.01.17 in mkamsboot * introduce and implement oled_brightness function * configure voltage CVDD2 to 2.8V (like the OF does) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30831 a1c6a512-1295-4272-9138-f99709370657 --- .../target/arm/as3525/sansa-clipzip/lcd-clipzip.c | 24 +++++++++++++++------- .../target/arm/as3525/sansa-clipzip/lcd-target.h | 2 +- firmware/target/arm/as3525/system-as3525.c | 6 +++++- rbutil/mkamsboot/mkamsboot.c | 1 + 4 files changed, 24 insertions(+), 9 deletions(-) diff --git a/firmware/target/arm/as3525/sansa-clipzip/lcd-clipzip.c b/firmware/target/arm/as3525/sansa-clipzip/lcd-clipzip.c index bfee2d253e..899eb538ea 100644 --- a/firmware/target/arm/as3525/sansa-clipzip/lcd-clipzip.c +++ b/firmware/target/arm/as3525/sansa-clipzip/lcd-clipzip.c @@ -336,18 +336,28 @@ static void lcd_setup_rect(int x, int x_end, int y, int y_end) } /* sets the brightness of the OLED */ -void lcd_brightness(uint8_t red, uint8_t green, uint8_t blue) +void oled_brightness(int brightness) { + int r, g, b; + if (lcd_type == 0) { - lcd_write(0x40, red); /* COLUMN_CURRENT_R */ - lcd_write(0x41, green); /* COLUMN_CURRENT_G */ - lcd_write(0x42, blue); /* COLUMN_CURRENT_B */ + r = 2 + 16*brightness; + g = 1 + 10*brightness; + b = 1 + (23*brightness)/2; + + lcd_write(0x40, r); /* COLUMN_CURRENT_R */ + lcd_write(0x41, g); /* COLUMN_CURRENT_G */ + lcd_write(0x42, b); /* COLUMN_CURRENT_B */ } else { + r = 6 + 10*brightness; + g = 1 + 6*brightness; + b = 3 + 10*brightness; + lcd_write_cmd(0x0E); - lcd_write_nibbles(red); - lcd_write_nibbles(green); - lcd_write_nibbles(blue); + lcd_write_nibbles(r); + lcd_write_nibbles(g); + lcd_write_nibbles(b); } } diff --git a/firmware/target/arm/as3525/sansa-clipzip/lcd-target.h b/firmware/target/arm/as3525/sansa-clipzip/lcd-target.h index 137e9731dd..4adf07554e 100644 --- a/firmware/target/arm/as3525/sansa-clipzip/lcd-target.h +++ b/firmware/target/arm/as3525/sansa-clipzip/lcd-target.h @@ -23,5 +23,5 @@ #include "config.h" /* target-specific OLED brightness function */ -void lcd_brightness(uint8_t red, uint8_t green, uint8_t blue); +void oled_brightness(int brightness); diff --git a/firmware/target/arm/as3525/system-as3525.c b/firmware/target/arm/as3525/system-as3525.c index 348b4abcb2..a79b934aaa 100644 --- a/firmware/target/arm/as3525/system-as3525.c +++ b/firmware/target/arm/as3525/system-as3525.c @@ -285,7 +285,11 @@ void system_init(void) ascodec_write_pmu(0x18, 1, 0x35); /* AVDD17: set AVDD17 power supply to 2.5V */ ascodec_write_pmu(0x18, 7, 0x31); -#else +#ifdef SANSA_CLIPZIP + /* CVDD2: set CVDD2 power supply to 2.8V */ + ascodec_write_pmu(0x17, 2, 0xF4); +#endif +#else /* HAVE_AS3543 */ ascodec_write(AS3514_CVDD_DCDC3, AS314_CP_DCDC3_SETTING); #endif /* HAVE_AS3543 */ diff --git a/rbutil/mkamsboot/mkamsboot.c b/rbutil/mkamsboot/mkamsboot.c index c3ca69b329..c50fe9f5b4 100644 --- a/rbutil/mkamsboot/mkamsboot.c +++ b/rbutil/mkamsboot/mkamsboot.c @@ -174,6 +174,7 @@ static struct md5sums sansasums[] = { #if 0 /* disabled for now because it's not been proven they can be patched */ { MODEL_CLIPZIP, "1.01.12", "45adea0873326b5af34f096e5c402f78" }, { MODEL_CLIPZIP, "1.01.15", "f62af954334cd9ba1a87a7fa58ec6074" }, + { MODEL_CLIPZIP, "1.01.17", "27bcb343d6950f35dc261629e22ba60c" }, #endif }; -- cgit v1.2.3