ZHCU943A November   2020  – July 2022 TPS25750

 

  1.   请先阅读
    1.     关于本手册
    2.     命名惯例
    3.     术语表
    4.     相关文档
    5.     支持资源
    6.     商标
  2. 1引言
    1. 1.1 引言
      1. 1.1.1 用途和范围
    2. 1.2 PD 控制器主机接口说明
      1. 1.2.1 概述
      2. 1.2.2 寄存器和字段表示法
    3. 1.3 唯一地址接口
      1. 1.3.1 唯一地址接口协议
      2. 1.3.2 唯一地址接口寄存器
  3. 2唯一地址接口寄存器详细说明
    1. 2.1  0x03 MODE 寄存器
    2. 2.2  0x0D DEVICE_CAPABILITIES 寄存器
    3. 2.3  0x14 - 0x19 INT_EVENT、INT_MASK、INT_CLEAR 寄存器
    4. 2.4  0x1A STATUS 寄存器
    5. 2.5  0x26 POWER_PATH_STATUS 寄存器
    6. 2.6  0x29 PORT_CONTROL 寄存器
    7. 2.7  0x2D BOOT_STATUS 寄存器
    8. 2.8  0x30 RX_SOURCE_CAPS 寄存器
    9. 2.9  0x31 RX_SINK_CAPS 寄存器
    10. 2.10 0x32 TX_SOURCE_CAPS 寄存器
    11. 2.11 0x33 TX_SINK_CAPS 寄存器
    12. 2.12 0x34 ACTIVE_CONTRACT_PDO 寄存器
    13. 2.13 0x35 ACTIVE_CONTRACT_RDO 寄存器
    14. 2.14 0x3F POWER_STATUS 寄存器
    15. 2.15 0x40 PD_STATUS 寄存器
    16. 2.16 GPIO 事件
    17. 2.17 0x69 TYPEC_STATE 寄存器
    18. 2.18 0x70 SLEEP_CONFIG 寄存器
    19. 2.19 0x72 GPIO_STATUS 寄存器
  4. 34CC 任务详细说明
    1. 3.1 概述
    2. 3.2 PD 消息任务
      1. 3.2.1 'SWSk' - PD PR_Swap 到受电方
      2. 3.2.2 'SWSr' - PD PR_Swap 到供电方
      3. 3.2.3 'SWDF' - PD DR_Swap 到 DFP
      4. 3.2.4 'SWUF' - PD DR_Swap 到 UFP
      5. 3.2.5 'GSkC' - PD 获取受电方能力
      6. 3.2.6 'GSrC' - PD 获取供电方能力
      7. 3.2.7 'SSrC' - PD 发送供电方能力
    3. 3.3 补丁捆绑包更新任务
      1. 3.3.1 'PBMs' - 启动补丁突发模式下载序列
      2. 3.3.2 'PBMc' - 补丁突发模式下载完成
      3. 3.3.3 'PBMe' - 结束补丁突发模式下载序列
      4. 3.3.4 补丁突发模式示例
      5. 3.3.5 'GO2P' - 转到补丁模式
    4. 3.4 系统任务
      1. 3.4.1 'DBfg' - 清除电池电量耗尽标志
      2. 3.4.2 'I2Cr' - I2C 读取事务
      3. 3.4.3 'I2Cw' - I2C 写入事务
  5. 4用户参考
    1. 4.1 PD 控制器应用程序自定义
    2. 4.2 加载补丁捆绑包
  6. 5修订历史记录

'PBMc' - 补丁突发模式下载完成

