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
|
/* Copyright 2016 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
/* eSPI module for Chrome EC */
#ifndef __CROS_EC_ESPI_H
#define __CROS_EC_ESPI_H
#include "gpio_signal.h"
/* Signal through VW */
enum espi_vw_signal {
VW_SIGNAL_BASE = GPIO_COUNT,
VW_SLP_S3_L, /* index 02h (In) */
VW_SLP_S4_L,
VW_SLP_S5_L,
VW_SUS_STAT_L, /* index 03h (In) */
VW_PLTRST_L,
VW_OOB_RST_WARN,
VW_OOB_RST_ACK, /* index 04h (Out) */
VW_WAKE_L,
VW_PME_L,
VW_ERROR_FATAL, /* index 05h (Out) */
VW_ERROR_NON_FATAL,
/* Merge bit 3/0 into one signal. Need to set them simultaneously */
VW_SLAVE_BTLD_STATUS_DONE,
VW_SCI_L, /* index 06h (Out) */
VW_SMI_L,
VW_RCIN_L,
VW_HOST_RST_ACK,
VW_HOST_RST_WARN, /* index 07h (In) */
VW_SUS_ACK, /* index 40h (Out) */
VW_SUS_WARN_L, /* index 41h (In) */
VW_SUS_PWRDN_ACK_L,
VW_SLP_A_L,
VW_SLP_LAN, /* index 42h (In) */
VW_SLP_WLAN,
VW_SIGNAL_BASE_END,
};
/**
* Set eSPI Virtual-Wire signal to Host
*
* @param signal vw signal needs to set
* @param level level of vw signal
* @return EC_SUCCESS, or non-zero if error.
*/
int espi_vw_set_wire(enum espi_vw_signal signal, uint8_t level);
/**
* Get eSPI Virtual-Wire signal from host
*
* @param signal vw signal needs to get
* @return 1: set by host, otherwise: no signal
*/
int espi_vw_get_wire(enum espi_vw_signal signal);
/**
* Enable VW interrupt of power sequence signal
*
* @param signal vw signal needs to enable interrupt
* @return EC_SUCCESS, or non-zero if error.
*/
int espi_vw_enable_wire_int(enum espi_vw_signal signal);
/**
* Disable VW interrupt of power sequence signal
*
* @param signal vw signal needs to disable interrupt
* @return EC_SUCCESS, or non-zero if error.
*/
int espi_vw_disable_wire_int(enum espi_vw_signal signal);
#endif /* __CROS_EC_ESPI_H */
|