A:PD握手成功或者升压成功,PE状态机会置为peSinkReady或peSourceReady,进入如下代码位置,并上报给平台当前处于FIX通信还是PPS通信。
if (chip->port.PolicyState == peSinkReady &&
chip->port.PolicyHasContract == AW_TRUE) {
if (!chip->port.pd_state) {
chip->port.pd_state = AW_TRUE;
chip->tcpc->pd_port.data_role = PD_ROLE_UFP;
chip->tcpc->pd_port.power_role = PD_ROLE_SINK;
if (chip->port.src_support_pps) //支持PPS
tcpci_notify_pd_state(chip->tcpc, PD_CONNECT_PE_READY_SNK_APDO);
else //支持FIX
tcpci_notify_pd_state(chip->tcpc, PD_CONNECT_PE_READY_SNK_PD30);
}
AW_LOG("aw35615 req_obj=0x%x, sel_src_caps=0x%x\n",
chip->port.USBPDContract.FVRDO.ObjectPosition,
chip->port.SrcCapsReceived[
chip->port.USBPDContract.FVRDO.ObjectPosition - 1].object);
}