| /* Copyright 2019 The ChromiumOS Authors |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| * |
| * Test USB PE module. |
| */ |
| #ifndef __CROS_TEST_USB_PE_H |
| #define __CROS_TEST_USB_PE_H |
| |
| #include "common.h" |
| |
| /* |
| * Test references to port |
| */ |
| #define PORT0 0 |
| |
| /* List of all Policy Engine level states */ |
| enum usb_pe_state { |
| /* Super States */ |
| PE_PRS_FRS_SHARED, |
| PE_VDM_SEND_REQUEST, |
| |
| /* Normal States */ |
| PE_SRC_STARTUP, |
| PE_SRC_DISCOVERY, |
| PE_SRC_SEND_CAPABILITIES, |
| PE_SRC_NEGOTIATE_CAPABILITY, |
| PE_SRC_TRANSITION_SUPPLY, |
| PE_SRC_READY, |
| PE_SRC_DISABLED, |
| PE_SRC_CAPABILITY_RESPONSE, |
| PE_SRC_HARD_RESET, |
| PE_SRC_HARD_RESET_RECEIVED, |
| PE_SRC_TRANSITION_TO_DEFAULT, |
| PE_SNK_STARTUP, |
| PE_SNK_DISCOVERY, |
| PE_SNK_WAIT_FOR_CAPABILITIES, |
| PE_SNK_EVALUATE_CAPABILITY, |
| PE_SNK_SELECT_CAPABILITY, |
| PE_SNK_READY, |
| PE_SNK_HARD_RESET, |
| PE_SNK_TRANSITION_TO_DEFAULT, |
| PE_SNK_GIVE_SINK_CAP, |
| PE_SNK_GET_SOURCE_CAP, |
| PE_SNK_TRANSITION_SINK, |
| PE_SEND_SOFT_RESET, |
| PE_SOFT_RESET, |
| PE_SEND_NOT_SUPPORTED, |
| PE_SRC_PING, |
| PE_DRS_EVALUATE_SWAP, |
| PE_DRS_CHANGE, |
| PE_DRS_SEND_SWAP, |
| PE_PRS_SRC_SNK_EVALUATE_SWAP, |
| PE_PRS_SRC_SNK_TRANSITION_TO_OFF, |
| PE_PRS_SRC_SNK_ASSERT_RD, |
| PE_PRS_SRC_SNK_WAIT_SOURCE_ON, |
| PE_PRS_SRC_SNK_SEND_SWAP, |
| PE_PRS_SNK_SRC_EVALUATE_SWAP, |
| PE_PRS_SNK_SRC_TRANSITION_TO_OFF, |
| PE_PRS_SNK_SRC_ASSERT_RP, |
| PE_PRS_SNK_SRC_SOURCE_ON, |
| PE_PRS_SNK_SRC_SEND_SWAP, |
| PE_VCS_EVALUATE_SWAP, |
| PE_VCS_SEND_SWAP, |
| PE_VCS_WAIT_FOR_VCONN_SWAP, |
| PE_VCS_TURN_ON_VCONN_SWAP, |
| PE_VCS_TURN_OFF_VCONN_SWAP, |
| PE_VCS_SEND_PS_RDY_SWAP, |
| PE_VCS_CBL_SEND_SOFT_RESET, |
| PE_VDM_IDENTITY_REQUEST_CBL, |
| PE_INIT_PORT_VDM_IDENTITY_REQUEST, |
| PE_INIT_VDM_SVIDS_REQUEST, |
| PE_INIT_VDM_MODES_REQUEST, |
| PE_VDM_REQUEST_DPM, |
| PE_VDM_RESPONSE, |
| PE_WAIT_FOR_ERROR_RECOVERY, |
| PE_BIST_TX, |
| PE_DEU_SEND_ENTER_USB, |
| PE_DR_SNK_GET_SINK_CAP, |
| PE_DR_SNK_GIVE_SOURCE_CAP, |
| PE_DR_SRC_GET_SOURCE_CAP, |
| |
| /* PD3.0 only states below here*/ |
| PE_FRS_SNK_SRC_START_AMS, |
| PE_GIVE_BATTERY_CAP, |
| PE_GIVE_BATTERY_STATUS, |
| PE_SEND_ALERT, |
| PE_SRC_CHUNK_RECEIVED, |
| PE_SNK_CHUNK_RECEIVED, |
| }; |
| |
| void set_state_pe(const int port, const enum usb_pe_state new_state); |
| enum usb_pe_state get_state_pe(const int port); |
| |
| #endif /* __CROS_TEST_USB_PE_H */ |