coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
smi.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-or-later */
2
3
#ifndef AMD_CEZANNE_SMI_H
4
#define AMD_CEZANNE_SMI_H
5
6
#include <types.h>
7
8
#define SMI_GEVENTS 24
9
#define SCIMAPS 59
/* 0..58 */
10
#define SCI_GPES 32
11
#define NUMBER_SMITYPES 160
12
13
#define SMI_EVENT_STATUS 0x0
14
#define SMI_EVENT_ENABLE 0x04
15
#define SMI_SCI_TRIG 0x08
16
#define SMI_SCI_LEVEL 0x0c
17
#define SMI_SCI_STATUS 0x10
18
#define SMI_SCI_EN 0x14
19
#define SMI_SCI_MAP0 0x40
20
# define SMI_SCI_MAP(X) (SMI_SCI_MAP0 + (X))
21
22
/* SMI source and status */
23
#define SMITYPE_G_GENINT1_L 0
24
#define SMITYPE_G_GENINT2_L 1
25
#define SMITYPE_G_AGPIO3 2
26
#define SMITYPE_G_LPCPME 3
27
#define SMITYPE_G_AGPIO4 4
28
#define SMITYPE_G_LPCPD 5
29
#define SMITYPE_G_SPKR 6
30
#define SMITYPE_G_AGPIO5 7
31
#define SMITYPE_G_WAKE_L 8
32
#define SMITYPE_G_LPC_SMI_L 9
33
#define SMITYPE_G_AGPIO6 10
34
#define SMITYPE_G_AGPIO7 11
35
#define SMITYPE_G_USBOC0_L 12
36
#define SMITYPE_G_USBOC1_L 13
37
#define SMITYPE_G_USBOC2_L 14
38
#define SMITYPE_G_USBOC3_L 15
39
#define SMITYPE_G_AGPIO23 16
40
#define SMITYPE_G_ESPI_RESET_L 17
41
#define SMITYPE_G_FANIN0 18
42
#define SMITYPE_G_SYSRESET_L 19
43
#define SMITYPE_G_AGPIO40 20
44
#define SMITYPE_G_PWR_BTN_L 21
45
#define SMITYPE_G_AGPIO9 22
46
#define SMITYPE_G_AGPIO8 23
47
#define GEVENT_MASK ((1 << SMITYPE_G_GENINT1_L) \
48
| (1 << SMITYPE_G_GENINT2_L) \
49
| (1 << SMITYPE_G_AGPIO3) \
50
| (1 << SMITYPE_G_LPCPME) \
51
| (1 << SMITYPE_G_AGPIO4) \
52
| (1 << SMITYPE_G_LPCPD) \
53
| (1 << SMITYPE_G_SPKR) \
54
| (1 << SMITYPE_G_AGPIO5) \
55
| (1 << SMITYPE_G_WAKE_L) \
56
| (1 << SMITYPE_G_LPC_SMI_L) \
57
| (1 << SMITYPE_G_AGPIO6) \
58
| (1 << SMITYPE_G_AGPIO7) \
59
| (1 << SMITYPE_G_USBOC0_L) \
60
| (1 << SMITYPE_G_USBOC1_L) \
61
| (1 << SMITYPE_G_USBOC2_L) \
62
| (1 << SMITYPE_G_USBOC3_L) \
63
| (1 << SMITYPE_G_AGPIO23) \
64
| (1 << SMITYPE_G_ESPI_RESET_L) \
65
| (1 << SMITYPE_G_FANIN0) \
66
| (1 << SMITYPE_G_SYSRESET_L) \
67
| (1 << SMITYPE_G_AGPIO40) \
68
| (1 << SMITYPE_G_PWR_BTN_L) \
69
| (1 << SMITYPE_G_AGPIO9) \
70
| (1 << SMITYPE_G_AGPIO8))
71
#define SMITYPE_MP2_WAKE 24
72
#define SMITYPE_MP2_GPIO0 25
73
#define SMITYPE_ESPI_SYS 26
74
#define SMITYPE_ESPI_WAKE_PME 27
75
#define SMITYPE_MP2_GPIO1 28
76
#define SMITYPE_GPP_PME 29
77
#define SMITYPE_NB_GPP_HOT_PLUG 30
78
/* 31 Reserved */
79
#define SMITYPE_WAKE_L2 32
80
#define SMITYPE_PSP 33
81
/* 34,35 Reserved */
82
#define SMITYPE_ESPI_SCI_B 36
83
#define SMITYPE_WLAN_WLAN_PME 37
84
#define SMITYPE_WLAN_BT_PME 38
85
#define SMITYPE_AZPME 39
86
#define SMITYPE_USB_PD_I2C4 40
87
#define SMITYPE_GPIO_CTL 41
88
/* 42 Reserved */
89
#define SMITYPE_ALT_HPET_ALARM 43
90
#define SMITYPE_FAN_THERMAL 44
91
#define SMITYPE_ASF_MASTER_SLAVE 45
92
#define SMITYPE_I2S_WAKE 46
93
#define SMITYPE_SMBUS0_MASTER 47
94
#define SMITYPE_TWARN 48
95
#define SMITYPE_TRAFFIC_MON 49
96
#define SMITYPE_ILLB 50
97
#define SMITYPE_PWRBUTTON_UP 51
98
#define SMITYPE_PROCHOT 52
99
#define SMITYPE_APU_HW 53
100
#define SMITYPE_NB_SCI 54
101
#define SMITYPE_RAS_SERR 55
102
#define SMITYPE_XHC0_PME 56
103
#define SMITYPE_XHC1_PME 57
104
#define SMITYPE_ACDC_TIMER 58
105
/* 59-63 Reserved */
106
#define SMITYPE_KB_RESET 64
107
#define SMITYPE_SLP_TYP 65
108
#define SMITYPE_AL2H_ACPI 66
109
/* 67-71 Reserved */
110
#define SMITYPE_GBL_RLS 72
111
#define SMITYPE_BIOS_RLS 73
112
#define SMITYPE_PWRBUTTON_DOWN 74
113
#define SMITYPE_SMI_CMD_PORT 75
114
#define SMITYPE_USB_SMI 76
115
#define SMITYPE_SERIRQ 77
116
#define SMITYPE_SMBUS0_INTR 78
117
/* 79-80 Reserved */
118
#define SMITYPE_INTRUDER 81
119
#define SMITYPE_VBAT_LOW 82
120
#define SMITYPE_PROTHOT 83
121
#define SMITYPE_PCI_SERR 84
122
/* 85-89 Reserved */
123
#define SMITYPE_EMUL60_64 90
124
/* 91-132 Reserved */
125
#define SMITYPE_FANIN0 133
126
/* 134-140 Reserved */
127
#define SMITYPE_CF9_WRITE 141
128
#define SMITYPE_SHORT_TIMER 142
129
#define SMITYPE_LONG_TIMER 143
130
#define SMITYPE_AB_SMI 144
131
/* 145 Reserved */
132
#define SMITYPE_ESPI_SMI 146
133
/* 147 Reserved */
134
#define SMITYPE_IOTRAP0 148
135
#define SMITYPE_IOTRAP1 149
136
#define SMITYPE_IOTRAP2 150
137
#define SMITYPE_IOTRAP3 151
138
#define SMITYPE_MEMTRAP0 152
139
/* 153-155 Reserved */
140
#define SMITYPE_CFGTRAP0 156
141
/* 157-159 Reserved */
142
143
#define TYPE_TO_MASK(X) (1 << (X) % 32)
144
145
#define SMI_REG_SMISTS0 0x80
146
#define SMI_REG_SMISTS1 0x84
147
#define SMI_REG_SMISTS2 0x88
148
#define SMI_REG_SMISTS3 0x8c
149
#define SMI_REG_SMISTS4 0x90
150
151
#define SMI_REG_POINTER 0x94
152
# define SMI_STATUS_SRC_SCI (1 << 0)
153
# define SMI_STATUS_SRC_0 (1 << 1)
/* SMIx80 */
154
# define SMI_STATUS_SRC_1 (1 << 2)
/* SMIx84... */
155
# define SMI_STATUS_SRC_2 (1 << 3)
156
# define SMI_STATUS_SRC_3 (1 << 4)
157
# define SMI_STATUS_SRC_4 (1 << 5)
158
159
#define SMI_TIMER 0x96
160
#define SMI_TIMER_MASK 0x7fff
161
#define SMI_TIMER_EN (1 << 15)
162
163
#define SMI_REG_SMITRIG0 0x98
164
# define SMITRIG0_PSP (1 << 25)
165
# define SMITRG0_EOS (1 << 28)
166
# define SMI_TIMER_SEL (1 << 29)
167
# define SMITRG0_SMIENB (1 << 31)
168
169
#define SMI_REG_CONTROL0 0xa0
170
#define SMI_REG_CONTROL1 0xa4
171
#define SMI_REG_CONTROL2 0xa8
172
#define SMI_REG_CONTROL3 0xac
173
#define SMI_REG_CONTROL4 0xb0
174
#define SMI_REG_CONTROL5 0xb4
175
#define SMI_REG_CONTROL6 0xb8
176
#define SMI_REG_CONTROL7 0xbc
177
#define SMI_REG_CONTROL8 0xc0
178
#define SMI_REG_CONTROL9 0xc4
179
180
#define SMI_MODE_MASK 0x03
181
182
#endif
/* AMD_CEZANNE_SMI_H */
src
soc
amd
cezanne
include
soc
smi.h
Generated by
1.9.1