My design has a TLV320AIC3101 which I'm configuring over the I2C bus from a microcontroller. If a write happens as a single complete I2C transaction, the AIC3101 registers get written correctly. If I write the register address and then issue a repeated start and write the data, the AIC3101 registers remain unchanged.
Section 11.5.1 in the datasheet mentions repeated starts, so I would expect it to work. I suppose it's possible they only consider it for reads, but that seems strange.
Has anyone else run into this? Am I missing something?