diff options
-rw-r--r-- | firmware/SOURCES | 1 | ||||
-rw-r--r-- | firmware/target/arm/s5l8700/ipodnano2g/backlight-nano2g.c | 67 |
2 files changed, 68 insertions, 0 deletions
diff --git a/firmware/SOURCES b/firmware/SOURCES index add88848dc..a3359cf8e7 100644 --- a/firmware/SOURCES +++ b/firmware/SOURCES @@ -1302,6 +1302,7 @@ target/arm/s5l8700/udacodec-meizu.c #ifdef IPOD_NANO2G target/arm/s5l8700/kernel-s5l8700.c +target/arm/s5l8700/ipodnano2g/backlight-nano2g.c target/arm/s5l8700/ipodnano2g/lcd-nano2g.c #endif diff --git a/firmware/target/arm/s5l8700/ipodnano2g/backlight-nano2g.c b/firmware/target/arm/s5l8700/ipodnano2g/backlight-nano2g.c new file mode 100644 index 0000000000..8a2e0d41a8 --- /dev/null +++ b/firmware/target/arm/s5l8700/ipodnano2g/backlight-nano2g.c @@ -0,0 +1,67 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2009 by Dave Chapman + * + * 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 <stdbool.h> + +#include "config.h" +#include "backlight.h" +#include "backlight-target.h" +#include "i2c-s5l8700.h" + + +static unsigned char bl_i2c_readbyte(int address) +{ + unsigned char tmp; + + i2c_read(0xe6, address, 1, &tmp); + + return tmp; +} + +static void bl_i2c_writebyte(int address, unsigned char val) +{ + i2c_write(0xe6, address, 1, &val); +} + +void _backlight_set_brightness(int brightness) +{ + (void)brightness; +} + +void _backlight_on(void) +{ + bl_i2c_writebyte(0x2b,10); + bl_i2c_writebyte(0x2a,6); + bl_i2c_writebyte(0x28,0x2e); + bl_i2c_writebyte(0x29,(bl_i2c_readbyte(0x29)&0xf0)|1); + bl_i2c_writebyte(0x2a,7); +} + +void _backlight_off(void) +{ + bl_i2c_writebyte(0x2b,10); + bl_i2c_writebyte(0x29,bl_i2c_readbyte(0x29)&0xf0); + bl_i2c_writebyte(0x2a,7); +} + +bool _backlight_init(void) +{ + _backlight_on(); +} |