Part Number: TMS320F28377D
I'm trying to talk with a LTC2977 over pmbus / i2c from a 28377D.
In the read byte protocol there's a repeated start condition in the middle of the message between the command code and slave address. Can someone guide me on how to generate a repeated start condition? I can't seem to figure out how to set the I2CMDR register to achieve this.


For the command code transfer in the first part I tried setting I2CMDR = 0x2620 (FREE=1, STT=1, STP=0, MST=1, TRX=1, IRS=1) but it doesn't transmit the command code. It generates a start condition but doesn’t transmit the command code byte.
I also tried I2CMDR = 0x26A0 (FREE=1, STT=1, STP=0, MST=1, TRX=1, RM=1, IRS=1) but get similar result.
If I use I2CMDR = 0x2E20 (FREE=1, STT=1, STP=1, MST=1, TRX=1, IRS=1) it transmits the byte but generates a stop condition after the byte which goes against the 2977 protocol. I need the repeated start without stop.
For the read part of the message I’m using I2CMDR = 0x2C20 (FREE=1, STT=1, STP=1, MST=1, TRX=0, IRS=1) which seems to work well but since I’m not sending the command code part correctly I don’t get any data back from the 2977.