summaryrefslogtreecommitdiff
path: root/bootloader/sansa_as3525.c
diff options
context:
space:
mode:
authorRafaël Carré <rafael.carre@gmail.com>2009-06-17 19:55:27 +0000
committerRafaël Carré <rafael.carre@gmail.com>2009-06-17 19:55:27 +0000
commit3520d8e90e7f6e3ffc88f8d1ff47fa3cc0efe960 (patch)
tree814a3bcd5d0fc6ee0c99d57d5f188e7f113ec29f /bootloader/sansa_as3525.c
parentbc1fd05dc1f025bdeb2e79fb552472775bedd156 (diff)
Sansa c200v2 : lcd & backlight support, using the c200v1 lcd driver
The LCD driver is unified and lcd_send_command now takes 2 arguments : the command and its argument. If there is no argument, it's set to 0 and a NOP command is issued If there is more than one argument (set X/Y address), the 2nd argument is sent as a 2nd command, and a NOP command is issued after it. Benefit : c200v2 transfers the command and the argument in one 16 bits transfer Performance should not be affected since commands without argument are only used in lcd_init() and lcd_enable() lcd_send_data() now transfers whole lines (or columns) instead of single pixels yuv is disabled for c200v2 for now Some buttons can be read, including left button (bit 6 of DBOP_DIN), but for some reason they have no effect in rockbox: to be investigated git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21321 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'bootloader/sansa_as3525.c')
-rw-r--r--bootloader/sansa_as3525.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/bootloader/sansa_as3525.c b/bootloader/sansa_as3525.c
index 48f21bc196..7e6ac2dddb 100644
--- a/bootloader/sansa_as3525.c
+++ b/bootloader/sansa_as3525.c
@@ -27,7 +27,7 @@
#include <inttypes.h>
#include "config.h"
#include "lcd.h"
-#include "backlight-target.h"
+#include "backlight.h"
#include "button-target.h"
#include "common.h"
#include "storage.h"
@@ -48,14 +48,12 @@ void main(void)
system_init();
kernel_init();
-#ifdef SANSA_C200V2
- /* stop here */
- while(1);
-#endif
+ enable_irq();
+
lcd_init();
show_logo();
- _backlight_on();
+ backlight_init();
button_init_device();
int btn = button_read_device();
@@ -79,8 +77,6 @@ void main(void)
verbose = true;
}
- enable_irq();
-
ret = storage_init();
if(ret < 0)
error(EATA,ret);