I'm trying to read the Device Name from address 0x21 on a BQ40Z80 fuel gauge, using my nRF9160 chip, connected via SMBus.
When polling the address space, I nicely get an ACK from 0x0B, which is the default address of the BQ40Z80. Reading words is working just fine, I can read the default values.
However, address 0x21 has to be read using a SMBus block read, which does not work. In fact, none of the addresses requiring SMBus block reads are working.
Using my logic analyzer I captured this, which to me looks like a valid SMBus block read (the green dots represent STARTs), but the result is thoroughly off (I would expect 'BQ40Z80'):
Could anyone point out why this is not working?