Amol, In I2C the device address is a 7-bit number. Whenever an I2C transaction occurs the master sends the 7-bit slave address and then a Read/Write bit. That is, the total transfer for the address ends up being 8 bits when you count read/write. Because of that, there is some general confusion as to how to represent the address, i.e. whether to show it left-justified so you can simply OR the Read/Write bit or whether to show it right-justified which would be the actual 7-bit address.
Whenever you do I2C you should always keep that in mind as you're reading datasheets. Take a look to see if they're putting a read/write bit in the lsb. Also, when dealing with APIs you need to be careful whether the API wants the address to be left- or right-aligned. So in your case the slave address is 0x6F. To do a write you would send 0xDE and to do a read you would send 0xDF. Brad -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Amol Lad Sent: Sunday, January 21, 2007 12:18 AM To: davinci-linux-open-source@linux.davincidsp.com Subject: External I2C device (Solved) I'm connecting external RTC (ISl1208) to Davinci on I2C. It's slave address as per device spec is 0xDE. BUT in davinci the device is responding at address 0x6F In my all other platforms the device responds at 0xDE. I use davinci_i2c_read/davinci_i2c_write APIs ? One more point. 0x6F << 1 == 0xDE _______________________________________________ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source