70.6.2.2 Power Source Detection at Sink

As defined in the in the Universal Serial Bus Type-C Cable and Connector Specification (see Reference Documents) , four voltage ranges may be present on CC1 and CC2 when connecting a Type-C cable. These voltage ranges are shown in the figure below.

Figure 70-5. TCPC_UPC.TCIDCTSEL Values of CCx Voltage Thresholds at Sink

Once VBUS has been detected with the PIO controller, the sink may require the power delivery capability of the source. For that purpose, the CC1 and CC2 voltage values can be determined by the following example procedure:

  1. Set TCPC_UPC.RDIPSEL to 0 and TCPC_UPC.TCIDCTSEL to 2.
  2. Wait for 560 μs or more.

    a. If the TCPC_UPS.CC1ID and TCPC_UPS.CC2RDT comparator outputs are equal to 00b indicating VRa voltage value on the CC pins, loop on step 2.

  3. Wait for 450 μs.

    a. If the TCPC_UPS.CC1ID and TCPC_UPS.CC2RDT are equal to the previous sampled values, loop on step 3 until tCCDebounce time has elapsed.

    b. If the TCPC_UPS.CC1ID and TCPC_UPS.CC2RDT have changed, go back to step 2.

  4. set TCPC_UPC.TCIDCTSEL to 4
  5. Wait for 560 μs.

    a. If the TCPC_UPS.CC1ID and TCPC_UPS.CC2RDT that was 1 at step 3 is now 0, the CCx voltage is VRd-USB. Exit the sequence.

    b. Otherwise, set TCPC_UPC.TCIDCTSEL to 6 and go to step 6.

  6. Wait for 560 μs.

    a. If the TCPC_UPS.CC1ID and TCPC_UPS.CC2RDT that was 1 at step 6 is now 0, the CCx voltage is VRd-1.5, else it is VRd-3.0.

    Note: Only one TCPC_UPC write is required at each of steps 1, 4 and 5.

Any other sequence to determine the CC1ID and CC2RDT voltage values is permitted at any time as long as TCPC_UPS.CC1ID and TCPC_UPS.CC2RDT delay update is respected.

If interfacing to a TCPM, the software has to update TCPC_CCS using TCPC_SSR and TCPC_CSR.