
In message 420CCAFE.3000004@smiths-aerospace.com you wrote:
Trivia: I2C on the 82xx and, IIRC, 8xx family is actually done in software (microcode in the CPM) and is horribly inefficient in terms of CPM resources (not that that matters for u-boot).
Well, it DOES matter.
If you need to access data in U-Boot, you most probably will want to access the same data in Linux, too. If not now, then with your next software update. We just had a case where a customer ran into I2C problems during shutdown of the system - he tried to save a lot of data to an IDE device connected to the PCMCIA controller, and to an EEPROM on the I2C bus. We got lots of lost IDE interrupts because the PCMCIA controller died again and again when the CPM got overloaded, and we got lots of I2C errors - it turned out that writing just a few bytes to EEPROM ran into a timeout which was set to a generous full second. Unfortunately, the CPM needed more than 3 seconds (!) in some cases to complete the I2C request.
I really dislike I2C, especially when used to store data like in an EEPROM.
Best regards,
Wolfgang Denk