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, value_out)); in test_early_extend()
99 static int test_early_nvram(struct udevice *dev) in test_early_nvram() argument
104 tpm_init(dev); in test_early_nvram()
105 TPM_CHECK(tpm_startup(dev, TPM_ST_CLEAR)); in test_early_nvram()
106 TPM_CHECK(tpm_continue_self_test(dev)); in test_early_nvram()
107 TPM_CHECK(tpm_tsc_physical_presence(dev, PRESENCE)); in test_early_nvram()
108 TPM_CHECK(tpm_nv_read_value(dev, INDEX0, (uint8_t *)&x, sizeof(x))); in test_early_nvram()
113 static int test_early_nvram2(struct udevice *dev) in test_early_nvram2() argument
118 tpm_init(dev); in test_early_nvram2()
119 TPM_CHECK(tpm_startup(dev, TPM_ST_CLEAR)); in test_early_nvram2()
120 TPM_CHECK(tpm_continue_self_test(dev)); in test_early_nvram2()
121 TPM_CHECK(tpm_tsc_physical_presence(dev, PRESENCE)); in test_early_nvram2()
122 TPM_CHECK(tpm_nv_write_value(dev, INDEX0, (uint8_t *)&x, sizeof(x))); in test_early_nvram2()
127 static int test_enable(struct udevice *dev) in test_enable() argument
132 tpm_init(dev); in test_enable()
133 TPM_CHECK(TlclStartupIfNeeded(dev)); in test_enable()
134 TPM_CHECK(tpm_self_test_full(dev)); in test_enable()
135 TPM_CHECK(tpm_tsc_physical_presence(dev, PRESENCE)); in test_enable()
136 TPM_CHECK(tpm_get_flags(dev, &disable, &deactivated, NULL)); in test_enable()
138 TPM_CHECK(tpm_physical_enable(dev)); in test_enable()
139 TPM_CHECK(tpm_physical_set_deactivated(dev, 0)); in test_enable()
140 TPM_CHECK(tpm_get_flags(dev, &disable, &deactivated, NULL)); in test_enable()
153 static int test_fast_enable(struct udevice *dev) in test_fast_enable() argument
159 tpm_init(dev); in test_fast_enable()
160 TPM_CHECK(TlclStartupIfNeeded(dev)); in test_fast_enable()
161 TPM_CHECK(tpm_self_test_full(dev)); in test_fast_enable()
162 TPM_CHECK(tpm_tsc_physical_presence(dev, PRESENCE)); in test_fast_enable()
163 TPM_CHECK(tpm_get_flags(dev, &disable, &deactivated, NULL)); in test_fast_enable()
166 TPM_CHECK(tpm_force_clear(dev)); in test_fast_enable()
167 TPM_CHECK(tpm_get_flags(dev, &disable, &deactivated, NULL)); in test_fast_enable()
171 TPM_CHECK(tpm_physical_enable(dev)); in test_fast_enable()
172 TPM_CHECK(tpm_physical_set_deactivated(dev, 0)); in test_fast_enable()
173 TPM_CHECK(tpm_get_flags(dev, &disable, &deactivated, NULL)); in test_fast_enable()
182 static int test_global_lock(struct udevice *dev) in test_global_lock() argument
189 tpm_init(dev); in test_global_lock()
190 TPM_CHECK(TlclStartupIfNeeded(dev)); in test_global_lock()
191 TPM_CHECK(tpm_self_test_full(dev)); in test_global_lock()
192 TPM_CHECK(tpm_tsc_physical_presence(dev, PRESENCE)); in test_global_lock()
193 TPM_CHECK(tpm_nv_read_value(dev, INDEX0, (uint8_t *)&x, sizeof(x))); in test_global_lock()
194 TPM_CHECK(tpm_nv_write_value(dev, INDEX0, (uint8_t *)&zero, in test_global_lock()
196 TPM_CHECK(tpm_nv_read_value(dev, INDEX1, (uint8_t *)&x, sizeof(x))); in test_global_lock()
197 TPM_CHECK(tpm_nv_write_value(dev, INDEX1, (uint8_t *)&zero, in test_global_lock()
199 TPM_CHECK(tpm_set_global_lock(dev)); in test_global_lock()
202 result = tpm_nv_write_value(dev, INDEX0, (uint8_t *)&x, sizeof(x)); in test_global_lock()
204 TPM_CHECK(tpm_nv_read_value(dev, INDEX0, (uint8_t *)&x, sizeof(x))); in test_global_lock()
208 TPM_CHECK(tpm_nv_write_value(dev, INDEX1, (uint8_t *)&x, sizeof(x))); in test_global_lock()
209 TPM_CHECK(tpm_nv_read_value(dev, INDEX1, (uint8_t *)&x, sizeof(x))); in test_global_lock()
212 tpm_tsc_physical_presence(dev, PHYS_PRESENCE); in test_global_lock()
215 result = tpm_nv_write_value(dev, INDEX1, (uint8_t *)&x, sizeof(x)); in test_global_lock()
217 TPM_CHECK(tpm_nv_read_value(dev, INDEX1, (uint8_t *)&x, sizeof(x))); in test_global_lock()
223 static int test_lock(struct udevice *dev) in test_lock() argument
226 tpm_init(dev); in test_lock()
227 tpm_startup(dev, TPM_ST_CLEAR); in test_lock()
228 tpm_self_test_full(dev); in test_lock()
229 tpm_tsc_physical_presence(dev, PRESENCE); in test_lock()
230 tpm_nv_write_value_lock(dev, INDEX0); in test_lock()
236 static void initialise_spaces(struct udevice *dev) in initialise_spaces() argument
242 tpm1_nv_set_locked(dev); /* useful only the first time */ in initialise_spaces()
243 tpm1_nv_define_space(dev, INDEX0, perm, 4); in initialise_spaces()
244 tpm_nv_write_value(dev, INDEX0, (uint8_t *)&zero, 4); in initialise_spaces()
245 tpm1_nv_define_space(dev, INDEX1, perm, 4); in initialise_spaces()
246 tpm_nv_write_value(dev, INDEX1, (uint8_t *)&zero, 4); in initialise_spaces()
247 tpm1_nv_define_space(dev, INDEX2, perm, 4); in initialise_spaces()
248 tpm_nv_write_value(dev, INDEX2, (uint8_t *)&zero, 4); in initialise_spaces()
249 tpm1_nv_define_space(dev, INDEX3, perm, 4); in initialise_spaces()
250 tpm_nv_write_value(dev, INDEX3, (uint8_t *)&zero, 4); in initialise_spaces()
253 tpm1_nv_define_space(dev, INDEX_INITIALISED, perm, 1); in initialise_spaces()
256 static int test_readonly(struct udevice *dev) in test_readonly() argument
263 tpm_init(dev); in test_readonly()
264 tpm_startup(dev, TPM_ST_CLEAR); in test_readonly()
265 tpm_self_test_full(dev); in test_readonly()
266 tpm_tsc_physical_presence(dev, PRESENCE); in test_readonly()
271 if (tpm_nv_read_value(dev, INDEX_INITIALISED, &c, 0) == TPM_BADINDEX) { in test_readonly()
273 initialise_spaces(dev); in test_readonly()
277 read0 = tpm_nv_read_value(dev, INDEX0, (uint8_t *)&index_0, in test_readonly()
279 read1 = tpm_nv_read_value(dev, INDEX1, (uint8_t *)&index_1, in test_readonly()
281 read2 = tpm_nv_read_value(dev, INDEX2, (uint8_t *)&index_2, in test_readonly()
283 read3 = tpm_nv_read_value(dev, INDEX3, (uint8_t *)&index_3, in test_readonly()
295 if (tpm_nv_write_value(dev, INDEX0, (uint8_t *)&index_0, in test_readonly()
300 tpm_nv_write_value_lock(dev, INDEX0); in test_readonly()
301 if (tpm_nv_write_value(dev, INDEX0, (uint8_t *)&index_0, in test_readonly()
310 static int test_redefine_unowned(struct udevice *dev) in test_redefine_unowned() argument
317 tpm_init(dev); in test_redefine_unowned()
318 TPM_CHECK(TlclStartupIfNeeded(dev)); in test_redefine_unowned()
319 TPM_CHECK(tpm_self_test_full(dev)); in test_redefine_unowned()
320 TPM_CHECK(tpm_tsc_physical_presence(dev, PRESENCE)); in test_redefine_unowned()
321 assert(!tpm_is_owned(dev)); in test_redefine_unowned()
324 TPM_CHECK(tpm_nv_read_value(dev, INDEX0, (uint8_t *)&x, sizeof(x))); in test_redefine_unowned()
325 TPM_CHECK(tpm_nv_read_value(dev, INDEX1, (uint8_t *)&x, sizeof(x))); in test_redefine_unowned()
329 TPM_CHECK(tpm1_nv_define_space(dev, INDEX0, perm, in test_redefine_unowned()
331 TPM_CHECK(tpm1_nv_define_space(dev, INDEX0, perm, sizeof(uint32_t))); in test_redefine_unowned()
333 TPM_CHECK(tpm1_nv_define_space(dev, INDEX1, perm, in test_redefine_unowned()
335 TPM_CHECK(tpm1_nv_define_space(dev, INDEX1, perm, sizeof(uint32_t))); in test_redefine_unowned()
338 tpm_set_global_lock(dev); in test_redefine_unowned()
341 result = tpm1_nv_define_space(dev, INDEX0, perm, sizeof(uint32_t)); in test_redefine_unowned()
345 TPM_CHECK(tpm1_nv_define_space(dev, INDEX1, perm, in test_redefine_unowned()
347 TPM_CHECK(tpm1_nv_define_space(dev, INDEX1, perm, sizeof(uint32_t))); in test_redefine_unowned()
350 tpm_tsc_physical_presence(dev, PHYS_PRESENCE); in test_redefine_unowned()
353 result = tpm1_nv_define_space(dev, INDEX0, perm, sizeof(uint32_t)); in test_redefine_unowned()
355 result = tpm1_nv_define_space(dev, INDEX1, perm, sizeof(uint32_t)); in test_redefine_unowned()
365 static int test_space_perm(struct udevice *dev) in test_space_perm() argument
370 tpm_init(dev); in test_space_perm()
371 TPM_CHECK(TlclStartupIfNeeded(dev)); in test_space_perm()
372 TPM_CHECK(tpm_continue_self_test(dev)); in test_space_perm()
373 TPM_CHECK(tpm_tsc_physical_presence(dev, PRESENCE)); in test_space_perm()
374 TPM_CHECK(tpm_get_permissions(dev, INDEX0, &perm)); in test_space_perm()
376 TPM_CHECK(tpm_get_permissions(dev, INDEX1, &perm)); in test_space_perm()
382 static int test_startup(struct udevice *dev) in test_startup() argument
388 tpm_init(dev); in test_startup()
389 result = tpm_startup(dev, TPM_ST_CLEAR); in test_startup()
392 result = tpm_get_flags(dev, NULL, NULL, NULL); in test_startup()
396 tpm_self_test_full(dev); in test_startup()
397 result = tpm_get_flags(dev, NULL, NULL, NULL); in test_startup()
426 static int test_timing(struct udevice *dev) in test_timing() argument
432 tpm_init(dev); in test_timing()
433 TTPM_CHECK(TlclStartupIfNeeded(dev), 50); in test_timing()
434 TTPM_CHECK(tpm_continue_self_test(dev), 100); in test_timing()
435 TTPM_CHECK(tpm_self_test_full(dev), 1000); in test_timing()
436 TTPM_CHECK(tpm_tsc_physical_presence(dev, PRESENCE), 100); in test_timing()
437 TTPM_CHECK(tpm_nv_write_value(dev, INDEX0, (uint8_t *)&x, sizeof(x)), in test_timing()
439 TTPM_CHECK(tpm_nv_read_value(dev, INDEX0, (uint8_t *)&x, sizeof(x)), in test_timing()
441 TTPM_CHECK(tpm_pcr_extend(dev, 0, in, out), 200); in test_timing()
442 TTPM_CHECK(tpm_set_global_lock(dev), 50); in test_timing()
443 TTPM_CHECK(tpm_tsc_physical_presence(dev, PHYS_PRESENCE), 100); in test_timing()
450 static int test_write_limit(struct udevice *dev) in test_write_limit() argument
456 tpm_init(dev); in test_write_limit()
457 TPM_CHECK(TlclStartupIfNeeded(dev)); in test_write_limit()
458 TPM_CHECK(tpm_self_test_full(dev)); in test_write_limit()
459 TPM_CHECK(tpm_tsc_physical_presence(dev, PRESENCE)); in test_write_limit()
460 TPM_CHECK(tpm_force_clear(dev)); in test_write_limit()
461 TPM_CHECK(tpm_physical_enable(dev)); in test_write_limit()
462 TPM_CHECK(tpm_physical_set_deactivated(dev, 0)); in test_write_limit()
466 result = tpm_nv_write_value(dev, INDEX0, (uint8_t *)&i, in test_write_limit()
480 TPM_CHECK(tpm_force_clear(dev)); in test_write_limit()
481 TPM_CHECK(tpm_physical_enable(dev)); in test_write_limit()
482 TPM_CHECK(tpm_physical_set_deactivated(dev, 0)); in test_write_limit()
485 TPM_CHECK(tpm_nv_write_value(dev, INDEX0, (uint8_t *)&i, sizeof(i))); in test_write_limit()
494 struct udevice *dev; \
497 ret = get_tpm(&dev); \
500 return test_##XFUNC(dev); \