zephyr/subsys/usb/usb_c/usbc_pe_snk_states_internal.h
Sam Hurst 0056249a13 usb-c: Add USB-C Subsystem Source PD Support
Add USB-C Power Delivery Source Support to USB-C
Subsystem

Signed-off-by: Sam Hurst <sbh1187@gmail.com>
2023-04-28 10:06:01 +02:00

91 lines
2.1 KiB
C

/*
* 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_ */