Signed-off-by: Peter Tyser <[EMAIL PROTECTED]> --- common/cmd_i2c.c | 36 +++++++++++++++++++++++------------- 1 files changed, 23 insertions(+), 13 deletions(-)
diff --git a/common/cmd_i2c.c b/common/cmd_i2c.c index 1f32646..ae7ed90 100644 --- a/common/cmd_i2c.c +++ b/common/cmd_i2c.c @@ -129,6 +129,8 @@ static int mod_i2c_mem(cmd_tbl_t *cmdtp, int incrflag, int flag, int argc, char *argv[]); extern int cmd_get_data_size(char* arg, int default_size); +DECLARE_GLOBAL_DATA_PTR; + /* * Syntax: * imd {i2c_chip} {addr}{.0, .1, .2} {len} @@ -144,9 +146,11 @@ int do_i2c_md ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) /* We use the last specified parameters, unless new ones are * entered. */ - chip = i2c_dp_last_chip; - addr = i2c_dp_last_addr; - alen = i2c_dp_last_alen; + if (gd->flags & GD_FLG_RELOC) { + chip = i2c_dp_last_chip; + addr = i2c_dp_last_addr; + alen = i2c_dp_last_alen; + } length = i2c_dp_last_length; if (argc < 3) { @@ -227,10 +231,12 @@ int do_i2c_md ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) nbytes -= linebytes; } while (nbytes > 0); - i2c_dp_last_chip = chip; - i2c_dp_last_addr = addr; - i2c_dp_last_alen = alen; - i2c_dp_last_length = length; + if (gd->flags & GD_FLG_RELOC) { + i2c_dp_last_chip = chip; + i2c_dp_last_addr = addr; + i2c_dp_last_alen = alen; + i2c_dp_last_length = length; + } return 0; } @@ -432,9 +438,11 @@ mod_i2c_mem(cmd_tbl_t *cmdtp, int incrflag, int flag, int argc, char *argv[]) * We use the last specified parameters, unless new ones are * entered. */ - chip = i2c_mm_last_chip; - addr = i2c_mm_last_addr; - alen = i2c_mm_last_alen; + if (gd->flags & GD_FLG_RELOC) { + chip = i2c_mm_last_chip; + addr = i2c_mm_last_addr; + alen = i2c_mm_last_alen; + } if ((flag & CMD_FLAG_REPEAT) == 0) { /* @@ -529,9 +537,11 @@ mod_i2c_mem(cmd_tbl_t *cmdtp, int incrflag, int flag, int argc, char *argv[]) } } while (nbytes); - i2c_mm_last_chip = chip; - i2c_mm_last_addr = addr; - i2c_mm_last_alen = alen; + if (gd->flags & GD_FLG_RELOC) { + i2c_mm_last_chip = chip; + i2c_mm_last_addr = addr; + i2c_mm_last_alen = alen; + } return 0; } -- 1.5.4.3 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot