diff options
author | Yuri Tikhonov <yur@pollux.denx.de> | 2008-03-18 12:27:57 (GMT) |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2008-03-18 21:04:06 (GMT) |
commit | 0f855a1f056a8c22116a2103a3900cbfb669df0b (patch) | |
tree | 146f6ad0eaf5304caa6d66b5b1e1fd06cc5b206a /board/lwmon5/lwmon5.c | |
parent | 2d991958b1e420fbfe17b128bd26ade74be5efcc (diff) | |
download | u-boot-0f855a1f056a8c22116a2103a3900cbfb669df0b.tar.xz |
Fix backlight in the lwmon5 POST.
Backlight was switcehd on even when temperature was too low.
Signed-off-by: Dmitry Rakhchev <rda@emcraft.com>
Signed-off-by: Yuri Tikhonov <yur@emcraft.com>
Diffstat (limited to 'board/lwmon5/lwmon5.c')
-rw-r--r-- | board/lwmon5/lwmon5.c | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/board/lwmon5/lwmon5.c b/board/lwmon5/lwmon5.c index 7c5f6cc..e5fa259 100644 --- a/board/lwmon5/lwmon5.c +++ b/board/lwmon5/lwmon5.c @@ -567,11 +567,13 @@ unsigned int board_video_init (void) return CFG_LIME_BASE_0; } -void board_backlight_switch (int flag) +#define DEFAULT_BRIGHTNESS 0x64 + +static void board_backlight_brightness(int brightness) { - if (flag) { + if (brightness > 0) { /* pwm duty, lamp on */ - out_be32((void *)(CFG_FPGA_BASE_0 + 0x00000024), 0x64); + out_be32((void *)(CFG_FPGA_BASE_0 + 0x00000024), brightness); out_be32((void *)(CFG_FPGA_BASE_0 + 0x00000020), 0x701); } else { /* lamp off */ @@ -580,6 +582,22 @@ void board_backlight_switch (int flag) } } +void board_backlight_switch (int flag) +{ + char * param; + int rc; + + if (flag) { + param = getenv("brightness"); + rc = param ? simple_strtol(param, NULL, 10) : -1; + if (rc < 0) + rc = DEFAULT_BRIGHTNESS; + } else { + rc = 0; + } + board_backlight_brightness(rc); +} + #if defined(CONFIG_CONSOLE_EXTRA_INFO) /* * Return text to be printed besides the logo. |