Lines Matching refs:dev

34 static uint32_t TlclStartupIfNeeded(struct udevice *dev)  in TlclStartupIfNeeded()  argument
36 uint32_t result = tpm_startup(dev, TPM_ST_CLEAR); in TlclStartupIfNeeded()
41 static int test_timer(struct udevice *dev) in test_timer() argument
47 static uint32_t tpm_get_flags(struct udevice *dev, uint8_t *disable, in tpm_get_flags() argument
53 result = tpm1_get_permanent_flags(dev, &pflags); in tpm_get_flags()
68 static uint32_t tpm_nv_write_value_lock(struct udevice *dev, uint32_t index) in tpm_nv_write_value_lock() argument
72 return tpm_nv_write_value(dev, index, NULL, 0); in tpm_nv_write_value_lock()
75 static int tpm_is_owned(struct udevice *dev) in tpm_is_owned() argument
80 result = tpm_read_pubek(dev, response, sizeof(response)); in tpm_is_owned()
85 static int test_early_extend(struct udevice *dev) in test_early_extend() argument
91 tpm_init(dev); in test_early_extend()
92 TPM_CHECK(tpm_startup(dev, TPM_ST_CLEAR)); in test_early_extend()
93 TPM_CHECK(tpm_continue_self_test(dev)); in test_early_extend()
94 TPM_CHECK(tpm_pcr_extend(dev, 1, value_in, sizeof(value_in), value_out, in test_early_extend()
100 static int test_early_nvram(struct udevice *dev) in test_early_nvram() argument
105 tpm_init(dev); in test_early_nvram()
106 TPM_CHECK(tpm_startup(dev, TPM_ST_CLEAR)); in test_early_nvram()
107 TPM_CHECK(tpm_continue_self_test(dev)); in test_early_nvram()
108 TPM_CHECK(tpm_tsc_physical_presence(dev, PRESENCE)); in test_early_nvram()
109 TPM_CHECK(tpm_nv_read_value(dev, INDEX0, (uint8_t *)&x, sizeof(x))); in test_early_nvram()
114 static int test_early_nvram2(struct udevice *dev) in test_early_nvram2() argument
119 tpm_init(dev); in test_early_nvram2()
120 TPM_CHECK(tpm_startup(dev, TPM_ST_CLEAR)); in test_early_nvram2()
121 TPM_CHECK(tpm_continue_self_test(dev)); in test_early_nvram2()
122 TPM_CHECK(tpm_tsc_physical_presence(dev, PRESENCE)); in test_early_nvram2()
123 TPM_CHECK(tpm_nv_write_value(dev, INDEX0, (uint8_t *)&x, sizeof(x))); in test_early_nvram2()
128 static int test_enable(struct udevice *dev) in test_enable() argument
133 tpm_init(dev); in test_enable()
134 TPM_CHECK(TlclStartupIfNeeded(dev)); in test_enable()
135 TPM_CHECK(tpm_self_test_full(dev)); in test_enable()
136 TPM_CHECK(tpm_tsc_physical_presence(dev, PRESENCE)); in test_enable()
137 TPM_CHECK(tpm_get_flags(dev, &disable, &deactivated, NULL)); in test_enable()
139 TPM_CHECK(tpm_physical_enable(dev)); in test_enable()
140 TPM_CHECK(tpm_physical_set_deactivated(dev, 0)); in test_enable()
141 TPM_CHECK(tpm_get_flags(dev, &disable, &deactivated, NULL)); in test_enable()
154 static int test_fast_enable(struct udevice *dev) in test_fast_enable() argument
160 tpm_init(dev); in test_fast_enable()
161 TPM_CHECK(TlclStartupIfNeeded(dev)); in test_fast_enable()
162 TPM_CHECK(tpm_self_test_full(dev)); in test_fast_enable()
163 TPM_CHECK(tpm_tsc_physical_presence(dev, PRESENCE)); in test_fast_enable()
164 TPM_CHECK(tpm_get_flags(dev, &disable, &deactivated, NULL)); in test_fast_enable()
167 TPM_CHECK(tpm_force_clear(dev)); in test_fast_enable()
168 TPM_CHECK(tpm_get_flags(dev, &disable, &deactivated, NULL)); in test_fast_enable()
172 TPM_CHECK(tpm_physical_enable(dev)); in test_fast_enable()
173 TPM_CHECK(tpm_physical_set_deactivated(dev, 0)); in test_fast_enable()
174 TPM_CHECK(tpm_get_flags(dev, &disable, &deactivated, NULL)); in test_fast_enable()
183 static int test_global_lock(struct udevice *dev) in test_global_lock() argument
190 tpm_init(dev); in test_global_lock()
191 TPM_CHECK(TlclStartupIfNeeded(dev)); in test_global_lock()
192 TPM_CHECK(tpm_self_test_full(dev)); in test_global_lock()
193 TPM_CHECK(tpm_tsc_physical_presence(dev, PRESENCE)); in test_global_lock()
194 TPM_CHECK(tpm_nv_read_value(dev, INDEX0, (uint8_t *)&x, sizeof(x))); in test_global_lock()
195 TPM_CHECK(tpm_nv_write_value(dev, INDEX0, (uint8_t *)&zero, in test_global_lock()
197 TPM_CHECK(tpm_nv_read_value(dev, INDEX1, (uint8_t *)&x, sizeof(x))); in test_global_lock()
198 TPM_CHECK(tpm_nv_write_value(dev, INDEX1, (uint8_t *)&zero, in test_global_lock()
200 TPM_CHECK(tpm_set_global_lock(dev)); in test_global_lock()
203 result = tpm_nv_write_value(dev, INDEX0, (uint8_t *)&x, sizeof(x)); in test_global_lock()
205 TPM_CHECK(tpm_nv_read_value(dev, INDEX0, (uint8_t *)&x, sizeof(x))); in test_global_lock()
209 TPM_CHECK(tpm_nv_write_value(dev, INDEX1, (uint8_t *)&x, sizeof(x))); in test_global_lock()
210 TPM_CHECK(tpm_nv_read_value(dev, INDEX1, (uint8_t *)&x, sizeof(x))); in test_global_lock()
213 tpm_tsc_physical_presence(dev, PHYS_PRESENCE); in test_global_lock()
216 result = tpm_nv_write_value(dev, INDEX1, (uint8_t *)&x, sizeof(x)); in test_global_lock()
218 TPM_CHECK(tpm_nv_read_value(dev, INDEX1, (uint8_t *)&x, sizeof(x))); in test_global_lock()
224 static int test_lock(struct udevice *dev) in test_lock() argument
227 tpm_init(dev); in test_lock()
228 tpm_startup(dev, TPM_ST_CLEAR); in test_lock()
229 tpm_self_test_full(dev); in test_lock()
230 tpm_tsc_physical_presence(dev, PRESENCE); in test_lock()
231 tpm_nv_write_value_lock(dev, INDEX0); in test_lock()
237 static void initialise_spaces(struct udevice *dev) in initialise_spaces() argument
243 tpm1_nv_set_locked(dev); /* useful only the first time */ in initialise_spaces()
244 tpm1_nv_define_space(dev, INDEX0, perm, 4); in initialise_spaces()
245 tpm_nv_write_value(dev, INDEX0, (uint8_t *)&zero, 4); in initialise_spaces()
246 tpm1_nv_define_space(dev, INDEX1, perm, 4); in initialise_spaces()
247 tpm_nv_write_value(dev, INDEX1, (uint8_t *)&zero, 4); in initialise_spaces()
248 tpm1_nv_define_space(dev, INDEX2, perm, 4); in initialise_spaces()
249 tpm_nv_write_value(dev, INDEX2, (uint8_t *)&zero, 4); in initialise_spaces()
250 tpm1_nv_define_space(dev, INDEX3, perm, 4); in initialise_spaces()
251 tpm_nv_write_value(dev, INDEX3, (uint8_t *)&zero, 4); in initialise_spaces()
254 tpm1_nv_define_space(dev, INDEX_INITIALISED, perm, 1); in initialise_spaces()
257 static int test_readonly(struct udevice *dev) in test_readonly() argument
264 tpm_init(dev); in test_readonly()
265 tpm_startup(dev, TPM_ST_CLEAR); in test_readonly()
266 tpm_self_test_full(dev); in test_readonly()
267 tpm_tsc_physical_presence(dev, PRESENCE); in test_readonly()
272 if (tpm_nv_read_value(dev, INDEX_INITIALISED, &c, 0) == TPM_BADINDEX) { in test_readonly()
274 initialise_spaces(dev); in test_readonly()
278 read0 = tpm_nv_read_value(dev, INDEX0, (uint8_t *)&index_0, in test_readonly()
280 read1 = tpm_nv_read_value(dev, INDEX1, (uint8_t *)&index_1, in test_readonly()
282 read2 = tpm_nv_read_value(dev, INDEX2, (uint8_t *)&index_2, in test_readonly()
284 read3 = tpm_nv_read_value(dev, INDEX3, (uint8_t *)&index_3, in test_readonly()
296 if (tpm_nv_write_value(dev, INDEX0, (uint8_t *)&index_0, in test_readonly()
301 tpm_nv_write_value_lock(dev, INDEX0); in test_readonly()
302 if (tpm_nv_write_value(dev, INDEX0, (uint8_t *)&index_0, in test_readonly()
311 static int test_redefine_unowned(struct udevice *dev) in test_redefine_unowned() argument
318 tpm_init(dev); in test_redefine_unowned()
319 TPM_CHECK(TlclStartupIfNeeded(dev)); in test_redefine_unowned()
320 TPM_CHECK(tpm_self_test_full(dev)); in test_redefine_unowned()
321 TPM_CHECK(tpm_tsc_physical_presence(dev, PRESENCE)); in test_redefine_unowned()
322 assert(!tpm_is_owned(dev)); in test_redefine_unowned()
325 TPM_CHECK(tpm_nv_read_value(dev, INDEX0, (uint8_t *)&x, sizeof(x))); in test_redefine_unowned()
326 TPM_CHECK(tpm_nv_read_value(dev, INDEX1, (uint8_t *)&x, sizeof(x))); in test_redefine_unowned()
330 TPM_CHECK(tpm1_nv_define_space(dev, INDEX0, perm, in test_redefine_unowned()
332 TPM_CHECK(tpm1_nv_define_space(dev, INDEX0, perm, sizeof(uint32_t))); in test_redefine_unowned()
334 TPM_CHECK(tpm1_nv_define_space(dev, INDEX1, perm, in test_redefine_unowned()
336 TPM_CHECK(tpm1_nv_define_space(dev, INDEX1, perm, sizeof(uint32_t))); in test_redefine_unowned()
339 tpm_set_global_lock(dev); in test_redefine_unowned()
342 result = tpm1_nv_define_space(dev, INDEX0, perm, sizeof(uint32_t)); in test_redefine_unowned()
346 TPM_CHECK(tpm1_nv_define_space(dev, INDEX1, perm, in test_redefine_unowned()
348 TPM_CHECK(tpm1_nv_define_space(dev, INDEX1, perm, sizeof(uint32_t))); in test_redefine_unowned()
351 tpm_tsc_physical_presence(dev, PHYS_PRESENCE); in test_redefine_unowned()
354 result = tpm1_nv_define_space(dev, INDEX0, perm, sizeof(uint32_t)); in test_redefine_unowned()
356 result = tpm1_nv_define_space(dev, INDEX1, perm, sizeof(uint32_t)); in test_redefine_unowned()
366 static int test_space_perm(struct udevice *dev) in test_space_perm() argument
371 tpm_init(dev); in test_space_perm()
372 TPM_CHECK(TlclStartupIfNeeded(dev)); in test_space_perm()
373 TPM_CHECK(tpm_continue_self_test(dev)); in test_space_perm()
374 TPM_CHECK(tpm_tsc_physical_presence(dev, PRESENCE)); in test_space_perm()
375 TPM_CHECK(tpm_get_permissions(dev, INDEX0, &perm)); in test_space_perm()
377 TPM_CHECK(tpm_get_permissions(dev, INDEX1, &perm)); in test_space_perm()
383 static int test_startup(struct udevice *dev) in test_startup() argument
389 tpm_init(dev); in test_startup()
390 result = tpm_startup(dev, TPM_ST_CLEAR); in test_startup()
393 result = tpm_get_flags(dev, NULL, NULL, NULL); in test_startup()
397 tpm_self_test_full(dev); in test_startup()
398 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); \