diff options
author | Wolfgang Denk <wd@denx.de> | 2008-04-25 11:32:01 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2008-04-25 11:32:01 +0200 |
commit | 4b7a6dd89633d60dc4b58476d5ce48247f82a3ca (patch) | |
tree | d3cfeccec77867d855289809d6a472617d16c0cc /post/board/lwmon5/sysmon.c | |
parent | 926662762e5d280f6a9caed8dd9f49be2ebcaf2f (diff) | |
parent | a6e6fc610e39dec41b79680413d4ed38145bd3c8 (diff) | |
download | u-boot-4b7a6dd89633d60dc4b58476d5ce48247f82a3ca.tar.gz |
Merge branch 'master' of /home/wd/git/u-boot/lwmon5
Conflicts:
common/cmd_bootm.c
common/cmd_log.c
include/common.h
post/board/lwmon5/Makefile
post/board/lwmon5/dsp.c
post/board/lwmon5/dspic.c
post/board/lwmon5/fpga.c
post/board/lwmon5/gdc.c
post/board/lwmon5/sysmon.c
post/board/lwmon5/watchdog.c
Signed-off-by: Wolfgang Denk <wd@denx.de>
Diffstat (limited to 'post/board/lwmon5/sysmon.c')
-rw-r--r-- | post/board/lwmon5/sysmon.c | 44 |
1 files changed, 15 insertions, 29 deletions
diff --git a/post/board/lwmon5/sysmon.c b/post/board/lwmon5/sysmon.c index 0cf1cf2a24..15661e3e08 100644 --- a/post/board/lwmon5/sysmon.c +++ b/post/board/lwmon5/sysmon.c @@ -25,8 +25,6 @@ #include <post.h> #include <common.h> -#ifdef CONFIG_POST - /* * SYSMON test * @@ -34,9 +32,9 @@ * The test passes when all the following voltages and temperatures * are within allowed ranges: * - * Temperature -40 .. +85 C - * +5V +4.75 .. +5.25 V - * +5V standby +4.75 .. +5.25 V + * Temperature -40 .. +85 C + * +5V +4.75 .. +5.25 V + * +5V standby +4.75 .. +5.25 V * * LCD backlight is not enabled if temperature values are not within * allowed ranges (-30 .. + 80). The brightness of backlite can be @@ -58,7 +56,7 @@ DECLARE_GLOBAL_DATA_PTR; /* from dspic.c */ -extern int dspic_read(ushort reg, ushort *data); +extern int dspic_read(ushort reg); #define RELOC(x) if (x != NULL) x = (void *) ((ulong) (x) + gd->reloc_off) @@ -67,7 +65,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 int sysmon_dspic_read_sgn (sysmon_t * this, uint addr); static void sysmon_backlight_disable (sysmon_table_t * this); struct sysmon_s @@ -80,13 +77,9 @@ struct sysmon_s static sysmon_t sysmon_dspic = {CFG_I2C_DSPIC_IO_ADDR, sysmon_dspic_init, sysmon_dspic_read}; -static sysmon_t sysmon_dspic_sgn = - {CFG_I2C_DSPIC_IO_ADDR, sysmon_dspic_init, sysmon_dspic_read_sgn}; - static sysmon_t * sysmon_list[] = { &sysmon_dspic, - &sysmon_dspic_sgn, NULL }; @@ -114,17 +107,17 @@ struct sysmon_table_s static sysmon_table_t sysmon_table[] = { - {"Temperature", " C", &sysmon_dspic_sgn, NULL, sysmon_backlight_disable, + {"Temperature", " C", &sysmon_dspic, NULL, sysmon_backlight_disable, 1, 1, -32768, 32767, 0xFFFF, 0x8000-40, 0x8000+85, 0, - 0x8000-30, 0x8000+80, 0, 0x12BC}, + 0x8000-30, 0x8000+80, 0, 0x12BC}, {"+ 5 V", "V", &sysmon_dspic, NULL, NULL, - 100, 1000, 0, 0xFFFF, 0xFFFF, 4750, 5250, 0, - 4750, 5250, 0, 0x12CA}, + 100, 1000, -0x8000, 0x7FFF, 0xFFFF, 0x8000+4750, 0x8000+5250, 0, + 0x8000+4750, 0x8000+5250, 0, 0x12CA}, {"+ 5 V standby", "V", &sysmon_dspic, NULL, NULL, - 100, 1000, 0, 0xFFFF, 0xFFFF, 4750, 5250, 0, - 4750, 5250, 0, 0x12C6}, + 100, 1000, -0x8000, 0x7FFF, 0xFFFF, 0x8000+4750, 0x8000+5250, 0, + 0x8000+4750, 0x8000+5250, 0, 0x12C6}, }; static int sysmon_table_size = sizeof(sysmon_table) / sizeof(sysmon_table[0]); @@ -161,7 +154,9 @@ static char *sysmon_unit_value (sysmon_table_t *s, uint val) static char buf[32]; char *p, sign; int decimal, frac; - int unit_val = + int unit_val; + + unit_val = s->unit_min + (s->unit_max - s->unit_min) * val / s->val_mask; if (val == -1) @@ -197,18 +192,10 @@ static void sysmon_dspic_init (sysmon_t * this) static int sysmon_dspic_read (sysmon_t * this, uint addr) { - ushort data; - - return (dspic_read(addr, &data)) ? -1 : data; -} - -static int sysmon_dspic_read_sgn (sysmon_t * this, uint addr) -{ - ushort data; + int res = dspic_read(addr); /* To fit into the table range we should add 0x8000 */ - return (dspic_read(addr, &data)) ? -1 : - (signed short)data + 0x8000; + return (res == -1) ? -1 : (res + 0x8000); } static void sysmon_backlight_disable (sysmon_table_t * this) @@ -256,4 +243,3 @@ int sysmon_post_test (int flags) } #endif /* CONFIG_POST & CFG_POST_SYSMON */ -#endif /* CONFIG_POST */ |