
Hello Wolfgang,
sorry but it's the first time for me. let's try again.
we modified the specification for the lwmon5 board dspic POST. Additionally I have add defines for the temperature- and voltagevalues.
Signed-off-by: Sascha Laue sascha.laue@liebherr.com --- post/board/lwmon5/sysmon.c | 39 ++++++++++++++++++++++++++++++--------- 1 files changed, 30 insertions(+), 9 deletions(-)
diff --git a/post/board/lwmon5/sysmon.c b/post/board/lwmon5/sysmon.c --- a/post/board/lwmon5/sysmon.c index 0cf1cf2..77e7ea2 100644 +++ b/post/board/lwmon5/sysmon.c @@ -34,9 +34,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 .. +90 C + * +5V +4.50 .. +5.50 V + * +5V standby +3.50 .. +5.50 V * * LCD backlight is not enabled if temperature values are not within * allowed ranges (-30 .. + 80). The brightness of backlite can be @@ -62,6 +62,21 @@ extern int dspic_read(ushort reg, ushort *data);
#define RELOC(x) if (x != NULL) x = (void *) ((ulong) (x) + gd->reloc_off)
+#define REG_TEMPERATURE 0x12BC +#define REG_VOLTAGE_5V 0x12CA +#define REG_VOLTAGE_5V_STANDBY 0x12C6 + +#define TEMPERATURE_MIN (-40) /* C */ +#define TEMPERATURE_MAX (+90) /* C */ +#define TEMPERATURE_DISPLAY_MIN (-35) /* C */ +#define TEMPERATURE_DISPLAY_MAX (+85) /* C */ + +#define VOLTAGE_5V_MIN (+4500) /* mV */ +#define VOLTAGE_5V_MAX (+5500) /* mV */ + +#define VOLTAGE_5V_STANDBY_MIN (+3500) /* mV */ +#define VOLTAGE_5V_STANDBY_MAX (+5500) /* mV */ + typedef struct sysmon_s sysmon_t; typedef struct sysmon_table_s sysmon_table_t;
@@ -115,16 +130,22 @@ struct sysmon_table_s static sysmon_table_t sysmon_table[] = { {"Temperature", " C", &sysmon_dspic_sgn, NULL, sysmon_backlight_disable, - 1, 1, -32768, 32767, 0xFFFF, 0x8000-40, 0x8000+85, 0, - 0x8000-30, 0x8000+80, 0, 0x12BC}, + 1, 1, -32768, 32767, 0xFFFF, + 0x8000 + TEMPERATURE_MIN, 0x8000 + TEMPERATURE_MAX, 0, + 0x8000 + TEMPERATURE_DISPLAY_MIN, 0x8000 + TEMPERATURE_DISPLAY_MAX, 0, + REG_TEMPERATURE },
{"+ 5 V", "V", &sysmon_dspic, NULL, NULL, - 100, 1000, 0, 0xFFFF, 0xFFFF, 4750, 5250, 0, - 4750, 5250, 0, 0x12CA}, + 100, 1000, 0, 0xFFFF, 0xFFFF, + VOLTAGE_5V_MIN, VOLTAGE_5V_MAX, 0, + VOLTAGE_5V_MIN, VOLTAGE_5V_MAX, 0, + REG_VOLTAGE_5V },
{"+ 5 V standby", "V", &sysmon_dspic, NULL, NULL, - 100, 1000, 0, 0xFFFF, 0xFFFF, 4750, 5250, 0, - 4750, 5250, 0, 0x12C6}, + 100, 1000, 0, 0xFFFF, 0xFFFF, + VOLTAGE_5V_STANDBY_MIN, VOLTAGE_5V_STANDBY_MAX 5250, 0, + VOLTAGE_5V_STANDBY_MIN, VOLTAGE_5V_STANDBY_MAX, 0, + REG_VOLTAGE_5V_STANDBY }, }; static int sysmon_table_size = sizeof(sysmon_table) / sizeof(sysmon_table[0]);