]> git.sur5r.net Git - u-boot/blobdiff - common/cmd_eeprom.c
Fix 'mii help' text formatting
[u-boot] / common / cmd_eeprom.c
index 32bab1a8c0ad334b777e0eb9433081c2f3951a4b..80b8ccc1e8d08d0d695254a6ab13314fbf5d8256 100644 (file)
@@ -75,7 +75,7 @@ int do_eeprom ( cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 
                        rcode = eeprom_read (dev_addr, off, (uchar *) addr, cnt);
 
-                       printf ("done\n");
+                       puts ("done\n");
                        return rcode;
                } else if (strcmp (argv[1], "write") == 0) {
                        int rcode;
@@ -84,7 +84,7 @@ int do_eeprom ( cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 
                        rcode = eeprom_write (dev_addr, off, (uchar *) addr, cnt);
 
-                       printf ("done\n");
+                       puts ("done\n");
                        return rcode;
                }
        }
@@ -295,7 +295,7 @@ int eeprom_write (unsigned dev_addr, unsigned offset, uchar *buffer, unsigned cn
 #endif
                        }
                        if (i == MAX_ACKNOWLEDGE_POLLS) {
-                               printf("EEPROM poll acknowledge failed\n");
+                               puts ("EEPROM poll acknowledge failed\n");
                                rcode = 1;
                        }
                }
@@ -327,6 +327,26 @@ int eeprom_write (unsigned dev_addr, unsigned offset, uchar *buffer, unsigned cn
        return rcode;
 }
 
+#ifndef CONFIG_SPI
+int
+eeprom_probe (unsigned dev_addr, unsigned offset)
+{
+       unsigned char chip;
+
+       /* Probe the chip address
+        */
+#if CFG_I2C_EEPROM_ADDR_LEN == 1 && !defined(CONFIG_SPI_X)
+       chip = offset >> 8;             /* block number */
+#else
+       chip = offset >> 16;            /* block number */
+#endif /* CFG_I2C_EEPROM_ADDR_LEN, CONFIG_SPI_X */
+
+       chip |= dev_addr;               /* insert device address */
+
+       return (i2c_probe (chip));
+}
+#endif
+
 /*-----------------------------------------------------------------------
  * Set default values
  */
@@ -351,3 +371,26 @@ void eeprom_init  (void)
 /*-----------------------------------------------------------------------
  */
 #endif /* CFG_CMD_EEPROM */
+/***************************************************/
+
+#if (CONFIG_COMMANDS & CFG_CMD_EEPROM)
+
+#ifdef CFG_I2C_MULTI_EEPROMS
+U_BOOT_CMD(
+       eeprom, 6,      1,      do_eeprom,
+       "eeprom  - EEPROM sub-system\n",
+       "read  devaddr addr off cnt\n"
+       "eeprom write devaddr addr off cnt\n"
+       "       - read/write `cnt' bytes from `devaddr` EEPROM at offset `off'\n"
+);
+#else /* One EEPROM */
+U_BOOT_CMD(
+       eeprom, 5,      1,      do_eeprom,
+       "eeprom  - EEPROM sub-system\n",
+       "read  addr off cnt\n"
+       "eeprom write addr off cnt\n"
+       "       - read/write `cnt' bytes at EEPROM offset `off'\n"
+);
+#endif /* CFG_I2C_MULTI_EEPROMS */
+
+#endif /* CFG_CMD_EEPROM */