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;
rcode = eeprom_write (dev_addr, off, (uchar *) addr, cnt);
- printf ("done\n");
+ puts ("done\n");
return rcode;
}
}
#endif
}
if (i == MAX_ACKNOWLEDGE_POLLS) {
- printf("EEPROM poll acknowledge failed\n");
+ puts ("EEPROM poll acknowledge failed\n");
rcode = 1;
}
}
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
*/
/*-----------------------------------------------------------------------
*/
#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 */