Lines Matching refs:dev
35 static uint32_t TlclStartupIfNeeded(struct udevice *dev) in TlclStartupIfNeeded() argument
37 uint32_t result = tpm_startup(dev, TPM_ST_CLEAR); in TlclStartupIfNeeded()
42 static int test_timer(struct udevice *dev) in test_timer() argument
48 static uint32_t tpm_get_flags(struct udevice *dev, uint8_t *disable, in tpm_get_flags() argument
54 result = tpm1_get_permanent_flags(dev, &pflags); in tpm_get_flags()
69 static uint32_t tpm_nv_write_value_lock(struct udevice *dev, uint32_t index) in tpm_nv_write_value_lock() argument
73 return tpm_nv_write_value(dev, index, NULL, 0); in tpm_nv_write_value_lock()
76 static int tpm_is_owned(struct udevice *dev) in tpm_is_owned() argument
81 result = tpm_read_pubek(dev, response, sizeof(response)); in tpm_is_owned()
86 static int test_early_extend(struct udevice *dev) in test_early_extend() argument
92 tpm_init(dev); in test_early_extend()
93 TPM_CHECK(tpm_startup(dev, TPM_ST_CLEAR)); in test_early_extend()
94 TPM_CHECK(tpm_continue_self_test(dev)); in test_early_extend()
95 TPM_CHECK(tpm_pcr_extend(dev, 1, value_in, sizeof(value_in), value_out, in test_early_extend()
101 static int test_early_nvram(struct udevice *dev) in test_early_nvram() argument
106 tpm_init(dev); in test_early_nvram()
107 TPM_CHECK(tpm_startup(dev, TPM_ST_CLEAR)); in test_early_nvram()
108 TPM_CHECK(tpm_continue_self_test(dev)); in test_early_nvram()
109 TPM_CHECK(tpm_tsc_physical_presence(dev, PRESENCE)); in test_early_nvram()
110 TPM_CHECK(tpm_nv_read_value(dev, INDEX0, (uint8_t *)&x, sizeof(x))); in test_early_nvram()
115 static int test_early_nvram2(struct udevice *dev) in test_early_nvram2() argument
120 tpm_init(dev); in test_early_nvram2()
121 TPM_CHECK(tpm_startup(dev, TPM_ST_CLEAR)); in test_early_nvram2()
122 TPM_CHECK(tpm_continue_self_test(dev)); in test_early_nvram2()
123 TPM_CHECK(tpm_tsc_physical_presence(dev, PRESENCE)); in test_early_nvram2()
124 TPM_CHECK(tpm_nv_write_value(dev, INDEX0, (uint8_t *)&x, sizeof(x))); in test_early_nvram2()
129 static int test_enable(struct udevice *dev) in test_enable() argument
134 tpm_init(dev); in test_enable()
135 TPM_CHECK(TlclStartupIfNeeded(dev)); in test_enable()
136 TPM_CHECK(tpm_self_test_full(dev)); in test_enable()
137 TPM_CHECK(tpm_tsc_physical_presence(dev, PRESENCE)); in test_enable()
138 TPM_CHECK(tpm_get_flags(dev, &disable, &deactivated, NULL)); in test_enable()
140 TPM_CHECK(tpm_physical_enable(dev)); in test_enable()
141 TPM_CHECK(tpm_physical_set_deactivated(dev, 0)); in test_enable()
142 TPM_CHECK(tpm_get_flags(dev, &disable, &deactivated, NULL)); in test_enable()
155 static int test_fast_enable(struct udevice *dev) in test_fast_enable() argument
161 tpm_init(dev); in test_fast_enable()
162 TPM_CHECK(TlclStartupIfNeeded(dev)); in test_fast_enable()
163 TPM_CHECK(tpm_self_test_full(dev)); in test_fast_enable()
164 TPM_CHECK(tpm_tsc_physical_presence(dev, PRESENCE)); in test_fast_enable()
165 TPM_CHECK(tpm_get_flags(dev, &disable, &deactivated, NULL)); in test_fast_enable()
168 TPM_CHECK(tpm_force_clear(dev)); in test_fast_enable()
169 TPM_CHECK(tpm_get_flags(dev, &disable, &deactivated, NULL)); in test_fast_enable()
173 TPM_CHECK(tpm_physical_enable(dev)); in test_fast_enable()
174 TPM_CHECK(tpm_physical_set_deactivated(dev, 0)); in test_fast_enable()
175 TPM_CHECK(tpm_get_flags(dev, &disable, &deactivated, NULL)); in test_fast_enable()
184 static int test_global_lock(struct udevice *dev) in test_global_lock() argument
191 tpm_init(dev); in test_global_lock()
192 TPM_CHECK(TlclStartupIfNeeded(dev)); in test_global_lock()
193 TPM_CHECK(tpm_self_test_full(dev)); in test_global_lock()
194 TPM_CHECK(tpm_tsc_physical_presence(dev, PRESENCE)); in test_global_lock()
195 TPM_CHECK(tpm_nv_read_value(dev, INDEX0, (uint8_t *)&x, sizeof(x))); in test_global_lock()
196 TPM_CHECK(tpm_nv_write_value(dev, INDEX0, (uint8_t *)&zero, in test_global_lock()
198 TPM_CHECK(tpm_nv_read_value(dev, INDEX1, (uint8_t *)&x, sizeof(x))); in test_global_lock()
199 TPM_CHECK(tpm_nv_write_value(dev, INDEX1, (uint8_t *)&zero, in test_global_lock()
201 TPM_CHECK(tpm_set_global_lock(dev)); in test_global_lock()
204 result = tpm_nv_write_value(dev, INDEX0, (uint8_t *)&x, sizeof(x)); in test_global_lock()
206 TPM_CHECK(tpm_nv_read_value(dev, INDEX0, (uint8_t *)&x, sizeof(x))); in test_global_lock()
210 TPM_CHECK(tpm_nv_write_value(dev, INDEX1, (uint8_t *)&x, sizeof(x))); in test_global_lock()
211 TPM_CHECK(tpm_nv_read_value(dev, INDEX1, (uint8_t *)&x, sizeof(x))); in test_global_lock()
214 tpm_tsc_physical_presence(dev, PHYS_PRESENCE); in test_global_lock()
217 result = tpm_nv_write_value(dev, INDEX1, (uint8_t *)&x, sizeof(x)); in test_global_lock()
219 TPM_CHECK(tpm_nv_read_value(dev, INDEX1, (uint8_t *)&x, sizeof(x))); in test_global_lock()
225 static int test_lock(struct udevice *dev) in test_lock() argument
228 tpm_init(dev); in test_lock()
229 tpm_startup(dev, TPM_ST_CLEAR); in test_lock()
230 tpm_self_test_full(dev); in test_lock()
231 tpm_tsc_physical_presence(dev, PRESENCE); in test_lock()
232 tpm_nv_write_value_lock(dev, INDEX0); in test_lock()
238 static void initialise_spaces(struct udevice *dev) in initialise_spaces() argument
244 tpm1_nv_set_locked(dev); /* useful only the first time */ in initialise_spaces()
245 tpm1_nv_define_space(dev, INDEX0, perm, 4); in initialise_spaces()
246 tpm_nv_write_value(dev, INDEX0, (uint8_t *)&zero, 4); in initialise_spaces()
247 tpm1_nv_define_space(dev, INDEX1, perm, 4); in initialise_spaces()
248 tpm_nv_write_value(dev, INDEX1, (uint8_t *)&zero, 4); in initialise_spaces()
249 tpm1_nv_define_space(dev, INDEX2, perm, 4); in initialise_spaces()
250 tpm_nv_write_value(dev, INDEX2, (uint8_t *)&zero, 4); in initialise_spaces()
251 tpm1_nv_define_space(dev, INDEX3, perm, 4); in initialise_spaces()
252 tpm_nv_write_value(dev, INDEX3, (uint8_t *)&zero, 4); in initialise_spaces()
255 tpm1_nv_define_space(dev, INDEX_INITIALISED, perm, 1); in initialise_spaces()
258 static int test_readonly(struct udevice *dev) in test_readonly() argument
265 tpm_init(dev); in test_readonly()
266 tpm_startup(dev, TPM_ST_CLEAR); in test_readonly()
267 tpm_self_test_full(dev); in test_readonly()
268 tpm_tsc_physical_presence(dev, PRESENCE); in test_readonly()
273 if (tpm_nv_read_value(dev, INDEX_INITIALISED, &c, 0) == TPM_BADINDEX) { in test_readonly()
275 initialise_spaces(dev); in test_readonly()
279 read0 = tpm_nv_read_value(dev, INDEX0, (uint8_t *)&index_0, in test_readonly()
281 read1 = tpm_nv_read_value(dev, INDEX1, (uint8_t *)&index_1, in test_readonly()
283 read2 = tpm_nv_read_value(dev, INDEX2, (uint8_t *)&index_2, in test_readonly()
285 read3 = tpm_nv_read_value(dev, INDEX3, (uint8_t *)&index_3, in test_readonly()
297 if (tpm_nv_write_value(dev, INDEX0, (uint8_t *)&index_0, in test_readonly()
302 tpm_nv_write_value_lock(dev, INDEX0); in test_readonly()
303 if (tpm_nv_write_value(dev, INDEX0, (uint8_t *)&index_0, in test_readonly()
312 static int test_redefine_unowned(struct udevice *dev) in test_redefine_unowned() argument
319 tpm_init(dev); in test_redefine_unowned()
320 TPM_CHECK(TlclStartupIfNeeded(dev)); in test_redefine_unowned()
321 TPM_CHECK(tpm_self_test_full(dev)); in test_redefine_unowned()
322 TPM_CHECK(tpm_tsc_physical_presence(dev, PRESENCE)); in test_redefine_unowned()
323 assert(!tpm_is_owned(dev)); in test_redefine_unowned()
326 TPM_CHECK(tpm_nv_read_value(dev, INDEX0, (uint8_t *)&x, sizeof(x))); in test_redefine_unowned()
327 TPM_CHECK(tpm_nv_read_value(dev, INDEX1, (uint8_t *)&x, sizeof(x))); in test_redefine_unowned()
331 TPM_CHECK(tpm1_nv_define_space(dev, INDEX0, perm, in test_redefine_unowned()
333 TPM_CHECK(tpm1_nv_define_space(dev, INDEX0, perm, sizeof(uint32_t))); in test_redefine_unowned()
335 TPM_CHECK(tpm1_nv_define_space(dev, INDEX1, perm, in test_redefine_unowned()
337 TPM_CHECK(tpm1_nv_define_space(dev, INDEX1, perm, sizeof(uint32_t))); in test_redefine_unowned()
340 tpm_set_global_lock(dev); in test_redefine_unowned()
343 result = tpm1_nv_define_space(dev, INDEX0, perm, sizeof(uint32_t)); in test_redefine_unowned()
347 TPM_CHECK(tpm1_nv_define_space(dev, INDEX1, perm, in test_redefine_unowned()
349 TPM_CHECK(tpm1_nv_define_space(dev, INDEX1, perm, sizeof(uint32_t))); in test_redefine_unowned()
352 tpm_tsc_physical_presence(dev, PHYS_PRESENCE); in test_redefine_unowned()
355 result = tpm1_nv_define_space(dev, INDEX0, perm, sizeof(uint32_t)); in test_redefine_unowned()
357 result = tpm1_nv_define_space(dev, INDEX1, perm, sizeof(uint32_t)); in test_redefine_unowned()
367 static int test_space_perm(struct udevice *dev) in test_space_perm() argument
372 tpm_init(dev); in test_space_perm()
373 TPM_CHECK(TlclStartupIfNeeded(dev)); in test_space_perm()
374 TPM_CHECK(tpm_continue_self_test(dev)); in test_space_perm()
375 TPM_CHECK(tpm_tsc_physical_presence(dev, PRESENCE)); in test_space_perm()
376 TPM_CHECK(tpm_get_permissions(dev, INDEX0, &perm)); in test_space_perm()
378 TPM_CHECK(tpm_get_permissions(dev, INDEX1, &perm)); in test_space_perm()
384 static int test_startup(struct udevice *dev) in test_startup() argument
390 tpm_init(dev); in test_startup()
391 result = tpm_startup(dev, TPM_ST_CLEAR); in test_startup()
394 result = tpm_get_flags(dev, NULL, NULL, NULL); in test_startup()
398 tpm_self_test_full(dev); in test_startup()
399 result = tpm_get_flags(dev, NULL, NULL, NULL); in test_startup()
427 static int test_timing(struct udevice *dev) in test_timing() argument
433 tpm_init(dev); in test_timing()
434 TTPM_CHECK(TlclStartupIfNeeded(dev), 50); in test_timing()
435 TTPM_CHECK(tpm_continue_self_test(dev), 100); in test_timing()
436 TTPM_CHECK(tpm_self_test_full(dev), 1000); in test_timing()
437 TTPM_CHECK(tpm_tsc_physical_presence(dev, PRESENCE), 100); in test_timing()
438 TTPM_CHECK(tpm_nv_write_value(dev, INDEX0, (uint8_t *)&x, sizeof(x)), in test_timing()
440 TTPM_CHECK(tpm_nv_read_value(dev, INDEX0, (uint8_t *)&x, sizeof(x)), in test_timing()
442 TTPM_CHECK(tpm_pcr_extend(dev, 0, in, sizeof(in), out, "test"), 200); in test_timing()
443 TTPM_CHECK(tpm_set_global_lock(dev), 50); in test_timing()
444 TTPM_CHECK(tpm_tsc_physical_presence(dev, PHYS_PRESENCE), 100); in test_timing()
451 static int test_write_limit(struct udevice *dev) in test_write_limit() argument
457 tpm_init(dev); in test_write_limit()
458 TPM_CHECK(TlclStartupIfNeeded(dev)); in test_write_limit()
459 TPM_CHECK(tpm_self_test_full(dev)); in test_write_limit()
460 TPM_CHECK(tpm_tsc_physical_presence(dev, PRESENCE)); in test_write_limit()
461 TPM_CHECK(tpm_force_clear(dev)); in test_write_limit()
462 TPM_CHECK(tpm_physical_enable(dev)); in test_write_limit()
463 TPM_CHECK(tpm_physical_set_deactivated(dev, 0)); in test_write_limit()
467 result = tpm_nv_write_value(dev, INDEX0, (uint8_t *)&i, in test_write_limit()
482 TPM_CHECK(tpm_force_clear(dev)); in test_write_limit()
483 TPM_CHECK(tpm_physical_enable(dev)); in test_write_limit()
484 TPM_CHECK(tpm_physical_set_deactivated(dev, 0)); in test_write_limit()
487 TPM_CHECK(tpm_nv_write_value(dev, INDEX0, (uint8_t *)&i, sizeof(i))); in test_write_limit()
496 struct udevice *dev; \
499 ret = get_tpm(&dev); \
502 return test_##XFUNC(dev); \