79cfc221a5
it would still flash when the light was off it turns out that if B5 is set to input the light can't be turned on but we can still select between µSD slot and internal storage git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26059 a1c6a512-1295-4272-9138-f99709370657
72 lines
1.9 KiB
C
72 lines
1.9 KiB
C
/***************************************************************************
|
|
* __________ __ ___.
|
|
* 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;
|
|
|
|
void _backlight_set_brightness(int brightness)
|
|
{
|
|
ascodec_write_pmu(AS3543_BACKLIGHT, 2, brightness * 10);
|
|
}
|
|
|
|
bool _backlight_init(void)
|
|
{
|
|
ascodec_write_pmu(AS3543_BACKLIGHT, 1, 0x80);
|
|
ascodec_write_pmu(AS3543_BACKLIGHT, 2, backlight_brightness * 10);
|
|
|
|
return true;
|
|
}
|
|
|
|
void _backlight_on(void)
|
|
{
|
|
#ifdef HAVE_LCD_ENABLE
|
|
lcd_enable(true); /* power on lcd + visible display */
|
|
#endif
|
|
ascodec_write_pmu(AS3543_BACKLIGHT, 1, 0x80);
|
|
}
|
|
|
|
void _backlight_off(void)
|
|
{
|
|
ascodec_write_pmu(AS3543_BACKLIGHT, 1, 0x0);
|
|
#ifdef HAVE_LCD_ENABLE
|
|
lcd_enable(false); /* power off visible display */
|
|
#endif
|
|
}
|
|
|
|
void _buttonlight_on(void)
|
|
{
|
|
GPIOB_DIR |= 1<<5;
|
|
GPIOB_PIN(5) = (1<<5);
|
|
buttonlight_is_on = 1;
|
|
}
|
|
|
|
void _buttonlight_off(void)
|
|
{
|
|
GPIOB_PIN(5) = 0;
|
|
GPIOB_DIR &= ~(1<<5);
|
|
buttonlight_is_on = 0;
|
|
}
|