SLVUC05A November 2020 – July 2022 TPS25750
Description | The 'I2Cw' task may be used to cause the PD controller to write a particular I2C transaction using I2Cm_SDA and I2Cm_SCL. | ||
---|---|---|---|
INPUT DATA | Bit | Name | Description |
Bytes 5-14: Payload for the I2C transaction. | |||
Byte 4: Register Offset for the I2C transaction. | |||
7:0 | Register offset. | ||
Bytes 2-3: Length. | |||
15:8 | Reserved. | ||
7:0 | Number of bytes in the transaction payload. | ||
Byte 1: Slave Address. | |||
7 | Reserved. | ||
6:0 | Slave to use for the transaction. | ||
OUTPUT DATA | Byte 1: Standard Task Return Code. See also Table 3-1. | ||
Task Completion | The PD controller maintains a queue of transactions to send on the I2Cm port. If the PD controller has been configured to send transactions upon certain events, it is possible there is a transaction in the queue when the 'I2Cw' task is received. In that case the task will complete successfully after the transaction is inserted into the queue. If the PD controller fails to insert the task into the queue for any reason, the task is rejected. Therefore, when this task is completed successfully it does not ensure that the I2C transaction is complete. If possible, the host must use the 'I2Cr' 4CC task to confirm the write was successful. | ||
Side Effects | When successful, this task will cause the PD controller to issue a command on the I2Cm port. This can result in INT_EVENT.I2CMasterNACKed being asserted. | ||
Additional Information | If the DATA register is written with more than 14 bytes, all bytes beyond byte 14 are ignored. The PD controller has a limit on the maximum length of the I2C write transaction. |