aboutsummaryrefslogtreecommitdiff
path: root/common/cmd_eeprom.c
diff options
context:
space:
mode:
authorwdenk2003-06-19 23:40:20 +0000
committerwdenk2003-06-19 23:40:20 +0000
commit6dd652fa4d8591a32e2707a91f4582ed13011b17 (patch)
tree52d7c375a3a33d634e7c30908a75bf9616d92854 /common/cmd_eeprom.c
parent52f52c1494eedaeacccad6e2331f4f638b48f5ab (diff)
Patches by Murray Jensen, 17 Jun 2003:
- Hymod board database mods: add "who" field and new xilinx chip types - provide new "init_cmd_timeout()" function so code external to "common/main.c" can use the "reset_cmd_timeout()" function before entering the main loop - add DTT support for adm1021 (new file dtt/adm1021.c; config slightly different. see include/configs/hymod.h for an example (requires CONFIG_DTT_ADM1021, CONFIG_DTT_SENSORS, and CFG_DTT_ADM1021 defined) - add new "eeprom_probe()" function which has similar args and behaves in a similar way to "eeprom_read()" etc. - add 8260 FCC ethernet loopback code (new "eth_loopback_test()" function which is enabled by defining CONFIG_ETHER_LOOPBACK_TEST) - gdbtools copyright update - ensure that set_msr() executes the "sync" and "isync" instructions after the "mtmsr" instruction in cpu/mpc8260/interrupts.c - 8260 I/O ports fix: Open Drain should be set last when configuring - add SIU IRQ defines for 8260 - allow LDSCRIPT override and OBJCFLAGS initialization: change to config.mk to allow board configurations to override the GNU linker script, selected via the LDSCRIPT, make variable, and to give an initial value to the OBJCFLAGS make variable - 8260 i2c enhancement: o correctly extends the timeout depending on the size of all queued messages for both transmit and receive o will not continue with receive if transmit times out o ensures that the error callback is done for all queued tx and rx messages o correctly detects both tx and rx timeouts, only delivers one to the callback, and does not overwrite an earlier error o logic in i2c_probe now correct - add "vprintf()" function so that "panic()" function can be technically correct - many Hymod board changes
Diffstat (limited to 'common/cmd_eeprom.c')
-rw-r--r--common/cmd_eeprom.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/common/cmd_eeprom.c b/common/cmd_eeprom.c
index 32bab1a8c0a..3db0bca69da 100644
--- a/common/cmd_eeprom.c
+++ b/common/cmd_eeprom.c
@@ -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
*/