Your NACK could be due to having the wrong slave address. The 7-bit slave
address is shown many different ways. Sometimes it's shown left-aligned so
that you can OR the R/W bit into the address. Other times it's right aligned.
Also, the driver itself sometimes expects it one way or another!
GabrieleF,
If you are sure about address( suggestion from me :you don't provide the
right shifted address, provide 0x42 for write).
Then may be it is due to Davinci I2c adapter driver which is not
reentrant (if your soc as more than one I2C-CONTROLLER), then make sure
that you are writing