blob: af8ee03abd955832f029b67148a22ee791f2cd57 [file] [log] [blame]
/*
* Copyright (c) 2022 The Chromium OS Authors
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef ZEPHYR_SUBSYS_USBC_PE_SNK_STATES_INTERNAL_H_
#define ZEPHYR_SUBSYS_USBC_PE_SNK_STATES_INTERNAL_H_
/**
* @brief Init the PE Sink State machine
*/
void pe_snk_init(const struct device *dev);
/**
* @brief Handle Sink-specific DPM requests
*/
bool sink_dpm_requests(const struct device *dev);
/**
* @brief PE_SNK_Startup Entry State
*/
void pe_snk_startup_entry(void *obj);
void pe_snk_startup_run(void *obj);
void pe_snk_discovery_entry(void *obj);
/**
* @brief PE_SNK_Discovery Run State
*/
void pe_snk_discovery_run(void *obj);
/**
* @brief PE_SNK_Wait_For_Capabilities
*/
void pe_snk_wait_for_capabilities_entry(void *obj);
void pe_snk_wait_for_capabilities_run(void *obj);
void pe_snk_wait_for_capabilities_exit(void *obj);
/**
* @brief PE_SNK_Evaluate_Capability Entry State
*/
void pe_snk_evaluate_capability_entry(void *obj);
/**
* @brief PE_SNK_Select_Capability
*/
void pe_snk_select_capability_entry(void *obj);
void pe_snk_select_capability_run(void *obj);
void pe_snk_select_capability_exit(void *obj);
/**
* @brief PE_SNK_Transition_Sink Entry State
*/
void pe_snk_transition_sink_entry(void *obj);
void pe_snk_transition_sink_run(void *obj);
void pe_snk_transition_sink_exit(void *obj);
/**
* @brief PE_SNK_Ready Entry State
*/
void pe_snk_ready_entry(void *obj);
void pe_snk_ready_run(void *obj);
void pe_snk_ready_exit(void *obj);
/**
* @brief PE_SNK_Hard_Reset
*/
void pe_snk_hard_reset_entry(void *obj);
void pe_snk_hard_reset_run(void *obj);
/**
* @brief PE_SNK_Transition_to_default Entry State
*/
void pe_snk_transition_to_default_entry(void *obj);
void pe_snk_transition_to_default_run(void *obj);
/**
* @brief PE_SNK_Get_Source_Cap Entry State
*/
void pe_snk_get_source_cap_entry(void *obj);
void pe_snk_get_source_cap_run(void *obj);
void pe_snk_get_source_cap_exit(void *obj);
/**
* @brief PE_SNK_Give_Sink_Cap Entry state
*/
void pe_snk_give_sink_cap_entry(void *obj);
void pe_snk_give_sink_cap_run(void *obj);
#endif /* ZEPHYR_SUBSYS_USBC_PE_SNK_STATES_INTERNAL_H_ */