Brian Hutchinson 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.
Looks pretty standard if you map "cmd byte" to "register". > The EEPROM really doesn't have addresses/offsets so I tried: > > imw 28 11 80 1 What is the trailing '1' here? Or is the '80' bogus? I would expect this to work. The i2c command defaults to a one byte register offset. To write a 0x80 byte to register (aka command) 0x11, you want to do this: imw 28 11.1 80 which should be the same as this: imw 28 11 80 > imw.w 28 0.0 1180 That seems like it should work also, although the '11' is more logically a register offset. > ... but it doesn't appear to play well with my device. Trivia: the old imw (imr, etc) commands are deprecated, you should use the new "i2c <cmd>" versions. [snip] > Regards, > > Brian Good luck, gvb _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

