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>
This commit is contained in:
parent
3d61018643
commit
46bc0a9387
@ -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.
|
||||
|
@ -41,16 +41,6 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||
#define FPGA_RAM_END 0xC4203FFF
|
||||
#define FPGA_STAT 0xC400000C
|
||||
|
||||
#define FPGA_PWM_CTRL_REG 0xC4000020
|
||||
#define FPGA_PWM_TV_REG 0xC4000024
|
||||
|
||||
/* Turn on backlight, set brightness */
|
||||
void fpga_backlight_enable(int pwm)
|
||||
{
|
||||
out_be16((void *)FPGA_PWM_CTRL_REG, 0x0701);
|
||||
out_be16((void *)FPGA_PWM_TV_REG, pwm);
|
||||
}
|
||||
|
||||
#if CONFIG_POST & CFG_POST_BSPEC3
|
||||
|
||||
static int one_scratch_test(uint value)
|
||||
|
@ -49,18 +49,16 @@
|
||||
#include <watchdog.h>
|
||||
#include <i2c.h>
|
||||
|
||||
#if defined(CONFIG_VIDEO)
|
||||
#include <mb862xx.h>
|
||||
#endif
|
||||
|
||||
#if CONFIG_POST & CFG_POST_SYSMON
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
#define DEFAULT_BRIGHTNESS 50
|
||||
|
||||
/* from dspic.c */
|
||||
extern int dspic_read(ushort reg);
|
||||
/* from fpga.c */
|
||||
extern void fpga_backlight_enable(int v);
|
||||
|
||||
static int sysmon_temp_invalid;
|
||||
|
||||
#define RELOC(x) if (x != NULL) x = (void *) ((ulong) (x) + gd->reloc_off)
|
||||
|
||||
@ -70,7 +68,6 @@ typedef struct sysmon_table_s sysmon_table_t;
|
||||
static void sysmon_dspic_init (sysmon_t * this);
|
||||
static int sysmon_dspic_read (sysmon_t * this, uint addr);
|
||||
static void sysmon_backlight_disable (sysmon_table_t * this);
|
||||
static void sysmon_backlight_enable (sysmon_table_t * this);
|
||||
|
||||
struct sysmon_s
|
||||
{
|
||||
@ -120,7 +117,7 @@ static sysmon_table_t sysmon_table[] =
|
||||
100, 1000, -0x8000, 0x7FFF, 0xFFFF, 0x8000+4750, 0x8000+5250, 0,
|
||||
0x8000+4750, 0x8000+5250, 0, 0x12CA},
|
||||
|
||||
{"+ 5 V standby", "V", &sysmon_dspic, NULL, sysmon_backlight_enable,
|
||||
{"+ 5 V standby", "V", &sysmon_dspic, NULL, NULL,
|
||||
100, 1000, -0x8000, 0x7FFF, 0xFFFF, 0x8000+4750, 0x8000+5250, 0,
|
||||
0x8000+4750, 0x8000+5250, 0, 0x12C6},
|
||||
};
|
||||
@ -205,23 +202,9 @@ static int sysmon_dspic_read (sysmon_t * this, uint addr)
|
||||
|
||||
static void sysmon_backlight_disable (sysmon_table_t * this)
|
||||
{
|
||||
if (!this->val_valid_alt)
|
||||
sysmon_temp_invalid = 1;
|
||||
}
|
||||
|
||||
static void sysmon_backlight_enable (sysmon_table_t * this)
|
||||
{
|
||||
char * param;
|
||||
int rc;
|
||||
|
||||
if (!sysmon_temp_invalid) {
|
||||
param = getenv("brightness");
|
||||
rc = param ? simple_strtol(param, NULL, 10) : -1;
|
||||
if (rc >= 0)
|
||||
fpga_backlight_enable(rc);
|
||||
else
|
||||
fpga_backlight_enable(DEFAULT_BRIGHTNESS);
|
||||
}
|
||||
#if defined(CONFIG_VIDEO)
|
||||
board_backlight_switch(this->val_valid_alt);
|
||||
#endif
|
||||
}
|
||||
|
||||
int sysmon_post_test (int flags)
|
||||
|
Loading…
Reference in New Issue
Block a user