[U-Boot-Users] i2c compiling and/or linking problem - solved (for the archive)

Jerry Van Baren gerald.vanbaren at smiths-aerospace.com
Fri Feb 11 16:10:54 CET 2005

Peter Asemann wrote:


> But ... another assumption of mine ... normally hardware support makes 
> things easier than if there is no hardware support, for noone implements 
> hardware support for something that can be done in software quite 
> simple... or not?

Not necessarily.  Hardware can do things in the background, but u-boot 
doesn't use "background" operation (by design and mostly by necessity). 
  Hardware requires setting up the operation, waiting for it to 
complete, and then getting the results.  Error detection and recovery 
(especially for I2C) is a real pain.

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).

>>> less to configure in the /include/configs/board.h file.
>>> Why is the HARD I2c so much more difficult?
>> Just look at the code.
> Okay, the HARD code is twice as long and looks more complicated, but 
> this could - theoretically - also be the fault of the coder, not the 
> hardware.

We're all above average here ;-).  Seriously, there isn't much 
inefficient code in u-boot.  About the only thing I can think of is the 
8245 I2C code (which is hardware only)... that is an ugly glue-in of 
some example Mot code so we can Blame Someone Else[tm].


> Best regards,
> Peter Asemann


More information about the U-Boot mailing list