From 3520d8e90e7f6e3ffc88f8d1ff47fa3cc0efe960 Mon Sep 17 00:00:00 2001 From: Rafaël Carré Date: Wed, 17 Jun 2009 19:55:27 +0000 Subject: 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 --- firmware/target/arm/as3525/sansa-c200v2/backlight-c200v2.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'firmware/target/arm/as3525/sansa-c200v2/backlight-c200v2.c') diff --git a/firmware/target/arm/as3525/sansa-c200v2/backlight-c200v2.c b/firmware/target/arm/as3525/sansa-c200v2/backlight-c200v2.c index f036792fc0..858e9aed49 100644 --- a/firmware/target/arm/as3525/sansa-c200v2/backlight-c200v2.c +++ b/firmware/target/arm/as3525/sansa-c200v2/backlight-c200v2.c @@ -26,8 +26,12 @@ #include "ascodec-target.h" #include "as3514.h" -/* TODO: This file is copy & pasted from backlight-e200v2-fuze.c, as I think - * it'll be the same for c200v2; prove it */ +bool _backlight_init(void) +{ + GPIOA_DIR |= 1<<5; + return true; +} + void _backlight_set_brightness(int brightness) { if (brightness > 0) @@ -41,12 +45,12 @@ void _backlight_on(void) #ifdef HAVE_LCD_ENABLE lcd_enable(true); /* power on lcd + visible display */ #endif - ascodec_write(AS3514_DCDC15, backlight_brightness); + GPIOA_PIN(5) = 1<<5; } void _backlight_off(void) { - ascodec_write(AS3514_DCDC15, 0x0); + GPIOA_PIN(5) = 0; #ifdef HAVE_LCD_ENABLE lcd_enable(false); /* power off visible display */ #endif -- cgit v1.2.3