summaryrefslogtreecommitdiff
path: root/board/lwmon5
diff options
context:
space:
mode:
authorYuri Tikhonov <yur@pollux.denx.de>2008-03-18 13:27:57 +0100
committerWolfgang Denk <wd@denx.de>2008-03-18 22:24:48 +0100
commit46bc0a938779aa1d664b847d36b08aa00f22e539 (patch)
treea56a9b130f6aa83714d6f624238a99e172d0eebd /board/lwmon5
parent3d61018643a2cd38c145aa6dde53f3f5f1a0e9cf (diff)
Fix backlight in the lwmon5 POST.
Backlight was switched 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')
-rw-r--r--board/lwmon5/lwmon5.c24
1 files changed, 21 insertions, 3 deletions
diff --git a/board/lwmon5/lwmon5.c b/board/lwmon5/lwmon5.c
index 7c5f6ccf1b..e5fa25937b 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.