Add additional parameter into the eeprom command to select
the I2C bus on which the eeprom resides.

Signed-off-by: Marek Vasut <ma...@denx.de>
Cc: Simon Glass <s...@chromium.org>
Cc: Tom Rini <tr...@ti.com>
Cc: Heiko Schocher <h...@denx.de>
---
 common/cmd_eeprom.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/common/cmd_eeprom.c b/common/cmd_eeprom.c
index 0133b50..3b156ee 100644
--- a/common/cmd_eeprom.c
+++ b/common/cmd_eeprom.c
@@ -204,14 +204,21 @@ static int do_eeprom(cmd_tbl_t *cmdtp, int flag, int 
argc, char * const argv[])
        char * const *args = &argv[2];
        int rcode;
        ulong dev_addr, addr, off, cnt;
+       int bus_addr;
 
        switch (argc) {
 #ifdef CONFIG_SYS_DEF_EEPROM_ADDR
        case 5:
+               bus_addr = -1;
                dev_addr = CONFIG_SYS_DEF_EEPROM_ADDR;
                break;
 #endif
        case 6:
+               bus_addr = -1;
+               dev_addr = simple_strtoul(*args++, NULL, 16);
+               break;
+       case 7:
+               bus_addr = simple_strtoul(*args++, NULL, 16);
                dev_addr = simple_strtoul(*args++, NULL, 16);
                break;
        default:
@@ -222,7 +229,7 @@ static int do_eeprom(cmd_tbl_t *cmdtp, int flag, int argc, 
char * const argv[])
        off = simple_strtoul(*args++, NULL, 16);
        cnt = simple_strtoul(*args++, NULL, 16);
 
-       eeprom_init(-1);
+       eeprom_init(bus_addr);
 
        if (strcmp (argv[1], "read") == 0) {
                printf(fmt, dev_addr, argv[1], addr, off, cnt);
@@ -244,9 +251,9 @@ static int do_eeprom(cmd_tbl_t *cmdtp, int flag, int argc, 
char * const argv[])
 }
 
 U_BOOT_CMD(
-       eeprom, 6,      1,      do_eeprom,
+       eeprom, 7,      1,      do_eeprom,
        "EEPROM sub-system",
-       "read  devaddr addr off cnt\n"
-       "eeprom write devaddr addr off cnt\n"
+       "read  <bus> <devaddr> addr off cnt\n"
+       "eeprom write <bus> <devaddr> addr off cnt\n"
        "       - read/write `cnt' bytes from `devaddr` EEPROM at offset `off'"
 )
-- 
2.1.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to