表 3-10 'PBMc' - 补丁突发下载完成
说明'PBMc' 任务结束补丁加载序列。在所有补丁数据传输完毕后发送此任务。此任务将启动对已传输的二进制补丁数据进行的 CRC 校验,如果 CRC 成功,则会执行补丁中包含的 patch_init 函数。
INPUT DATAX
OUTPUT DATAX名称说明
319:288acCalculatedCRC在固件中为配置数据计算的 CRC。
287:256acTransferredCRC随配置数据一同传输的 CRC。
255:240保留读数为 0。
239:224acIndicatedDataSize传输的配置数据中指示的 DataSize。
223:216acHeaderVersion传输的配置数据中指示的标头版本。
215:208acFailCode如果应用程序配置数据未能应用,则会显示此错误代码,指示未能应用的原因。
0x00AC_FAIL_NONE:无失败。
0x01AC_FAIL_WRONG_HEADER_VERSION:标头版本应为 1,但不是 1。
0x02AC_FAIL_TOO_MUCH_DATA:DataSize 字段表明您正在尝试加载已分配了 SRAM 的更多配置数据。
0x03AC_FAIL_CRC_CHECK_FAIL:CRC 比较失败。
207:200acStateAppConfig 状态机的当前内部状态。
0x00AC_NODATA:尚未找到配置数据,因为我们尚未开始查找。
0x01AC_LOADING_DEFAULT:尝试从出厂默认值加载配置数据。
0x02AC_LOADING_SRAM:尝试从 SRAM 加载配置数据。
0x03AC_LOADING_FLASH:尝试从闪存加载配置数据。
0x04AC_LOADING_I2C:尝试从 I2C 加载配置数据。
0x05AC_LOADING_DONE:配置数据加载完成,我们找到了有效数据。
0x06AC_ERROR:通用错误状态。
0x07AC_DONE_SUCCESS:完全完成了应用程序自定义过程,并成功应用了记录。
0x08AC_DONE_FAIL:完全完成了应用程序自定义过程,但未应用记录。
199:192configBundleGood如果顶级状态机找到有效的配置捆绑包,则为 1,否则为 0。
191:160rpRomVersionExpected传输的捆绑包补丁标头中的 romVersionExpected
159:144rpBundleTotalSize传输的捆绑包补丁标头中的 bundleTotalSize。
143:128rpBundleFlags传输的捆绑包补丁标头中的 bundleFlags。
127:96rpPatchBodyCrc传输的捆绑包补丁标头中的 patchBodyCrc。
95:64rpPatchHeaderCrc传输的捆绑包补丁标头中的 patchHeaderCrc。
OUTPUT DATAX名称说明
55:48rpBundleSignature传输的捆绑包补丁标头中的 bundleSignature。
47:40rpStateRomPatch 状态机的当前内部状态。
0x00RP_NOPATCH:未加载任何补丁。
0x01RP_LOADING:在加载补丁数据的过程中。
0x02RP_LOADINGDONE:已收到所有补丁数据。
0x03RP_RUNNING:一个补丁已加载并正在运行。也可能指示有一个 NULL 补丁处于活动状态。
0x04RP_EARLYLOAD_SKIPPED:指示早期引导过程不需要等待 I2C 上的补丁。
0x05RP_UARTBOOTED:检查 RAM 中的补丁。
0x06RP_ERROR:通用错误状态。
39:32patchBundleGood如果顶级状态机找到良好的 ROM 补丁,则为 0x01,否则为 0x00。
31:24AppConfigPatchCompleteStatus0x00
0x40警告。
0x80失败。
23:16DevicePatchCompleteStatus一个指示 RomPatch 状态机是否成功执行的返回代码。此值始终有效,并且反映了 RomPatch 机制的内部状态,但仅当传输的捆绑包确实包含补丁数据时才必须纳入考量。
0x00成功。
0x20未就绪。
0x40不是补丁。
0x41补丁标头校验和不匹配。
0x42补丁与此版本的 ROM 不兼容。
0x43补丁代码校验和不匹配。
0x44收到 null 补丁。
0x45收到错误补丁。
15:8cpReturn始终返回成功,无法使其失败。
字节 1:返回代码
7:4rpReturnIndicatorrpReturn 值的最高有效半字节。
0x0成功。
0x2参考。
0x4警告。
0x8错误。
3:0acReturnIndicatoracReturn 值的最高有效半字节。
0x0成功。
0x2参考。
0x4警告。
0x8错误。
任务完成当输出具有有效的 DevicePatchCompleteStatus 和 AppConfigPatchCompleteStatus 时,'PBMc' 任务完成。如果 DATAX 输入不包含总补丁大小,则此任务被拒绝。如果 MODE 寄存器 (0x03) 等于 'APP',则此任务将被拒绝。
副作用在此任务完成之前,它会将 I2C 从器件地址从补丁地址更改回正常值。成功完成此任务后,PD 控制器会将 MODE 寄存器 (0x03) 更改为 'APP' 并进入应用程序模式。
其他信息当 CMDx 寄存器变为 0 时,应检查 Output DATAX 寄存器的状态。如果 MODE 寄存器为 'APP'(表明 PD 控制器处于 APP 模式),则它将拒绝 'PBMc' 任务。