summaryrefslogtreecommitdiff
path: root/firmware/target/arm/as3525/sansa-fuzev2/backlight-fuzev2.c
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2010-03-16 22:38:57 +0000
committerThomas Martitz <kugel@rockbox.org>2010-03-16 22:38:57 +0000
commitb5b2a03ee2257139ca06fc4f29d856f49bf05b5a (patch)
tree5b2534ad793cd30d6c652ee2f3a95f2f844b9ad7 /firmware/target/arm/as3525/sansa-fuzev2/backlight-fuzev2.c
parent25065a6423bc8f21ddbe986e80dc24a6b9889d77 (diff)
A tiny bit more Sansa Fuze v2 work.
- buttonlight works - backlight turns on (quite weak though and no brightness adjustment/backlight off functional) - don't share drivers with e200v2/fuzev1 for now as it's not entirely clear how dbop plays into this - deactivte scrollwheel as it's messing up the timer setup in kernel-as3525.c indicating the dbop input reading doesn't work well - still no working bootloader/no lcd or buttons git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25225 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/as3525/sansa-fuzev2/backlight-fuzev2.c')
-rw-r--r--firmware/target/arm/as3525/sansa-fuzev2/backlight-fuzev2.c86
1 files changed, 86 insertions, 0 deletions
diff --git a/firmware/target/arm/as3525/sansa-fuzev2/backlight-fuzev2.c b/firmware/target/arm/as3525/sansa-fuzev2/backlight-fuzev2.c
new file mode 100644
index 0000000000..56b375b930
--- /dev/null
+++ b/firmware/target/arm/as3525/sansa-fuzev2/backlight-fuzev2.c
@@ -0,0 +1,86 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2010 by Thomas Martitz
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+#include "config.h"
+#include "backlight-target.h"
+#include "system.h"
+#include "lcd.h"
+#include "backlight.h"
+#include "ascodec-target.h"
+#include "as3514.h"
+
+int buttonlight_is_on = 0;
+
+static int brightness_internal = 0;
+
+/* not functional */
+void _backlight_set_brightness(int brightness)
+{
+ //ascodec_write(AS3514_DCDC15, brightness);
+ brightness_internal = brightness << 2;
+ brightness_internal += brightness + 5;
+ brightness_internal <<= 25;
+ brightness_internal >>= 24;
+ ascodec_write(27, brightness_internal|0xff);
+}
+
+bool _backlight_init(void)
+{
+ GPIOB_DIR |= 1<<5; /* for buttonlight, stuff below seems to be needed
+ for buttonlight as well*/
+ ascodec_write(0x1c, 8|1);
+ ascodec_write(27, 0xff);
+ return true;
+}
+
+/* not functional */
+void _backlight_on(void)
+{
+#ifdef HAVE_LCD_ENABLE
+ lcd_enable(true); /* power on lcd + visible display */
+#endif
+#if (CONFIG_BACKLIGHT_FADING != BACKLIGHT_FADING_SW_SETTING) /* in bootloader/sim */
+ /* if we set the brightness to the settings value, then fading up
+ * is glitchy */
+ ascodec_write(27, brightness_internal);
+#endif
+}
+
+/* not functional */
+void _backlight_off(void)
+{
+ ascodec_write(0x1c, 0);
+ ascodec_write(27, 0);
+#ifdef HAVE_LCD_ENABLE
+ lcd_enable(false); /* power off visible display */
+#endif
+}
+
+void _buttonlight_on(void)
+{
+ GPIOB_PIN(5) = (1<<5);
+ buttonlight_is_on = 1;
+}
+
+void _buttonlight_off(void)
+{
+ GPIOB_PIN(5) = 0;
+ buttonlight_is_on = 0;
+}