SLVUCR8A September   2023  – March 2024 TPS25751

 

  1.   1
  2.   Read This First
    1.     Notational Conventions
    2.     Glossary
    3.     Related Documents
    4.     Support Resources
    5.     Trademarks
  3. 1Introduction
    1. 1.1 Introduction
      1. 1.1.1 Purpose and Scope
    2. 1.2 PD Controller Host Interface Description
      1. 1.2.1 Overview
      2. 1.2.2 Register and Field Notation
    3. 1.3 Unique Address Interface
      1. 1.3.1 Unique Address Interface Protocol
  4. 2PD Controller Policy Modes
    1. 2.1 Overview
    2. 2.2 Source Policy Mode
    3. 2.3 Sink Policy Mode
  5. 3TPS25751 Registers
  6. 44CC Task Detailed Descriptions
    1. 4.1 CPU Control Tasks
      1. 4.1.1 'Gaid' - Return to Normal Operation
      2. 4.1.2 'GAID' - Cold Reset Request
    2. 4.2 PD Message Tasks
      1. 4.2.1 'SWSk' - PD PR_Swap to Sink
      2. 4.2.2 'SWSr' - PD PR_Swap to Source
      3. 4.2.3 'SWDF' - PD DR_Swap to DFP
      4. 4.2.4 'SWUF' - PD DR_Swap to UFP
      5. 4.2.5 'GSkC' - PD Get Sink Capabilities
      6. 4.2.6 'GSrC' - PD Get Source Capabilities
      7. 4.2.7 'GPPI' - PD Get Port Partner Information
      8. 4.2.8 'SSrC' - PD Send Source Capabilities
      9. 4.2.9 'MBRd' - Message Buffer Read
    3. 4.3 Patch Bundle Update Tasks
      1. 4.3.1 'PBMs' - Start Patch Burst Mode Download Sequence
      2. 4.3.2 'PBMc' - Patch Burst Mode Download Complete
      3. 4.3.3 'PBMe' - End Patch Burst Mode Download Sequence
      4. 4.3.4 'GO2P' - Go to Patch Mode
    4. 4.4 System Tasks
      1. 4.4.1 'DBfg' - Clear Dead Battery Flag
      2. 4.4.2 'I2Cr' - I2C Read Transaction
      3. 4.4.3 'I2Cw' - I2C Write Transaction
  7. 5User Reference
    1. 5.1 PD Controller Application Customization
    2. 5.2 Loading a Patch Bundle
    3. 5.3 GPIO Events
    4. 5.4 AUTO_NEGOTIATE_SINK Register
      1. 5.4.1 AUTO_NEGOTIATE_SINK Usage Example 1
      2. 5.4.2 AUTO_NEGOTIATE_SINK Usage Example 2
      3. 5.4.3 AUTO_NEGOTIATE_SINK Usage Example 3
      4. 5.4.4 AUTO_NEGOTIATE_SINK Usage Example 4
  8. 6Revision History

'I2Cw' - I2C Write Transaction

Table 4-18 'I2Cw' - Executes I2C Write Transaction on I2Cc
DescriptionThe 'I2Cw' task can be used to cause the PD controller to write a particular I2C transaction using I2Cc_SDA and I2Cc_SCL.
INPUT DATAXBitNameDescription
Bytes 5-14: Payload for the I2C transaction
Byte 4: Register Offset for the I2C transaction
7:0Register offset
Bytes 2-3: Length
15:8Reserved
7:0Number of bytes in the transaction payload.
Byte 1: Target Address
7Reserved
6:0Target to use for the transaction.
OUTPUT DATAXByte 1: Standard Task Return Code
Task CompletionThe PD controller maintains a queue of transactions to send on the I2Cc 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 guarantee that the I2C transaction is complete. If possible, the host must use the 'I2Cr' 4CC task to confirm the write was successful.
Side EffectsWhen successful, this task will cause the PD controller to issue a command on the I2Cc port. This can result in INT_EVENTx.I2CControllerNACKed being asserted.
Additional InformationIf the DATAX 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. The 'I2Cw' command cannot be sent within 5s from sending a previous 'I2Cw' command. This allows the PD controller to complete all I2C transactions.