It could be due to incorrect slave address being used. The internal register address assignments are shown in Table 27 on page 100 of the datasheet (Rev 2; 8/16), and is also included below.
If the internal memory address is less than 0xFF, 0x6C should be used as the slave address.
If the internal memory address is larger than 0xFF and smaller than 0x180, 0x16 should be used as the slave address. Register addresses 0x00 - 0x7F correspond to internal memory range 0x100 - 0x17F.
If the internal memory address is larger than 0x17F, 0x16 should be used as the slave address. Register addresses 0X80 - 0xFF correspond to internal memory range 0x180 - 0x1FF.