SLVUC05A November 2020 – July 2022 TPS25750
The patch bundle may contain Application Customization data and a Patch binary that modifies the default application firmware in the PD controller. This section describes how the host can load the patch bundle. The host uses the I2Cs bus for all transactions related to loading the patch bundle. As noted in the flow diagram below, the I2C slave address varies depending upon which mode the PD controller is in. The Patch Burst Mode allows the host to push the Patch Bundle to multiple PD controllers simultaneously.
The following flow diagram illustrates the normal successful patch loading process. Other error handling steps may be necessary depending upon the nature of the errors encountered for a particular system. The EC may reset and restart the patch process by issuing a 'PBMe' 4CC Task.
MODE register read-back value | I2Cs |
---|---|
Slave Address #1 | |
'BOOT' | As configured by ADCINx pins for Port A. This is the "Fundamental" I2C slave address. |
'PTCH'(1) | |
'APP '(2) |
While the host is writing the Patch Bundle burst data, the I2C protocol in the following figure must be followed. The host may send the entire Patch Bundle in a single I2C transaction, or it may break it up into multiple transactions. The PD controller increments the pointer into its patch memory space with each byte received on the Patch Slave address that was configured by DATA1.SlaveAddress as part of the 'PBMs' 4CC Task. The EC may re-issue a 'PBMs' 4CC Task or it may issue a 'PBMe' 4CC Task to reset the pointer.