aboutsummaryrefslogtreecommitdiffstats
path: root/src/doc
diff options
context:
space:
mode:
authorMichael Brown <mcb30@etherboot.org>2008-10-01 19:15:07 +0100
committerMichael Brown <mcb30@etherboot.org>2008-10-01 19:24:56 +0100
commit9dccbc0af2337e3e81716b338c0f55449c0be360 (patch)
treec28206f93faef967455025e036c8efa6fe1623bb /src/doc
parent91802c6e85fb5153d397ca019a95632841999c1f (diff)
downloadipxe-9dccbc0af2337e3e81716b338c0f55449c0be360.tar.gz
[i2c] Generalise i2c bit-bashing support to addressless devices
Some devices (e.g. the Atmel AT24C11) have no concept of a device address; they respond to every device address and use this value as the word address. Some other devices use part of the device address field to extend the word address field. Generalise the i2c bit-bashing support to handle this by defining the device address length and word address length as properties of an i2c device. The word address is assumed to overflow into the device address field if the address used exceeds the width of the word address field. Also add a bus reset mechanism. i2c chips don't usually have a reset line, so rebooting the host will not clear any bizarre state that the chip may be in. We reset the bus by clocking SCL until we see SDA high, at which point we know we can generate a start condition and have it seen by all devices. We then generate a stop condition to leave the bus in a known state prior to use. Finally, add some extra debugging messages to i2c_bit.c.
Diffstat (limited to 'src/doc')
0 files changed, 0 insertions, 0 deletions