SLVUCR7 September 2024 TPS26750
This section describes the 4CC Tasks defined by the PD Controller Host Interface. The Tasks are categorized into various sub-groups in this section. All Tasks that return data using the DATAx registers will always ensure the proper output data is loaded into those registers before setting the CMDx register to 0 to indicate Task completion. DATAx is never modified by PD Controller after CMDx has been changed to 0, to ensure the Host can retrieve data from the previously-executed Task, and to ensure the Host can load these registers for a future Task without risk of overwriting. Note that other registers can continue to be updated after a Task completes, as Tasks can have additional side effects.
Many of the Tasks return a status code in the first byte of the DATAx register. The standard Task response byte is defined in Table 5-1. The remaining DATAx bytes can be used at each Task's discretion.
Description | Tasks are a special form of Tasks that return a status code in the first byte of the DATAX register. | ||||
---|---|---|---|---|---|
Output DATAX | Bit | Name | Description | ||
Byte 1: Task Return Code | |||||
7:4 | Reserved | Reserved for standard Tasks. May be used by certain Tasks for Task-specific return codes. Successful return codes can use this byte provided TaskResult is 0x0. | |||
3:0 | TaskResult | Standard Task return codes. | |||
0x0 | Task completed successfully. | ||||
0x1 | Task timed-out. | ||||
0x2 | Reserved. | ||||
0x3 | Task rejected. | ||||
0x4 | Task rejected because the Rx Buffer was locked. This is for Tasks that can require the PD controller to use the Rx Buffer. | ||||
0x5-0xF | Reserved for standard Tasks. May be used by certain Tasks for Task-specific error codes. Treated as an error when encountered. |