summaryrefslogtreecommitdiff
path: root/firmware/target/arm/olympus/mrobe-100/backlight-mr100.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/olympus/mrobe-100/backlight-mr100.c')
-rw-r--r--firmware/target/arm/olympus/mrobe-100/backlight-mr100.c28
1 files changed, 12 insertions, 16 deletions
diff --git a/firmware/target/arm/olympus/mrobe-100/backlight-mr100.c b/firmware/target/arm/olympus/mrobe-100/backlight-mr100.c
index 24a62d232f..f5a7370590 100644
--- a/firmware/target/arm/olympus/mrobe-100/backlight-mr100.c
+++ b/firmware/target/arm/olympus/mrobe-100/backlight-mr100.c
@@ -19,9 +19,10 @@
19 19
20#include "backlight-target.h" 20#include "backlight-target.h"
21#include "system.h" 21#include "system.h"
22#include "lcd.h" 22
23#include "backlight.h" 23#define MIN_BRIGHTNESS 0x80ff08ff
24#include "i2c-pp.h" 24
25static const int log_brightness[12] = {0,4,8,12,20,28,40,60,88,124,176,255};
25 26
26void _backlight_on(void) 27void _backlight_on(void)
27{ 28{
@@ -33,23 +34,18 @@ void _backlight_off(void)
33 GPO32_ENABLE &= ~0x1000000; 34 GPO32_ENABLE &= ~0x1000000;
34} 35}
35 36
37void _buttonlight_set_brightness(int brightness)
38{
39 /* clamp the brightness value */
40 brightness = MAX(0, MIN(15, brightness));
41
42 outl(MIN_BRIGHTNESS-(log_brightness[brightness - 1] << 16), 0x7000a010);
43}
44
36void _buttonlight_on(void) 45void _buttonlight_on(void)
37{ 46{
38 /* turn on all touchpad leds */ 47 /* turn on all touchpad leds */
39 GPIOA_OUTPUT_VAL |= BUTTONLIGHT_ALL; 48 GPIOA_OUTPUT_VAL |= BUTTONLIGHT_ALL;
40
41#if 0
42 /* Writing to 0x7000a010 controls the brightness of the leds.
43 This routine fades the leds from dim to bright, like when
44 you first turn the unit on. */
45 unsigned long val = 0x80ff08ff;
46 int i = 0;
47 for (i = 0; i < 16; i++)
48 outl(val, 0x7000a010);
49 udelay(100000);
50 val -= 0x110000;
51 }
52#endif
53} 49}
54 50
55void _buttonlight_off(void) 51void _buttonlight_off(void)