summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Loeliger <jdl@freescale.com>2005-07-28 10:35:56 -0500
committerJon Loeliger <jdl@freescale.com>2005-07-28 10:35:56 -0500
commita720fd99b614ba36293565771bcd19799bc53959 (patch)
treeac6bb53573fffe2745caf93330cd5aa7a4e76e82
parentf046ccd15c8bc9613bfd72916b761a127d36e5c6 (diff)
parent15f36a5efd31fe608b43dc197ebbd80d3cecbe44 (diff)
Merge with rsync://git-user@source.denx.net/git/u-boot.git
-rw-r--r--CHANGELOG8
-rw-r--r--common/cmd_dcr.c2
-rw-r--r--post/sysmon.c13
3 files changed, 20 insertions, 3 deletions
diff --git a/CHANGELOG b/CHANGELOG
index f1ef6d946b..acd36fa1b9 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -34,6 +34,14 @@ Changes for U-Boot 1.1.3:
Eliminates the CONFIG_MPC8560 option entirely. Distributes the
new CONFIG_CPM2 option to each 8260 board.
+* Fix sysmon POST problem: check I2C error codes
+ This fixes a problem of displaying bogus voltages when the voltages
+ are so low that the I2C devices start failing while the rest of the
+ system keeps running.
+
+* Patch by Cedric Vincent, 6 Jul 2005:
+ Fix CFG_CMD_SETGETDCR handling in "common/cmd_dcr.c"
+
* Patch by Jon Loeliger, 20 Jul 2005:
Add missing PCI IO port definitions.
diff --git a/common/cmd_dcr.c b/common/cmd_dcr.c
index a91db66e02..3e4e08f95b 100644
--- a/common/cmd_dcr.c
+++ b/common/cmd_dcr.c
@@ -29,7 +29,7 @@
#include <config.h>
#include <command.h>
-#if defined(CONFIG_4xx) && defined(CFG_CMD_SETGETDCR)
+#if defined(CONFIG_4xx) && (CONFIG_COMMANDS & CFG_CMD_SETGETDCR)
/* ======================================================================
* Interpreter command to retrieve an IBM PPC 4xx Device Control Register
diff --git a/post/sysmon.c b/post/sysmon.c
index 8758ccdc0a..72fcac3850 100644
--- a/post/sysmon.c
+++ b/post/sysmon.c
@@ -185,6 +185,10 @@ static char *sysmon_unit_value (sysmon_table_t *s, uint val)
char *p, sign;
int dec, frac;
+ if (val == -1) {
+ return "I/O ERROR";
+ }
+
if (unit_val < 0) {
sign = '-';
unit_val = -unit_val;
@@ -297,8 +301,13 @@ int sysmon_post_test (int flags)
}
val = t->sysmon->read(t->sysmon, t->addr);
- t->val_valid = val >= t->val_min && val <= t->val_max;
- t->val_valid_alt = val >= t->val_min_alt && val <= t->val_max_alt;
+ if (val != -1) {
+ t->val_valid = val >= t->val_min && val <= t->val_max;
+ t->val_valid_alt = val >= t->val_min_alt && val <= t->val_max_alt;
+ } else {
+ t->val_valid = 0;
+ t->val_valid_alt = 0;
+ }
if (t->exec_after) {
t->exec_after(t);