env: Kconfig: cosmetics: update comment for SYS_RELOC_GD_ENV_ADDR
[oweals/u-boot.git] / drivers / tpm / tpm_internal.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Copyright (c) 2015 Google, Inc
4  */
5
6 #ifndef __tpm_internal_h
7 #define __tpm_internal_h
8
9 enum {
10         TPM_MAX_ORDINAL                 = 243,
11         TPM_MAX_PROTECTED_ORDINAL       = 12,
12         TPM_PROTECTED_ORDINAL_MASK      = 0xff,
13         TPM_CMD_COUNT_BYTE              = 2,
14         TPM_CMD_ORDINAL_BYTE            = 6,
15 };
16
17 /*
18  * Array with one entry per ordinal defining the maximum amount
19  * of time the chip could take to return the result.  The ordinal
20  * designation of short, medium or long is defined in a table in
21  * TCG Specification TPM Main Part 2 TPM Structures Section 17. The
22  * values of the SHORT, MEDIUM, and LONG durations are retrieved
23  * from the chip during initialization with a call to tpm_get_timeouts.
24  */
25 static const u8 tpm_protected_ordinal_duration[TPM_MAX_PROTECTED_ORDINAL] = {
26         TPM_UNDEFINED,          /* 0 */
27         TPM_UNDEFINED,
28         TPM_UNDEFINED,
29         TPM_UNDEFINED,
30         TPM_UNDEFINED,
31         TPM_UNDEFINED,          /* 5 */
32         TPM_UNDEFINED,
33         TPM_UNDEFINED,
34         TPM_UNDEFINED,
35         TPM_UNDEFINED,
36         TPM_SHORT,              /* 10 */
37         TPM_SHORT,
38 };
39
40 static const u8 tpm_ordinal_duration[TPM_MAX_ORDINAL] = {
41         TPM_UNDEFINED,          /* 0 */
42         TPM_UNDEFINED,
43         TPM_UNDEFINED,
44         TPM_UNDEFINED,
45         TPM_UNDEFINED,
46         TPM_UNDEFINED,          /* 5 */
47         TPM_UNDEFINED,
48         TPM_UNDEFINED,
49         TPM_UNDEFINED,
50         TPM_UNDEFINED,
51         TPM_SHORT,              /* 10 */
52         TPM_SHORT,
53         TPM_MEDIUM,
54         TPM_LONG,
55         TPM_LONG,
56         TPM_MEDIUM,             /* 15 */
57         TPM_SHORT,
58         TPM_SHORT,
59         TPM_MEDIUM,
60         TPM_LONG,
61         TPM_SHORT,              /* 20 */
62         TPM_SHORT,
63         TPM_MEDIUM,
64         TPM_MEDIUM,
65         TPM_MEDIUM,
66         TPM_SHORT,              /* 25 */
67         TPM_SHORT,
68         TPM_MEDIUM,
69         TPM_SHORT,
70         TPM_SHORT,
71         TPM_MEDIUM,             /* 30 */
72         TPM_LONG,
73         TPM_MEDIUM,
74         TPM_SHORT,
75         TPM_SHORT,
76         TPM_SHORT,              /* 35 */
77         TPM_MEDIUM,
78         TPM_MEDIUM,
79         TPM_UNDEFINED,
80         TPM_UNDEFINED,
81         TPM_MEDIUM,             /* 40 */
82         TPM_LONG,
83         TPM_MEDIUM,
84         TPM_SHORT,
85         TPM_SHORT,
86         TPM_SHORT,              /* 45 */
87         TPM_SHORT,
88         TPM_SHORT,
89         TPM_SHORT,
90         TPM_LONG,
91         TPM_MEDIUM,             /* 50 */
92         TPM_MEDIUM,
93         TPM_UNDEFINED,
94         TPM_UNDEFINED,
95         TPM_UNDEFINED,
96         TPM_UNDEFINED,          /* 55 */
97         TPM_UNDEFINED,
98         TPM_UNDEFINED,
99         TPM_UNDEFINED,
100         TPM_UNDEFINED,
101         TPM_MEDIUM,             /* 60 */
102         TPM_MEDIUM,
103         TPM_MEDIUM,
104         TPM_SHORT,
105         TPM_SHORT,
106         TPM_MEDIUM,             /* 65 */
107         TPM_UNDEFINED,
108         TPM_UNDEFINED,
109         TPM_UNDEFINED,
110         TPM_UNDEFINED,
111         TPM_SHORT,              /* 70 */
112         TPM_SHORT,
113         TPM_UNDEFINED,
114         TPM_UNDEFINED,
115         TPM_UNDEFINED,
116         TPM_UNDEFINED,          /* 75 */
117         TPM_UNDEFINED,
118         TPM_UNDEFINED,
119         TPM_UNDEFINED,
120         TPM_UNDEFINED,
121         TPM_LONG,               /* 80 */
122         TPM_UNDEFINED,
123         TPM_MEDIUM,
124         TPM_LONG,
125         TPM_SHORT,
126         TPM_UNDEFINED,          /* 85 */
127         TPM_UNDEFINED,
128         TPM_UNDEFINED,
129         TPM_UNDEFINED,
130         TPM_UNDEFINED,
131         TPM_SHORT,              /* 90 */
132         TPM_SHORT,
133         TPM_SHORT,
134         TPM_SHORT,
135         TPM_SHORT,
136         TPM_UNDEFINED,          /* 95 */
137         TPM_UNDEFINED,
138         TPM_UNDEFINED,
139         TPM_UNDEFINED,
140         TPM_UNDEFINED,
141         TPM_MEDIUM,             /* 100 */
142         TPM_SHORT,
143         TPM_SHORT,
144         TPM_UNDEFINED,
145         TPM_UNDEFINED,
146         TPM_UNDEFINED,          /* 105 */
147         TPM_UNDEFINED,
148         TPM_UNDEFINED,
149         TPM_UNDEFINED,
150         TPM_UNDEFINED,
151         TPM_SHORT,              /* 110 */
152         TPM_SHORT,
153         TPM_SHORT,
154         TPM_SHORT,
155         TPM_SHORT,
156         TPM_SHORT,              /* 115 */
157         TPM_SHORT,
158         TPM_SHORT,
159         TPM_UNDEFINED,
160         TPM_UNDEFINED,
161         TPM_LONG,               /* 120 */
162         TPM_LONG,
163         TPM_MEDIUM,
164         TPM_UNDEFINED,
165         TPM_SHORT,
166         TPM_SHORT,              /* 125 */
167         TPM_SHORT,
168         TPM_LONG,
169         TPM_SHORT,
170         TPM_SHORT,
171         TPM_SHORT,              /* 130 */
172         TPM_MEDIUM,
173         TPM_UNDEFINED,
174         TPM_SHORT,
175         TPM_MEDIUM,
176         TPM_UNDEFINED,          /* 135 */
177         TPM_UNDEFINED,
178         TPM_UNDEFINED,
179         TPM_UNDEFINED,
180         TPM_UNDEFINED,
181         TPM_SHORT,              /* 140 */
182         TPM_SHORT,
183         TPM_UNDEFINED,
184         TPM_UNDEFINED,
185         TPM_UNDEFINED,
186         TPM_UNDEFINED,          /* 145 */
187         TPM_UNDEFINED,
188         TPM_UNDEFINED,
189         TPM_UNDEFINED,
190         TPM_UNDEFINED,
191         TPM_SHORT,              /* 150 */
192         TPM_MEDIUM,
193         TPM_MEDIUM,
194         TPM_SHORT,
195         TPM_SHORT,
196         TPM_UNDEFINED,          /* 155 */
197         TPM_UNDEFINED,
198         TPM_UNDEFINED,
199         TPM_UNDEFINED,
200         TPM_UNDEFINED,
201         TPM_SHORT,              /* 160 */
202         TPM_SHORT,
203         TPM_SHORT,
204         TPM_SHORT,
205         TPM_UNDEFINED,
206         TPM_UNDEFINED,          /* 165 */
207         TPM_UNDEFINED,
208         TPM_UNDEFINED,
209         TPM_UNDEFINED,
210         TPM_UNDEFINED,
211         TPM_LONG,               /* 170 */
212         TPM_UNDEFINED,
213         TPM_UNDEFINED,
214         TPM_UNDEFINED,
215         TPM_UNDEFINED,
216         TPM_UNDEFINED,          /* 175 */
217         TPM_UNDEFINED,
218         TPM_UNDEFINED,
219         TPM_UNDEFINED,
220         TPM_UNDEFINED,
221         TPM_MEDIUM,             /* 180 */
222         TPM_SHORT,
223         TPM_MEDIUM,
224         TPM_MEDIUM,
225         TPM_MEDIUM,
226         TPM_MEDIUM,             /* 185 */
227         TPM_SHORT,
228         TPM_UNDEFINED,
229         TPM_UNDEFINED,
230         TPM_UNDEFINED,
231         TPM_UNDEFINED,          /* 190 */
232         TPM_UNDEFINED,
233         TPM_UNDEFINED,
234         TPM_UNDEFINED,
235         TPM_UNDEFINED,
236         TPM_UNDEFINED,          /* 195 */
237         TPM_UNDEFINED,
238         TPM_UNDEFINED,
239         TPM_UNDEFINED,
240         TPM_UNDEFINED,
241         TPM_SHORT,              /* 200 */
242         TPM_UNDEFINED,
243         TPM_UNDEFINED,
244         TPM_UNDEFINED,
245         TPM_SHORT,
246         TPM_SHORT,              /* 205 */
247         TPM_SHORT,
248         TPM_SHORT,
249         TPM_SHORT,
250         TPM_SHORT,
251         TPM_MEDIUM,             /* 210 */
252         TPM_UNDEFINED,
253         TPM_MEDIUM,
254         TPM_MEDIUM,
255         TPM_MEDIUM,
256         TPM_UNDEFINED,          /* 215 */
257         TPM_MEDIUM,
258         TPM_UNDEFINED,
259         TPM_UNDEFINED,
260         TPM_SHORT,
261         TPM_SHORT,              /* 220 */
262         TPM_SHORT,
263         TPM_SHORT,
264         TPM_SHORT,
265         TPM_SHORT,
266         TPM_UNDEFINED,          /* 225 */
267         TPM_UNDEFINED,
268         TPM_UNDEFINED,
269         TPM_UNDEFINED,
270         TPM_UNDEFINED,
271         TPM_SHORT,              /* 230 */
272         TPM_LONG,
273         TPM_MEDIUM,
274         TPM_UNDEFINED,
275         TPM_UNDEFINED,
276         TPM_UNDEFINED,          /* 235 */
277         TPM_UNDEFINED,
278         TPM_UNDEFINED,
279         TPM_UNDEFINED,
280         TPM_UNDEFINED,
281         TPM_SHORT,              /* 240 */
282         TPM_UNDEFINED,
283         TPM_MEDIUM,
284 };
285
286 #endif