On Tue, Sep 1, 2009 at 12:50 PM, Brian Hutchinson<[email protected]> wrote: > Hi all, > > I'm a little stumped as to how to write to a EEPot with the imw command. > > The EEPot is a Maxim 5434 and has an address of 0x28. To write to its > volatile or non-volatile register ... a command byte is given. > > Writing 5 bits of data (it is a 32 tap pot so that is where the 5 bits come > from) to move the wiper goes something like this: > > Start, 0x28, Ack, Cmd byte, Ack, Data byte, Ack, Stop > > Cmd byte is 0x11 to write to volatile reg. 0x21 to write to non-volatile > reg. > > The EEPROM really doesn't have addresses/offsets so I tried: > > imw 28 11 80 1
I believe this should do what you want. You could make double sure by doing imw 28 11.1 80 the .1 forces a one byte address. You don't need the trailing one count. Verify the device is asserting the ACK after each byte is sent with a 'scope. You also didn't mention what version code you're on. The soft_i2c.c code had some bugs in it that would result in extra transitions if the I/O had separate tristate enables that I patched a year or two ago. You should make sure you're on the latest. _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

