-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcy_pdaltmode_soc_dock.h
executable file
·153 lines (137 loc) · 5.36 KB
/
cy_pdaltmode_soc_dock.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
/***************************************************************************//**
* \file cy_pdaltmode_soc_dock.h
* \version 1.0
*
* \brief
* This file defines SCB operations handlers for Intel SOC.
*
********************************************************************************
* \copyright
* Copyright 2024, Cypress Semiconductor Corporation (an Infineon company)
* or an affiliate of Cypress Semiconductor Corporation. All rights reserved.
* You may use this file only in accordance with the license, terms, conditions,
* disclaimers, and limitations in the end user license agreement accompanying
* the software package with which this file was provided.
*******************************************************************************/
#ifndef _CY_PDALTMODE_SOC_DOCK_H_
#define _CY_PDALTMODE_SOC_DOCK_H_
#if (TBT_HOST_APP == 0)
#include "cy_pdaltmode_defines.h"
/**
* \addtogroup group_pdaltmode_intel
* \{
*
********************************************************************************
*
* \defgroup group_pdaltmode_intel_macros Macros
* \defgroup group_pdaltmode_intel_enums Enumerated Types
* \defgroup group_pdaltmode_intel_data_structures Data Structures
* \defgroup group_pdaltmode_intel_functions Functions
*/
/*****************************************************************************
* Global function declaration
*****************************************************************************/
/**
* \addtogroup group_pdaltmode_intel_functions
* \{
*/
/*******************************************************************************
* Function name: Cy_PdAltMode_SocDock_Init
****************************************************************************//**
*
* Initialize the Alpine/Titan Ridge slave interface module.
*
* This function initializes the Alpine/Titan Ridge slave interface module and configures it
* to use the specified SCB block. The SCB will be configured as an I2C slave block,
* and the interrupt output will also be initialized to a de-asserted state.
*
* Since only two registers are to be implemented, and the commands to be implemented are
* simple, the complete module is implemented using the I2C command callbacks.
*
* \param ridgeHwConfig
* Ridge HW Config pointer.
*
* \param ptrAltModeContext0
* Pointer to PD Alt mode context for port 0
*
* \param ptrAltModeContext1
* Pointer to PD Alt mode context for port 1
*
* \return
* None
*
*******************************************************************************/
void Cy_PdAltMode_SocDock_Init(cy_stc_pdaltmode_ridge_hw_config_t* ridgeHwConfig, cy_stc_pdaltmode_context_t* ptrAltModeContext0, cy_stc_pdaltmode_context_t* ptrAltModeContext1);
/*******************************************************************************
* Function name: Cy_PdAltMode_SocDock_DeInit
****************************************************************************//**
*
* De-initialize the Alpine/Titan Ridge slave interface module.
* This function de-initializes the SCB block used to implement the I2C slave interface
* between CCGx and Alpine/Titan Ridge.
*
* \param scbNum
* SCB number
*
* \param ptrAltModeContext0
* Pointer to PD Alt Mode context for port 0
*
* \param ptrAltModeContext1
* Pointer to PD Alt Mode context for port 1
*
* \return
* None
*
*******************************************************************************/
void Cy_PdAltMode_SocDock_DeInit(CySCB_Type* scbNum, cy_stc_pdaltmode_context_t* ptrAltModeContext0, cy_stc_pdaltmode_context_t* ptrAltModeContext1);
/*******************************************************************************
* Function name: Cy_PdAltMode_SocDock_Task
****************************************************************************//**
*
* AltMode Soc state machine tasks handler
*
* \param ptrAltModeContext
* Pointer to PD Alt Mode context
*
* \return
* None
*
*******************************************************************************/
void Cy_PdAltMode_SocDock_Task(cy_stc_pdaltmode_context_t* ptrAltModeContext);
#if SYS_DEEPSLEEP_ENABLE
/*******************************************************************************
* Function name: Cy_PdAltMode_SocDock_Sleep
****************************************************************************//**
*
* Check whether the AR/TR slave interface is idle, so that device can be placed into sleep.
* This function should be called prior to placing the CCG device in deep sleep. Deep sleep
* entry is only allowed if this function returns true.
*
* \param ptrAltModeContext
* Pointer to PD Alt mode context.
*
* \return
* True if the interface is idle, false otherwise.
*
*******************************************************************************/
bool Cy_PdAltMode_SocDock_Sleep(cy_stc_pdaltmode_context_t *ptrAltModeContext);
#endif /* SYS_DEEPSLEEP_ENABLE */
/*******************************************************************************
* Function name: Cy_PdAltMode_SocDock_GetUUID
****************************************************************************//**
*
* Returns the pointer to the UUID buffer
*
* \param port
* Selected port.
*
* \return
* Pointer to the UUID buffer
*
*******************************************************************************/
uint8_t * Cy_PdAltMode_SocDock_GetUUID(uint8_t port);
#endif /* (TBT_HOST_APP == 0) */
/** \} group_pdaltmode_intel_functions */
/** \} group_pdaltmode_intel */
#endif /* _CY_PDALTMODE_SOC_DOCK_H_ */
/* [] END OF FILE */