From 6432941f10d0ed76a4f944b7c8c4e8b2f6ecfe70 Mon Sep 17 00:00:00 2001 From: Dave Chapman Date: Fri, 17 Jul 2009 22:40:36 +0000 Subject: [PATCH] Basic backlight driver for Nano 2G git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21935 a1c6a512-1295-4272-9138-f99709370657 --- firmware/SOURCES | 1 + .../arm/s5l8700/ipodnano2g/backlight-nano2g.c | 67 +++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 firmware/target/arm/s5l8700/ipodnano2g/backlight-nano2g.c 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 + +#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(); +}